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區塊。他們可以不斷導致難度下降,直到他們能夠以正常的速度找到區塊,而不允許聯盟以外的人找到任何區塊。

在這一點上,該聯盟是不可阻擋的。