区块链的共识机制通常包含了两个方面:
l 达成共识的计算机算法,即共识算法(Consensus Algorithm)
l 达成共识的规则,即共识规则(Consensus Rule)
我们经常说的“共识机制”,多数情况下同时包含了共识算法和共识规则,少数情况下单指其中一方。这是导致我们的讨论经常发生穿越的原因之一。
百度云:由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。
这里解释的其实只是共识算法,也就是节点依照共识规则达成共识的计算机算法。
而共识规则(Consensus Rule)则是指每个区块链里面都有自己精心设计好的规则性协议,这些协议通过共识算法来保证它们可靠地得以执行。譬如我们通常所说的比特币的挖矿,就是比特币记账的共识规则,其专业术语为PoW(Proof of Work),即工作量证明。
比特币的工作量证明共识规则是通过SHA(Secure Hash Algorithm)系列安全散列算法之一的SHA256来可靠地得到执行的。
区块链账本或者数据的记录和维护是去中心化的,也就是往往有很多个记账节点。比特币或是以太坊这样的公有区块链,已有成千上万个记账节点。这些记账节点必须对所有区块有效性的验证都能达成共识。缺乏良好的共识机制,交易的验证就陷入混乱,对应的区块链也就会沦为投机者的温床,甚至是骗子和黑客的狂欢盛宴。因此共识机制对于区块链来说至关重要!
区块链有很多的共识机制,根本原因在于只要让人来做决策,就可能发生恶意的破坏行为,因此我们认为区块链最终的共识机制可能得寄托于人工智能。