BTC协议
数字货币在实际使用中面临的问题
央行是怎么发行有法币备书的纸质货币的?
- 铸币厂印制有央行设计的各种防伪标记的货币,你买东西的时候把纸币给商家换取商铺,你把纸质货币给了了别人,你就没有了。
那么数字货币用防伪标记行不行呢?比如央行发行的数字货币都有央行的私钥签名,公钥是公开的,用了密码学的非对称加密体系。你买东西的时候把数字货币给别人,别人用央行的公钥验证一下证明这确实是央行发行的。那么面临什么问题呢?
Double spending attack
面临双发问题。如果不用到区块链技术,则数字货币可以无限复制。这就是花两次攻击double spending attack(双发攻击),这是数字货币跟纸质货币的根本区别。
现在改进一下,还是央行发行数字货币,每个货币上给个编号,央行来维护数据库,就是一个大的表,上面记录下每个编号的数字货币在谁手里。每次交易都必须向央行报备。这个方案是中心化的方案。每一次交易必须要央行确认才能证明其合法性。
那么我们能不能把央行的职能转移到大众这里,去中心化?
一个去中心化的货币,要解决两个问题:
- 数字货币的发行,谁有权利决定什么时候该发行,发行多少。
- 怎么验证交易的有效性?
谁能发行,由挖矿决定。
现在先讲如何防范双发问题。
数据库由所有用户共同维护,这个技术就是区块链。
谁拥有铸币权?如何验证交易的有效性?
CreateCoin
比如说有一个用户A有了发行货币的权利,这个叫铸币权CreateCoin, 挖矿的来的称为铸币交易。
这个地方用了两种哈希指针,第一种是把两个链表窜起来的说明交易走向,另一种是用来说明货币来源,用来防范double spending attack。验证