1. 首页
  2. 行情

科普|区块链的共识机制(下)

在上期文章《科普|区块链的共识机制(上)》中我们介绍了PoW和PoS两种共识机制,本期我们将继续介绍其他三种常见的共识算法。

在上期文章《科普|区块链的共识机制(上)》中我们介绍了PoW和PoS两种共识机制,本期我们将继续介绍其他三种常见的共识算法。

DPoS机制

DPoS(股份授权证明机制)是一种新的保障区块链网络安全的算法,由比特股(Bitshares)项目组发明。在尝试解决PoW和PoS问题的同时,还能通过实施去中心化的民主方式,用以抵消中心化的负面效应。从某种角度来说,DPoS可以理解为多中心系统,兼具去中心化和中心化优势。

其与 PoW和PoS最大的不同就在于,DPoS不再需要挖矿了,而是类似于现代企业董事会投票的形式。持币者(股东)投票选举出一定数量的节点作为代表,代理他们进行区块的生成、验证和记账,每一个股东都可以参与投票选举代表,得到总同意票数中的前N个(N通常定义为101)候选者可以当选为代表。

科普|区块链的共识机制(下)

持币者若想成为一名代表,需先用自己的公钥去区块链注册,获得一个长度为32位的特有身份标识符,股东可以对这个标识存以交易的形式进行投票,得票数前N位被选为代表。代表候选名单每个维护周期(1天)更新一次。代表们随机推列,轮资产生区块,收益(交易手续费)平分。每个代表按序有2秒的权限时间生成区块,若在给定的时间片不能生成区块,区块生成权限交给下一时间片对应的代表。

如果代表提供的算力不稳定或计算机宕机等,股东可以随时通过投票更换这些代表。如果有的代表不老实生产区块,很容易被其他代表和股东发现,他将立即被踢出“董事会”,空缺位置由票数排名N+1的代表自动填补。

DPoS的优点在于大幅减少了参与区块验证和记账的节点数量,并且轮流进行记账,能够通过提供更好的软硬件环境来构建效率极高的区块链系统,从而缩短了共识验证所需要的时间(在理想环境下,可达秒级),降低网络运行成本和网络安全维护费用,提高交易效率。目前看来,DPoS 似乎是效率最高的区块链系统。缺点是整个共识机制还是依赖于代币的,然而很多商业应用是不需要代币存在的。

PBFT算法

PBFT (实用拜占庭容错算法)是一类分布式计算领域的容错技术,是一种解决分布式系统容错问题的通用方案。这个算法最初出现在MIT的 Miguel 和 Barbara Liskov的学术论文中,初衷是为一个低延迟存储系统所设计,降低算法的复杂度,可以应用于吞吐量不大但需要处理大量事件的数字资产平台。

所谓“拜占庭将军问题”(Byzantine failures)是一个协议问题,拜占庭帝国军队的将军们必须全体一致的决定是否进攻某一支敌军。难点在于这些将军在地理上是分隔开来的,只能通过信使来传递消息,并且将军中可能存在叛徒,这些叛徒通过发布虚假信息来干扰其他将军的判断,影响一致性的达成。拜占庭将军问题就是要在将军互相不信任的情况下,达成共识。

数学家设计的算法是让将军在接到上一位将军标有进攻时间的信件之后,写上同意或反对并盖上自己的图章,然后把信转发给其他所有的将军,在这样的信息周转之后,最后会出现一个盖有超过半数将军图章的信息链,以保证将军们在互不信任的情况下达成共识。莱斯利·兰伯特把拜占庭将军问题引入到点对点通信中。拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或断开以及恶意攻击,计算机和网络可能出现不可预料的行为。拜占庭容错协议必须处理这些失效,并且这些协议还要满足所要解决问题要求的规范。

在区块链技术出现之前,互联网上的信息拷贝是零成本的,数字资产具有无限可复制性,如果没有权威的第三方监督,数字资产可以随意更改甚至多次支付。为了解决这一个问题,区块链参照了经典的“拜占庭将军问题”的算法。它允许每个节点发布公钥,任何通过节点的消息都由节点签名,以验证其格式。

验证过程分为三个阶段:预备、准备、落实。如果已经收到超过1/3不同节点的批准,服务操作将是有效的。使用PBFT,区块链网络N个节点中可以包含f个拜占庭恶意节点,其中f=(N-1)/3。换句话说,PBFT确保至少2f+1个节点在将信息添加到分布式共享账簿之前达成共识。目前,HyperLedger 联盟、中国 ChinaLedger 联盟等诸多区块链联盟都在研究和验证这个算法的实际部署和应用。

混合证明机制

由于不同共识证明机制有着不同的优劣,有些系统选择采用多种共识机制的方式来取长补短。较为典型的就是以太坊采用了PoW+PoS的共识机制。

—-

编译者/作者:U网资讯

玩币族申明:我们将尊重作者/译者/网站的版权,促进行业健康发展,如有错误或不完整之处请与我们联系。

联系我们

17805983018

在线咨询:点击这里给我发消息

邮件:943663009@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code