千锋老师带你初识区块链共识算法
区块链数据由所有节点共同维护,每个参与维护的节点都能获得一份完整的数据拷贝。所有节点共同维护一条不断增长的链,只能添加记录,不可删除、不可篡改记录,区块链是制作信任的技术。
由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。

在区块链中,往往采用POW(Proof of Work工作量证明机制)或POS(Proof of Stake股权证明机制)或DPOS(Delegated Proof of Stake委托代理股份证明机制)来达成对新增的区块达成共识。
POW这种算法说的简单点,谁提供的区块哈希值越符合系统的需要,谁取得记账权的概率就越大。因为哈希值运算本身是一个概率事件,谁的算力越大,找到符合条件的哈希值的概率就越大。当某个节点提供出一个合理的区块哈希值,说明该节点确实经过了大量的尝试计算,当节点拥有占全网n%的算力时,该节点即有n/100的概率找到哈希值。找到了哈希值,就获取了新增区块的权力。
而POS机制,则是比较每个节点谁持有的数字货币越多,则谁取得记账权的概率越大。
DPOS机制则类似于人民代表大会制度,它的原理是让每一个持有币的节点进行投票,选出一批代表作为超级节点,这些节点一般为矿池,他们的权利是完全对等的,并不因为算力的差异形成差别。如果代表不能履行他们的职责(当轮到他们时,没能生成区块),他们会被除名,网络会选出新的超级节点来取代他们。

