Decred

作者:扎克-赫斯, Zack Hess https://github.com/zack-bitcoin/amoveo-docs/blob/master/other_blockchains/decred.md

这是对Decred中使用的pow/pos混合共识设计的评论。 这是我做过的最痛苦的评论。社区里的人正在分享关于它如何工作的虚假信息。文档包括过期的数据,而且无法搜索。开发人员甚至对关于Decred如何工作的最基本的问题都会回答 “dyor”(自已研究)。

这里有一份探讨Pow/Pos混合设计的一般能力的文件:Pow_pos_hybrid.md

https://docs.decred.org/proof-of-stake/overview/ 看了这个页面。在该页面的顶部,他们列出了将PoS元素纳入区块链的5个原因。其中一些原因显示了设计中的缺陷。

  1. 允许利益相关者投票支持或反对对Decred区块链的拟议修改。这意味着Decred是不安全的,因为贿赂投票者进行升级会破坏Decred的基础知识/市场_失败.md,这很便宜。

一般来说,投票协议就是不能在区块链上工作:区块链中的投票

  1. 为利益相关者提供一个影响工作证明(PoW)矿工的机制。利益相关者可以投票扣留矿工的奖励,即使该区块符合网络的共识规则。这意味着,一旦一个联盟控制了PoS方面,他们的控制就非常稳定。他们可以阻止其他任何人获得挖矿奖励,所以只有他们的联盟可以通过挖矿获利。

同样,这是一种投票机制。这意味着贿赂投票者来操纵投票以破坏区块链是很便宜的。

  1. 现场票的即时投票被用来对项目库进行决策。同样,投票不能保证安全。见(1)和(2)。

这里是Memcoin 2的白皮书,Decred是基于这个白皮书的:https://decred.org/research/mackenzie2013.pdf

来自decred的分叉选择规则,来自白皮书第11页:weight=sqrt(P * H * Q),其中Q是该区块上的票据签名数量,3、4或5。P是锁定作为PoS的抵押品的币部分。H是算力。

考虑到几个案例。

  • 正常情况下,10%的价值被押注,算力=1,Q=5 weight=sqrt(1 * 0.1 * 5) = 0.707

  • 算力攻击,1%的价值被押上,算力=3,Q=1 weight=0。Q<3时分叉失败。

  • 贿赂攻击。9%的价值被押上,算力=0.001。weight=sqrt(0.09 * 0.001 * 5) =

  • 0.0212

  • 贿赂攻击的防御者。价值的1%留作抵押,算力=1,Q=0 weight=0。Q<3时分叉失败。

贿赂攻击确实会导致很低的weight,远远低于正常的操作。但是,由于攻击者能够阻止任何区块被添加到防御者的分叉中,所以攻击成功了。

Decred很容易受到控制了>50%的票的 贿赂攻击,。一旦建立了>50%的控制权,那么控制PoS的联盟可以审查任何它不喜欢的PoW区块。他们可以不断导致难度下降,直到他们能够以正常的速度找到区块,而不允许联盟以外的人找到任何区块。

在这一点上,该联盟是不可阻挡的。