首页 资讯 正文

一文了解BHP公链共识协议

BHP (算力币) 2020年07月07日 10:40

共识机制是区块链的核心基石,是区块链系统安全性的重要保障。区块链是 一个去中心化的系统,共识机制通过数学的方式,让分散在全球各地成千上万的节点就区块的创建达成一致的意见。共识机制中还包含了促使区块链系统有效运 转的激励机制,是区块链建立信任的基础。

区块链公链常用的共识机制有 POWPOSDPOSBFT 以及多种机制混合而成的共识机制等。那么BHP公链采用的是什么共识机制呢?

BHP 公链沿用 DPoS共识机制

BHP 公链沿用 DPoS(Delegated Proof of Stake,委托权益证明)的共识机制,创新地引入了算力持有人权益证明。共识算力持有人与 BHP 持有人共同选举出 N 个共识节点进行交易验证。共识算法上采用了授权拜占庭容错算法(DBFT)

DBFT 是基于持有权益比例来选出专门的记账人(记账节点),然后记账人之间通过拜占庭容错算法来达成共识。DBFT 可以容忍任何类型的错误,且专门的多个记账人使得每一个区块都有最终性、不会分叉。BHP 系统中的记账人就是接入 BHP 网络的众多拥有超级算力的节点。在 DBFT 共识机制下,每 5~20 秒生成一个区块,交易吞吐量可达到数千 TPS。通过负载均衡网络优化后,借助独有的状态通道机制,可达到上万甚至更高的 TPS,可以支持大规模的商业化应用。共识算法的一般流程如下图所示:

共识一般流程


BHP 网络中的任意节点广播交易,记账节点收到交易后,开启共识视图,发起提案广播;议员开始验证交易,等待 t 秒,参与共识的故障节点不超过(n-1)/3 时,本轮共识成功。

BHP 公链为什么选择DPoS共识机制,DPoS共识机制又有什么优势呢?让我们一起来了解一下吧。

简单了解DPoS

DPoS (Delegated Proof of Stake) 股份授权证明机制,是一种区块链的共识算法, 2014年4月由Bitshares 的首席开发者 Dan Larimer (现为EOS CTO)提出并应用。当时Dan观察到比特币系统共识算法POW的一些问题:比如矿池导致算力越来越集中、电力耗费过大等。所以他提出了一种更加快速、安全且能源消耗比较小的算法,这就是后来的DPOS。DPOS是一种基于投票选举的共识算法,有点像民主大会,持币人选出几个代表节点来运营网络,用专业运行的网络服务器来保证区块链网络的安全和性能。DPOS机制中,不需要算力解决数学难题,而是由持币者选出谁是生产者,如果生产者不称职,就有随时有可能被投票出局,这也就解决了POS的性能问题。

DPOS机制下,算法要求系统做三件事:

第一,随机指定生产者出场顺序;第二,不按顺序生产的区块无效;第三,每过一个周期洗牌一次,打乱原有顺序;

而且,DPOS允许所有矿池每三秒钟轮换一次,并且其他人已被安排在后续进程中,于是,没有人可以在预设位置外生产区块。如果一个块生产者这么做了,就可能被投票出局。

这意味着,生产者之间没有争夺,也不会遗漏区块,每三秒会有一个区块。

1. 相对于POWPOSDPOS机制最大的优点之一是共识达成的周期要短很多。

基于POWBTC每秒处理7笔交易;基于POWPOS的以太坊每秒处理15笔交易;而基于DPOS的比特股(BTS)每秒能处理超10万的交易量。

2. DPOS也会将一部分奖励分给网络维护节点和投票者,作为社区维护的奖励。

简单的来说,你只需要去给你认为能被选中并承诺分红的节点投票,这些节点被选中后便可挖矿,你就可以获得节点承诺的相应分红。而此收益不需要你真实的操作挖矿,而仅仅只需要你动动小手指去投个票。

所以,概括来看:

1. DPOS机制相比于POS大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。

2. 在一定程度上解决拒绝服务攻击和潜在作恶节点联合作恶问题。