DPoS 是 PoS 的改良版,两者最大的不同在于。PoS 是根据节点的持币数量与持币时兼争取记帐权, 而 DPoS 则是以网路中利益相关人的选票选择记帐节点,相当于菁英政治中的代议机制。DPoS 最初由 Bitshares、Steemit 以及 EOS 的创办人 Dan Larimer 提出,他在区块链项目 Bitshares 中实现了 DPoS 共识机制。在 DPoS 网路中,有两个重要的角色「见证人」与「利益相关者」。
利益相关者
利益相关者也就是网路中的持币者,能够透过交易所或钱包,在抵押代币后选择要支持谁来担任验证人,利益相关者持有的代币越多,投票的权重就越高,而有些验证人会提供分红,将挖矿奖励分享给支持他的利益相关者。
DPoS 的一个重要特点是,任何系统参数都可以通过利益相关者的投票进行更改。这些参数包括区块间隔和大小、交易费用、见证人奖励、甚至见证人数量(具体支援参数会依据不同项目而有所不同),这为网路提供了更大的灵活性与分散式治理。
见证人
DPoS 中另一个重要的角色为见证人(或称为超级节点),其工作是为区块链添加新的区块,也就是记帐。理论上,只要具备一定程度的设备与计算能力,任何人都有机会担任见证人。但实务上见证人大多都是社群中活耀的实名组织,具有可靠的社群贡献纪录。想成为见证人的节点可以通过对网路做出积极的贡献来提高声誉,例如市场营销、贡献代码、筹集资金、社群建立等。
理性的见证人会保持中立,维护帐本的安全,因为见证人始终处于利益相关者的控制之下,当验证人因不良行为(未记帐或签署无效区块等)导致网络运行出现问题时,利益相关者的损失最大,因此,利益相关者会随时将其选票重新分配给其他见证人。理论上,网路规模越大,见证人彼此的竞争就越激烈,因此,成为社区中具备良好声誉的成员以避免被替换,才符合见证人的最大利益。见证人的数量是固定的,具体取决于项目方的设计,Ark 的见证人有 51 个、 Lisk 有 101 个、EOS 则有 21 个。
DPoS 运作机制
DPoS 透过声誉和实时投票机制选出一批见证人,见证人会负责轮流产出并验证新的区块,
假设网路中有 A、B、C 三个见证人,则 A 产出第一个区块、B 产出第二个区块、C 产出第三个区块,保证所有见证人都能够产出区块。在每 t 个时间间隔(例如,每 10 分钟),见证人的顺序会重新排列,然后再次轮流产出区块。
简单来说,第一轮出块顺序是 A→B→C,三个见证人都产出过区块后,便开啟下一轮出块,并将顺序随机改变例如 B→C→A。
DPoS 不需要像 PoW 一样,浪费算力争取记帐权,且 PoW 必须控制出块时间以降低同时产出两个甚至多个区块的机率,比特币就是为了降低孤块 率才会固定十分钟出块一次。而 DPoS 因为只有少数见证人负责出块与验证区块,且出块的顺序是经过协议决定好的,因此不会发生两个见证人同时产出区块的问题,可以大幅降低出块时间,例如 EOS 的出块时间为 3 秒,EOS 2.0 将进一步降低到 0.5 秒,因此在效率上遥遥领先 PoW。
去中心化的争议
DPoS 是否有违背权力下放的精神是许多人关注的问题,DPoS 的支持者认为,PoW 虽然所有节点都有权利能够争取记帐权,但实际上计帐权大多被大型矿场或矿池垄断,从下图中可以看到,2018 十月 ~2019 十月,前七大矿场或矿池就占了比特币全网算力的 80%,即使你持有比特币,你也无权决定未来比特币的开发方向以及由哪些人生产区块,所以你不得不授权给那些拥有算力的人,让他们代理产块。
资料来源
然而,DPoS 只有少数见证人负责产出区块与验证区块,帐本安全性会因此降低是不争的事实,此外,菁英政治的代议机制,往往会延伸出党派斗争,使用 DPoS 共识机制的 EOS 便时常传出为了争取见证人地位,拉拢利益相关者相互斗争的问题。
优点
与 PoW 和 PoS 相比拥有更高的效率。
解决了 PoW 的能源问题、PoS 的权益粉碎攻击以及降低硬分叉的可能性。
缺点
为了提高效率,DPoS 以代理人共识取代全网共识,因此时常被抨击与区块链去中心化的理念相违背。