比特币的原理和运行机制
1.比特币产生的动机
- 以物易物
- 实物货币(黄金)
- 符号货币(纸币)
- 中央系统虚拟货币
- 分布式虚拟货币(中本聪)
2.基础设施搭建
(1)账簿公开机制
账簿不记录余额,只记录交易。
账簿由私有改为公开。
(2)身份与签名机制(公钥加密系统)
不使用真实身份交易,使用一个唯一的代号进行交易
保密印章 + 印章扫描器
(3)成立虚拟矿工组织(挖矿群体)
- 矿工以组为单位,一组可以是单独的一户,也可以是几户联合成一组
- 成为矿工不影响正常使用货币
- 矿工每天要花费一定的时间从事比特币“挖矿”活动
- 在挖矿的活动中越努力,获得报酬的可能性就越大
- 可以随时退出,也可以随时进入新矿工
(4)建立初始账簿(创世块)
新帐簿的付款人都是“系统”,收款人是印章对应的隐含字符。
新帐簿上系统给每一户默认分配了一定数量的比特币,数量很少,只有几枚,有些甚至没有。
3.支付与交易
- 付款人签署交易单 (付款人 收款人 数量 来源 保密章)
- 收款人确认单据签署人 (确认付款人和盖章人是否一致)
- 收款人确认付款人余额 (由矿工组织负责)
任何使用比特币进行交易的都依赖矿工组织的工作才能完成交易。
4.矿工的工作
(1)矿工的工具
初始账簿(记录了系统的第一次赠送)
空帐簿纸
编码生成器(哈希函数)
编码生成器的功能:
a. 生成的编号只与填写的内容有关
b. 内容相同的帐簿纸生成的编号总是相同
c. 检测所有的填入帐簿纸的交易单,尤其是保密印章和付款人
d. 机器可判断已经打印的帐簿纸的编号是否有效,以及编号和内容是否一致
交易单收件箱
公告板(公示一些信息)
(2)收集交易单
交易的发起人不仅要把交易单给收款人,还要复制一份一摸一样的交易单投递到矿工小组的收件箱里。
(3)填写账簿
矿工拿一张空的帐簿纸,把交易填写到“交易清单”一栏,并且将账簿最后一页的编号抄写到“上一张账单编号”一栏。还一个“幸运数字”,随便填写。然后将帐簿纸放入编号生成器,打印好编号。
只有编号的前10个数均为0,帐簿纸才算有效。(若不是有效的帐簿纸,只能通过不停的修改幸运数字来生成有效的编号)
(4)确认账簿
需要进行确认的信息有3个:
a. 账簿的编号有效 (放入编号生成器进行验证)
b. 账簿的前一页账簿有效
c. 交易清单有效 (付款人是否有足够的余额)
(5)账簿确认反馈
收到其他小组送来的账簿纸,“上一页账簿编号”为自己送出去的帐簿纸,表示工作成功被认可。
任何一个小组新生成有效帐簿纸或者确认了别的小组的帐簿纸时,需要将最新被小组承认的交易写在公告牌上。
5.工作机制分析
核心问题处理
1、同时收到两份合法的账簿该如何处理?
由于各个挖矿小组是并行工作的,所以很有可能出现两份不一样的账簿页,并且都是基于这个小组账簿的最后一页,都是合法的。为了解决这种情况:
中本聪提出:小组应该以树状组织账簿,而不是线性方式,无论何时都以账簿的最长分支作为主账簿,树的其他的分支保留。
2、挖矿小组有人伪造账簿怎么办?double-spending如何解决?
中本聪提出:只要挖矿组织中大多数人诚实,系统就可靠。
理由1:保密印章机制。
理由2:诚实的矿工也不会承认不合法的交易。
唯一的攻击行为:在收款人确认收款后,从另一条分支上建立另外的交易单,取消之前的付款,将同一笔钱付给另外一个人。(double-spnding问题)
攻击者签署交易单,支付应支付的比特币,然后挖矿小组确认了这笔交易,并且进行了公告,收款人看到公告后,确认转账已经完成了,支付给了攻击者等值的黄金。然后攻击者在新帐簿(包含上边被确认的账簿)的前一页做出一个分支,生成更多的账单,使原来的主分支变成旁支,挖矿小组就不承认刚才的转账,收款人的收款确认会被取消,攻击者的比特币又恢复。然后攻击者再次签署交易单,以同样的方式进行下去。我们该如何解决这种情况?
中本聪提出:收款人不要在公告挂出时立即确认交易完成,应该观察一段时间,等各个挖矿小组再挂出6张确认账簿,并且之前的账簿没有被取消时,才确认付给自己的钱到账。
之前的变态的编号规则就是为了防御这一点。
3、比特币一直增加会不会导致通货膨胀?
不会。
开始的时候:每生成一张账簿,奖励小组50个比特币。
然后:每当账簿增加21,000页,奖励减半。
账簿页数 | 0-21,000 | 21,000-42,000 | … | …-6,930,000 |
奖励比特币数 | 50个 | 25 | … | 0 |
备注 | 比特币总量为21,000,000个 |
4、矿工如果越来越多,比特币生成速度会变快不?
不会。
中本聪解释:编码生成器中有调控机制。当前工作的编码生成器越多,机器的效率就会越低,从而保证新账簿页生成的速率不变。
5、如果某个人的代号泄露,账簿又公开,他的隐私岂不泄露了?
确实。但是中本聪说可以提供无限制的保密印章