DBFT (NEO)

DBFT 全称为 Delegated Byzantine Fault Tolerant,是一种通过代理投票来实现大规模节点参与共识的拜占庭容错型共识机制。NEO 管理代币的持有者通过投票,可以选出其所支持的记账人。随后由被选出的记账人团体通过 BFT 算法,来达成共识并生成新的区块。投票在 NEO 网络持续实时进行,而非按照固定任期。

DBFT 对由 n 个共识节点组成的共识系统,提供 f=⌊(n-1)/3⌋ 的容错能力,这种容错能力同时包含安全性和可用性,可以抵抗一般性故障和拜占庭故障,并适用于任何网络环境。DBFT 具有良好的最终性,一个确认即最终确认,区块无法被分叉,交易也不会发生撤销或回滚。

在 NEO 的 DBFT 共识机制下,每 15~20 秒生成一个区块,交易吞吐量实测可达到约 1000tps,在公有链中性能优秀。通过适当优化,有能力到达 10000TPS,可以支持大规模的商业化应用。

DBFT 结合数字身份技术,使得记账人可以是实名的个人或机构。从而使得冻结、撤销、继承、找回、司法判决过户等非常规操作成为可能。这有利于合规性金融资产在 NEO 网络中的登记发行。NEO 网络计划在必要的时候支持此类操作。

dPOS

BTS

  • https://bitshares.org/technology/delegated-proof-of-stake-consensus/

Steem

EOS

Lisk

  • https://github.com/LiskHQ/lisk/blob/development/logic/vote.js
  • https://docs.lisk.io/docs/the-lisk-protocol-transactions#section-vote-transaction
  • https://docs.lisk.io/docs/the-lisk-protocol-consensus

References

  • https://github.com/neo-project/neo/blob/master/neo/Consensus/ConsensusService.cs