从0到1学习区块链4-共识机制

什么是共识机制
共识机制主要用来解决谁来构造区块(记账),以及如何维护全网数据一致性的问题,选择哪一个区块链作为公认权威的总账本。
对应到分布式系统例如由主节点来写,从节点异步复制,读取的时候从主节点读取,这个机制也是一种共识机制。
区块链中并不是所有的节点都负责记账,但所有的节点都会维持一个账本,除了记账节点,其他节点一般是复制记账结果,加到自己的区块链中。区块链中记账是需要竞争的,这种竞争的机制就是共识机制的一部分,不同的区块链可能采用不同的共识机制。
常见的共识机制
POW(工作量证明机制)
比特币中完成记账的节点可以获得系统给与的一定数量的比特币作为奖励,这个奖励的过程也就是比特币的发行过程,因此大家形象的把记账称为“挖矿”。比特币系统会提供一道难于计算易于验证的证明题,证明者通过大量计算,提交答案后,任何人验证这个答案,就能确信证明者为了求得结果已经完成大量的计算工作,计算能力越强的证明者越有机会更快的完成证明。而第一个证明这就能获得比特币奖励。这就是挖矿。
举个生活中的例子,学业考试,在短时间的考试中正确的答出足够多的题目,说明你的确花费了大量的时间进去学习,而不是碰运气。
由于记账是有奖励的,因此就出现大家争相记账,大家一起记账就会引起问题:出现记账不一致的问题,比特币系统引入工作量证明来解决这个问题,规则如下:
1、挖矿节点节点监听全网交易,通过验证的交易进入节点的内存池(Tx Mem Pool),
尝试不同的随机数(Nonce),进行hash计算,重复该过程至找到合理的hash
2、挖矿节点通过完成工作量证明,获得唯一记账权,将交易记录独立打包进新区块,马上对全网进行广播打包区块
3、每个节点独立的对新区块进行校验(验证交易数据,对账和清算是即时完成的)并组装进区块链
4、每个节点对区块链进行独立选择,在工作量证明机制下选择累计工作量最大的区块链(最长链的选择)作为公认权威的总账本

你可能感兴趣的:(从0到1学习区块链4-共识机制)