共识机制
- 两个节点同时完成工作量证明,使用谁的区块?
无仲裁机构裁决
都说用我的区块
- 为什么要遵守协议?
结点工作量只有在其它的结点认同其才是有效的
- 累计工作量最大的区块链
独立
延长最长链
- 分叉
出现分叉情况下,以工作量大的区块优先,如果都收到,则将其作为备用链保存,但是已经出现了两条链分叉情况
- 分叉解决
先前链条如果长度没有后面收到的链条长,则将被取代,即长度优先。
一种特殊情况,由于网络传播延时和不确定,如果先收到链的最后一位而没有补齐前链,则将其作为孤块保存下来。
1 | 比特币将出块间隔设置为十分钟,是为了在更快的交易确认和更低的分叉确认间作出妥协,更短的区块间隔会让交易确认更快完成,但也会导致更加频繁的导致分叉,反之长链会减少分叉但也会延长交易的确认时间。 |
总结
如果两个结点同时完成工作量证明,采用工作量最大的链作为主链,完整的机制是工作量证明加最长链选择