当前位置:首页 > 区块链新闻 > 正文

共识机制的进化与D-DPoS介绍

来源: 互联网时间:2019-03-04 09:00:01

众所众知,共识机制是区块链技术中的重要一环,那么到底什么是共识机制呢?正因为共识机制在区块链技术中扮演着关键角色,人们总是在讨论目前广泛应用的共识机制是否真的让整个区块链系统达到了去中心化及民主自治的效果。

本文将为您介绍D-DPoS,一种真正为去中心化目标做出贡献的共识机制。首先,我们将从共识机制的概念讲起。

共识机制

共识——即区块链中大众达成的协议。相对于传统机制中由中心化的权威机构来进行帐户管理,例如银行,区块链采用了一种公开的分布式账本来记录所有信息。然而,如果缺乏中心化机构来保护用户免于遭受恶意攻击和欺诈行为,那么区块链是通过什么方式保障用户的安全性呢?这便是共识机制产生的诱因,所有共识机制都是为了提高对网络攻击的成本,使得用户维护网络正常运行,提高安全性而诞生的。

比特币和PoW机制

随着2009年中本聪的白皮书问世,比特币的诞生引入了最为大家熟知的工作量证明共识机制,即PoW。在PoW机制中,网络中的节点(矿工)致力于解决一项复杂的加密数学难题进行工作,率先计算出问题答案的节点有权打包交易进区块并拥有区块记账权,获得奖励。

由于这种机制对于算力的要求日益增加,能源的消耗相应也非常之高,这使得对比特币网络进行恶意攻击或交易造假在经济上十分不划算,而且在操作上也相当困难。

然而由于网络达成共识的速度过慢,能源消耗过大,而且目前网络中大量的计算资源被掌控在寡头挖矿机构或团体中,由于他们能提供远高于一般矿工的算力,因而也更有机会获得奖励,这与真正去中心化的初衷背道而驰,基于以上种种,PoW机制现在已经不能满足大众的需求。

PoS和DPoS

POS

权益证明机制即PoS机制不再要求网络中的节点进行大量重复性计算工作即挖矿,因此对于环境保护十分有利。相对于挖矿的矿工,在PoS中,通过节点持有的代币数量及币龄决定其拥有的权益,权益更高的节点更有机会打包交易,获得交易记账权,获得奖励。任何持有代币的节点都可以通过在一段时间内持有一定数量的代币,提高其币龄,争取更多的奖励和记账权。

DPoS

Daniel Larimer,Bitshares和Steemit的创始人,提出了一种新的共识机制让区块链网络更快速更高效的运行。这就是所谓的授权权益证明,即DPoS。区别于PoW与PoS的全民验证交易,达成共识,DPoS中节点不作为验证者而是投票选出一组节点作为交易见证和出块节点来进行交易记账。节点的票数与其拥有的权益(与PoS中相同的概念)成比例。选出的这组节点作为代表来代替其他节点进行交易验证,产生区块。通常情况下,在100个备选节点中选出21个超级节点作为区块生产者,并根据其拥有的权益多少获取奖励。

节点的投票力量取决于其拥有的权益即代币数量、币龄。也即是说拥有更多权益的节点将比拥有权益较少的节点对网络产生更大影响。

如果超级节点不能履行其职责,保证网络的安全性,用户可以实时投票「炒掉」不合格的超级节点,并从备选节点中选出新的超级节点代替之。因此,网络的质量与安全性是与投票的活跃性相关的。然而,目前我们经常能看到的状况是多数采用DPoS机制的网络中,投票参与度很低,这对于真正去中心化及保障系统安全性是极其不利的。

由此可见,DPoS是一种通过减少出块节点数量,牺牲去中心化提升效率的体制。许多专家对此提出了批评,以太坊创始人Vitalik Buterin甚至提出DPoS机制会诱使贿选刷票等不道德行为。

D-DPoS—共识机制的最新进化

尽管DPoS提高了网络运行效率,但实际上牺牲了去中心化的初衷并引发贿选刷票行为,增加安全隐患。主要问题之一便在于复杂的投票过程使得投票率很低,新用户为了当选为超级节点开始进行贿选,刷票等行为,甚至可以轻易地锁定某个出块节点,并进行恶意攻击。

由DBX团队提出的,建立在DBX链上的基于数据的授权权益证明机制,即D-DPoS,采用被动式投票及随机提取出块节点的方式,在保证DPoS的效率与速度的同时,解决了网络的安全性问题,降低贿选概率,提高恶意攻击的成本。

D-DPoS的工作机制

担当见证节点的角色(在DBX链中被称为三体节点)不仅负责记账与出块,建立在链上的数据应用(去中心化的应用)的运行也在三体节点上,因此三体节点的任务比DPoS中的超级节点更加多元化。三体节点的选举并不像DPoS中由票数决定,而是通过其历史表现、算力及随机选举综合决定。首先,系统会参考节点的过去表现以及数据贡献;其次,所有节点进行测试来验证其算力,运行数据应用的质量,记账的能力等。然后,根据DBX生态系统政策制定委员会公布的函数为所有节点计算出一个总合加权分数,然后取排名前101的节点作为候选三体节点。最后,在101个候选节点中,随机选择21个节点作为三体节点。由于每轮被选出的三体节点很难提前预测,对网络进行攻击将变得十分困难并且需要很大的代价。同时,由于DBX链上采取被动式投票,使得贿选刷票等问题的程度大大降低。

除了进行记账与出块,我们此前提到的另一项重要任务,即三体节点上运行数据应用(不用类型的智能合约)。因此高速的网络与强大的计算资源直接影响三体节点运行智能合约的效率,这也是三体节点提取函数中设置算力参数的原因。对于出块的三体节点的随机提取机制可以动态地保障拥有强大算力的节点优先被选中,使得数据应用的运行尽可能高效。

此外,区别于DPoS中全网权益持有者进行主动投票,D-DPoS将三体节点的选举融入链上的日常运行。假设某个三体节点不能履行其职责,例如不能运行数据交易验证应用,网络质量出现问题不能出块等等,将降低其函数加权分数,被101个候选节点中自动提取新的三体节点所代替。反之,如果三体节点表现良好,将提高其加权分数,使得下次选举中更容易被再次选中。

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。