首页 > 品牌导购 > 查看内容
  • 分享到

区块链共识机制的进程演化

2018-06-22 18:37

来源:蓝狐笔记

作者:佚名



首先:从全网节点进行代表的投票选举,选出两种代表,一是持有较多PNT代币的议员,一个是持有较少PNT代币的观察员。

其次:在两种代表中通过散列抽签算法,随机挑选部分议员和观察员组成若干的共识组,每个共识组的议员或观察员占比不得少于1/3。

共识组进行BFT共识。在议员中选举出议长。议长提议生成区块,其他议员和观察员进行区块验证,在2/3以上节点验证通过后,生成该共识组所对应的候选区块。

共识组数量的多少没有固定,根据网络情况进行动态调节,以保证正常出块。

最后,候选区块并不会自动成为正式区块,还需要通过散列抽签函数从所有共识组产生的候选区块中选择正式区块。

如果出现区块共识在一定时间内无法达成的情况,会启动RESET机制。所有议员进行一轮BFT共识,产生一个RESET区块,重新组成共识组,恢复网络正常运行。

这样的选举设计也有议会机制的影子。比如美国建国之初,一开始试图设置单一院制,但发现众议院是基于人数,人口少的州很少有机会发出自己的声音,于是产生了两院制的议会。

参议院不管各州大小,都是两票,一共100席。众议院则根据州人口多少获得席位。设计的目的是为了兼顾各方利益。

DSC通过议长、议员、观察员、共识组的设计,有一部分制衡和保证公平的考虑。因为观察员有机会进入共识组,且不少于1/3,所以即使用户是持有较少PNT的代表,也有机会获得奖励。

这兼顾了公平,而在PoS共识机制中,一个持有很少代币的用户,能得到奖励的概率非常低。

Penta的议员是PNT代币持有节点主动发起申请,其他节点进行投票选择。要想当选议员,首先要质押一定数量的PNT代币,同时必须获得超过一定数量的票数。

一旦当选议员,所有节点获得记账的机会均等。不是PNT数量越多,机会越大。议长是通过BFT共识过程产生,主要负责区块生成。

观察员是监督的角色,它跟议员不同,所需要质押的PNT数量较少,获得的选票也较少。但观察员分布更广,数量更多。

它代表了更多普通PNT代币持有人的利益。更类似于众议院的角色。观察员无法当选为议员或议长,没有生成区块的权利。

Penta网络的议员人数是动态增长的,这个跟美国参议院固定席位不同。

根据参与节点和PNT持有排名情况,Penta网络确定最初的议员数量和最低PNT代币的质押数量。

同时,议员的数量和也会根据运行情况进行动态调整。观察员的数量则不设置上限。

记账过程也是灵活参与。首先存入作为保证金的PNT代币,然后申请记账,经过投票、锁定代币之后,获得参与记账的机会。如要退出记账,申请解锁质押的代币,到期后获得解锁代币,完成退出。

通过散列抽签算法,Penta网络可以从议员和观察员中随机选择组成若干个共识组。假如每个共识组记账人数n,n是动态调整的,其中,议员数量是(n1),那么,n/3<n1<2n/3,观察员的数量是n2=n-n1。

这样保持了共识组里面灵活的组员比例,议员和观察员都是动态调整,同时都保持在一定的数量范围之内。

关于恶意节点的惩罚:由于账户上质押了保证金,一旦发现任何故意破坏系统的行为,将会对节点进行惩罚。

比如议长提出两个及以上区块BFT共识提案,其他节点可以举证,一旦确认,议长会收到远高于收益的惩罚。这会让作恶的成本处于不对称的状态。

Penta网络共识还能避免分叉。它有协议升级的机制。协议升级需要所有议员进行BFT投票,(2n+1)/3以上议员赞成,即可在指定区块高度自动切换到新协议,保证协议升级不发生分叉。

协议升级主要是一些参数调整,比如共识组节点数量、交易手续费、最低保证金、议员和观察员人数等。

对于节点来说,记账可以获得收益,交易也有手续费收益。其中50%的PNT用于共识记账激励。

在议长提议的区块被议员和观察员确认之后,候选区块变成正式区块,在这个过程中,参与贡献的记账节点,也就是产生备选区块的共识组成员都会得到相应的PNT奖励。

Penta的共识机制吸取了PoS、DPoS的优点,也有自己的独创之处,不用担心分叉,不用担心能源浪费,提高了效率,同时兼顾代币较少持有人的利益,鼓励更多人参与进来,减少寡头利益风险,兼顾安全、效率、公平。

这种共识机制的设计值得探索,也值得保持长期关注。

结语

共识机制是区块链网络运转的核心,区块链上不同节点的副本要保持一致,都需要通过共识算法来达成。

但是为了保证安全和去中心化,目前区块链技术很难实现性能、安全和去中心化同时兼得。

不同的算法都有各自优势和不足。用PoW作为公链共识算法,很难实现扩展性,很难在它的基础上构建DApp的生态基础,很难向主流人群扩展。

用PoS或者DPoS共识算法,也有可能产生一些小概率事件,比如私钥被盗取、超级节点合谋导致中心化趋势等。在兼顾性能同时,可能在去中心化和安全上出现了一些不足。

在共识算法上的实践肯定还不会停止下来,而DSC的共识算法试图平衡安全、去中心化和效率,以及公平等方面,希望在这个基础上设计出一个可以安全、稳定的价值传递网络。

Penta的DSC共识协议跟DPoS不同的是,多了一个散列抽签的算法,不仅仅照顾了代币持有人的利益,还兼顾了更多公平和安全。

此外它还有插件化的共识组件,有灵活多种共识算法,可以支持到侧链或独立链。

在Penta平台上的记账共识与DApp上侧链或独立链的共识分离,平台层和业务层的解耦,不同的DApp采用不同的共识机制来达成自身的目的。

比如说,有的DApp对交易的性能要求不高,但对交易安全要求更高,它也许会选择PoW算法,有的DApp对于交易性能要求很高,可能会采用DPoS的共识算法来达成目的。

未来的区块链发展来看,由于要达成共识,肯定会牺牲效率。但要走向大规模人群的采用,没有性能又是不行的。

这里的悖论需要解决,要么,采用更加均衡的架构和共识机制,做一个平衡的取舍。要么,采用非区块链的数据结构或者中心化的方式来解决问题。

如果在区块链的前提下,要达成一个可以落地的方案。采取类似于DSC这样的共识算法,可以兼顾安全、效率以及公平。

同时,通过一个比较灵活的设计,采用侧链和独立链的模式,允许这些链采用组件化的其他共识算法,实现不同场景下的不同最优选择。

可以预见,未来除了PoW、PoS、DPoS、PBFT、PoA、PoI......之外,还会有更多层出不穷的共识算法,这对于区块链发展的探索都是有益的。

发表评论
回顶部