从PoW到PoS共识机制的发展,其中面临着一个共同的问题「由谁产生区块」,如何安全高效地维护网络的运行,我们将利用两篇章节详细分析其中面临的难题,以及目前业界已有的解决方案和PlatON的解决方案。
区块链技术因其具有去中心化、不可篡改、可验证和可追溯性等特性,受到各国政府、金融机构和社会组织等高度重视。而作为区块链中的核心,「共识机制」决定了区块链的安全性、去中心化和可扩展性等重要性质,因此显得尤为重要。
最初比特币所提出的PoW共识机制,通过算力不断计算一个难题的解来获得记账权,造成资源浪费和低效率,另外各大矿池的算力垄断也导致其逐渐失去去中心化特性。
随后StakingEconomyPoS共识机制被提出,其让获得记账权和拥有的权益相关,权益的占比和获得记账权的概率成正比。在该机制中,通过权益选择生产者节点和验证节点,由生产者节点提议区块,一组验证节点来对区块进行共识,以解决PoW机制中资源浪费,低效率等问题。
随机数方案
本质上PoW和PoS都是在解决谁出块,如何安全高效地对区块达成共识,以维护一个分布式账本。
为了更好地实现去中心化和安全性,所选取出来的节点需要保证随机。所以如何获得一个大家都认同的、安全的、一致的随机数成为关键问题。
如果直接用区块内的数据来产生随机数,那么出块节点就可以通过调整区块内的数据来控制随机数的生成,优先获得记账权,从而达到操控链的目的。这将带来安全性问题,因此基于密码学的各大方案诞生了。
VRF
目前有不少团队使用VRF来生成随机数对选择区块生产者和验证者进行选择,每个节点私下利用随机数和权益秘密抽签,计算是否达到某个阈值,然后再将节点身份和区块同时公布,这样节点就能避免受到攻击被阻止出块,因此具有较高级别的安全性。整体方案具备后验性,但由于其秘密抽签的性质和每轮投票都更换验证人,因此需要多级步骤来对区块达成共识。
还有利用基于BLS门限签名生成随机数,通过随机数选择区块的生产者和验证组完成共识,使用阈值机制创造随机性解决了关键的「最后一个参与者」问题,即该协议中的最后一个参与者知道下一个随机值并可决定中止协议。但由于其各组成员事先确定,不具后验证性,缺乏一定的安全性,并且组内人员数量较大,需要保证大部分节点在线,通讯量巨大效率低下。
PVSS
验证人的选取是根据权益占比和概率选择区块生产者,而随机数是利用PVSS,多方协作生成,保证生成的结果既不可预测又不被Abort,并且通过FTS算法依据权益选取节点,整个选取过程随机并且去中心化,是第一个被工业界采用的学术界提出来的可证明是安全和健壮的PoS算法。
VDF
由斯坦福大学密码学教授DanBoneh等人在其论文Veri?ableDelayFunction中提出,VDF是一个数学函数能保证结果的唯一性和过程的串行性,该函数接受一些输入参数并且保证计算需要至少一定时间后才能得到结果,验证者可以根据输入参数快速验证结果的正确性。
由于VDF的特性可将其应用以增强安全性,例如在多方交互生成数据时或从某个来源获取数据时,不直接将结果应用而是将结果输入到VDF中,避免预知和操纵结果。
总结
各类实现方案各有千秋,各自从不同角度、不同目标做出不同的解决方案,但最终无论各类随机选取方案如何实现,它们都应该以保证去中心化、安全性和高性能为最终目标。
在下一篇文章中我们将介绍PlatON中验证人选举的随机方案,敬请期待!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。