区块链核心技术:委任权益证明算法DPoS

委任权益证明Delegated Proof of Stake(简称DPoS)是比特股BitShares采用的区块链公识算法。在加密货币技术中,使用共识算法来保证整个区块链网络的安全可靠,著名的共识算法包括比特币网络使用的工作量证明PoW,以及Peercoin和NXT使用的权益证明PoS。但是,这些共识算法都不能解决交易性能问题,尤其是PoW算法大量消耗计算所需的电力。而委任权益证明DPoS很好地解决了性能和能耗的问题。

背景

DPoS算法中使用见证人机制(witness)解决中心化问题。总共有N个见证人对区块进行签名,而这些见证人由使用区块链网络的主体投票产生。由于使用了去中心化的投票机制,DPoS相比其他的系统更加民主化。DPoS并没有完全去除对于信任的要求,代表整个网络对区块进行签名的被信任主体在保护机制下确保行为正确而没有偏见。另外,每个被签名的区块都有先前区块被可信任节点签名的证明。DPoS消除了交易需要等待一定数量区块被非信任节点验证的时间消耗。

通过减少确认的要求,DPoS算法大大提高了交易的速度。通过信任少量的诚信节点,可以去除区块签名过程中不必要的步骤。DPoS的区块可以比PoW或者PoW容纳更多的交易数量,从而使加密数字货币的交易速度接近像Visa和Mastercard这样的中心化清算系统。

DPoS系统任然存在中心化,但是这种中心化是受到控制的,因为每个客户端都有能力决定哪些节点可以被信任。DPoS使得这样的区块链网络保留了一些中心化系统的关键优势,同时又能保证一定的去中心化。系统通过公平选举,使每个人都有可能成为代表绝大多数用户的委托人。

DPoS背后的理性逻辑

1.使权益所有者能够通过投票决定记账人
2.最大化权益所有者的红利
3.最小化保证网络安全的消耗
4.最大化网络的性能
5.最小化运行网络的成本

权益所有者拥有控制权

DPoS的根本特性是权益所有者保留了控制权,从而使系统去中心化。就像投票机制也有缺陷一样,DPoS是管理公司共有产权的唯一可行方式。幸运的是,如果你不喜欢运营公司的人,你可以通过卖出权益离场。而这种反馈机制可以使权益所有者在投票时比普通公民更加理性。

每个权益所有者通过投票决定区块的签名验证者,任何一个拥有超过1%投票的人都可以参与到董事会。所有的代表构成一个“董事会”,轮流签署区块。如果一个董事错过了签署区块的机会,客户会自动把投票给予其他人。最终,这些错过签署机会的董事会被取消资格,其他人就可以加入董事会。董事会成员会收到少量代币作为奖励,用来激励在线时间和参与竞选。每一个董事必须要将单个区块平均奖励的100倍作为保证金,从而确保其至少99%的在线时间。

委任工作量证明的矿池

在目前的比特币网络中,用户为了盈利需要选择参与一个矿池,而每一个矿池拥有超过10%的哈希算力。矿池的运营者就像矿工委任的代表。比特币希望用户在矿池间切换以避免过度中心化,但是前五个主要的矿池控制了整个网络,如果其中一个矿池出问题了就需要用户进行手动干预。如果一个矿池掉线,则区块的生产率将会等比例地下降。在哪个矿池中挖矿成了一个难题

不随机从所有用户中选择的原因

1.普通用户大部分时间不在线
2.攻击者可以使用其权益控制网络,而不经过其他人的认可
3.由于没有挖矿,在去中心化网络中生成随机数变得不可能。

扩展性

假设每笔交易的确认成本和手续费都是固定的,那么实现去中心化的数量也是有限制的。假设验证成本与手续费相等,则整个网络是完全中心化的,并且只能支持一个验证节点。假设手续费是验证成本的100倍,则网络可以支持100个验证节点。

DPOS扩展性

PoS需要大量的手续费来保证其合理运行,而委任机制是PoS高效工作的唯一方式。在PoS中可以使用权益池的方式,但是这又变成某种形式的DPoS。委任代表无法从矿池张获得实际的收益,因为验证的花费将吞噬绝大部分的交易手续费。

去中心化的成本与验证节点的数量成正比,而这个成本无法消除。从规模化角度看,这种成本的存在将最终使系统中心化,而委任代表制是唯一的解决方案。这种中心化应该在系统建设的初期就设计好,以利于用户更好地控制,而不是通过被动演化为非预期的结果。

委任代表的角色

1.见证人是允许生成和广播区块的权威
2.生成区块的过程包括收集P2P网络中的交易并使用见证人的私钥进行签名
3.见证人的位置由上一个区块的最后部分随机指定。

DPoS对于攻击的抑制

1.如果某个见证人拒绝签署一个区块,那么他将被解职并失去未来的稳定收入预期
2.不诚实的委任代表只有在明确有其他利益诉求时才会选择放弃区块生成
3.见证人无法签署无效的交易,因为交易需要所有见证人都确认。

见证人的数量

见证人的数量有权益所有者确定,至少需要确保11个见证人。

DPOS信息图