共识机制
以下为摘录,提醒自己去学习下
共识机制不是被发现,而是被创造的。这些共识机制分为两类。第一类,社会机制的算法模拟,这种共识机制的技术本质是各种社会组织的一致性问题的分布式系统算法模拟,例如权益证明机制、委任权益证明机制、投注共识机制。第二类,社会问题的算法解决,这种共识机制的技术本质是分布式系统怎样通过算法机制达成通信一致。许多社会问题可以通过抽象成通信问题从而使用算法解决。除了工作量证明之外,目前比较流行的共识机制主要包括:
第一种,模拟公司组织的权益证明(PoS,Proof of Stake)和委任权益证明(DPoS,Delegate Proof of Stake)。两者的规则都是以区块加载的权益为标准分配记账权。不同的是前者将拥有记账权的机会分配给加载权益高的区块,如果该区块没有成功记账,那么该机会分配给剩下区块中权益最高的。后者是前者的一项改进,各区块以所持有的权益作为基础,选举或者委任一个区块获得记账权。被委任的区块成为超级节点。这两种机制与公司股东表决机制相仿。权益证明完全倾向于“大股东”;委任权益证明造成了代理问题。值得讨论的是,尽管区块链尤其是公链的信息是完全透明的,但是在共识层面,委任代理问题仍然存在,并且无法通过算法消除。例如,EOS链规定修改宪法和协议需要21个超级节点中的17个以上同意。超级节点如果协商作恶,那么很难保证全链其他节点的利益。更不要说,一旦选举成为超级节点之后,其权益本身已经出现了增长。
第二种,模拟市场主体合谋的投注共识机制(Gambling on Consensus)。该机制基于保证金激励共识协议(security-deposit based economic consensus protocol),以区块相互之间押注的方式实现数据传输、同步。具体做法是各区块出具保证金押注新设区块,直到所有区块同时押注某一新设区块。各区块可以从押注中获得自身收益。各区块的保证金会因为投注不符合要求、非法节点恶意攻击而被没收。这种共识机制保证了节点博弈是收敛的,其实质是一种社会合作博弈。
第三种,模拟会员俱乐部的瑞波共识机制(Ripple Consensus)。该机制指的是以既定的“超级节点”达成一致作为数据传输、同步的标准。这类似于会员制俱乐部,新成员的进入必须由“超级节点”投票决定。这种决策方式建立在预设的超级节点不会合谋作恶的假设之上,并且会员俱乐部中始终存在超越“一般会员”权限的“超级大佬”。
第四种和第五种共识机制都是以算法解决社会问题抽象出来的通信问题。第四种是处理恶意博弈的实用拜占庭容错机制(PBFT,Practical Byzantine Fault Tolerance)和授权拜占庭容错机制(dBFT,delegated BFT)。前者指的是通过解决拜占庭将军问题的方式实现数据传输、同步。后者对拜占庭容错算法进行了改进,加入了节点投票机制与数字证书。拜占庭容错机制本身是存在恶意博弈方的解决方案,本质上就是利用通信次数换取信用。第五种是解决多中心主体安全高效沟通的POOL验证池机制。这种机制基于传统的分布式一致性算法(Pasox、Raft),配合数字签名等数据验证机制,实现了安全、多中心的商用级共识机制。