Polkadot

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

對Polkadot的評論 Polkadot是一個股權證明的加密貨幣項目。

白皮書在這裏 https://raw.githubusercontent.com/polkadot-io/polkadot-white-paper/master/PolkaDotPaper.pdf

更多最新但不太詳細的技術描述在這裏:https://polkadot.network/technology/

讓我們從更多最新的描述開始。

共識的參與者 #


提名者 - 提名者正在使用投票系統來選擇驗證者。投票不可能是區塊鏈中的安全機制,也不應該被使用。

驗證者 - 驗證者是以DOTS爲賭注,負責添加txs以更新共識狀態。對用戶來說,股權證明總是比PoW更昂貴。這種成本可以以更高的費用,更頻繁的攻擊,或更嚴重的攻擊的形式出現。

Collators/Fisherman - 看來polkadot是用欺詐證明來保證安全,類似於Optimistic Rollup的想法。這意味着最終性非常慢,但這是提高可擴展性的有效方法。

治理參與者 #

理事會成員 - 這些人是通過投票選舉產生的。投票對區塊鏈來說不可能是安全的,所以組建理事會的過程是不安全的。他們有權提出和否決 “公投”,這意味着他們是通過投票來做決定。投票是不安全的,所以理事會用來做決定的過程是不安全的。攻擊者可以操縱誰是理事會成員來欺騙網絡。攻擊者可以操縱這個委員會的決定來欺騙網絡。

技術委員會–由正在創造polkadot的人組成的小組。他們可以提出 “緊急公投”,這就像正常的公投,但發生得更快。緊急公投也是正在投票的東西,所以攻擊者可以操縱這些緊急公投來欺騙網絡。

接下來看白皮書 #

跳到第4節,開始談論Polkadot的設計。它又有同樣的4個角色:整理者、漁夫、提名者和驗證者。

驗證者 #

驗證者有一個安全保證金,這個保證金的一部分可能不屬於驗證者,而是由提名人擁有。所以polkadot使用的是一個委託的股權證明系統。DPOS

驗證者製作區塊。

提名人 #

提名人選擇一個驗證者,並將他們的錢投入該驗證者的押金中。他們得到的懲罰或獎勵與他們押注的驗證者相同。這就是委託證明的賭注。 授權的股權證明比正常的股權證明更不安全,因爲賄賂的價格要低得多。如果一個驗證者只擁有其押金的10%,那麼賄賂他們的價格就只有正常股權證明的10%。

Collators #

他們爲其中一個側鏈運行一個完整的節點。他們創建側鏈區塊,並向驗證者提供其完整性的零知識證明,以便籤署。

該文件沒有解釋將使用什麼樣的零知識證明,或者甚至沒有解釋正在證明什麼。

我感覺 “零知識證明 “這幾個字對本文作者來說其實沒有任何意義,他們說這些話只是爲了給人一種神祕的權威感。

對於我們如何避免側鏈的軟分叉攻擊,並沒有解釋。如果Collator決定審查數據,他們的區塊仍然有效,零知識證明仍然有效,所以主鏈驗證者會接受這些區塊。軟分叉攻擊可以以任何方式改變共識規則,包括竊取資金。

所以主鏈的驗證者並沒有給側鏈帶來安全。

Fisherman 漁民 #

零知識證明是一種有效性證明,意味着它們所證明的東西對驗證者來說是立即可知的。這與欺詐證明相反,欺詐證明是一種較慢的證明,可能需要一個星期或更長時間才能被驗證者知道。欺詐證明是基於一種博弈論的機制,任何能夠提供證據證明發生了欺詐行爲的人,都可以獲得獎勵。如果足夠的時間過去了,沒有人提供欺詐的證據,那麼我們就認爲欺詐一定沒有發生。在這一點上,驗證者最終可以確定結果。

根據對Collators的描述,你可能認爲polkadot是基於快速最終性有效性證明。但現在在本節中,我們轉而討論欺詐證明。

漁民是防欺詐系統的一部分。他們提供了欺詐發生的證據。

漁民表明,驗證者在壞的數據上簽名,或者在衝突的數據上簽名。

漁民被要求給予保證金,如果他們做出無效的欺詐證據,向網絡發送垃圾郵件,就會被扣除保證金。

共識 #

現在看第5節,共識。

它正在使用tendermint作爲核心區塊鏈,這是一種PoS。 它說側鏈區塊只有在所有數據都可用時纔有效。但不可能安全地證明數據是否可用,因爲說話者-聽話者的錯誤等價問題,Vitalik解釋得很好 (the speaker-listener fault equivalence problem) 此外,曾經有的數據後來可能變得不可用,這使得我們無法獨立覈實polkadot的歷史。

協議 #

現在跳到第6節,深入瞭解協議。 80%的DOT將一直被押在驗證者押金中。我猜測他們之所以這樣說,是因爲有一種錯誤的印象,認爲有更大的賭注金額意味着更安全。權益證明系統很容易受到公地悲劇的影響,所以實際的安全性嚴格來說是小於賭注中位數的驗證者的債券規模。賭注總額較大的DOT並不能使它更安全。 如果被擔保的總額低於80%,那麼成爲驗證者的最小擔保額度就會不斷減少,直到有足夠的擔保額度。他們沒有給出任何解釋,爲什麼減少最低保證金會導致更多的DOT被抵押。在實踐中,這幾乎肯定是錯誤的。 在6.2.3中,它說驗證者可以因爲在共識過程中不活躍而受到懲罰。但是隻有其他驗證者知道一個驗證者是否不活躍。這意味着任何多數驗證者都可以聲稱少數驗證者不活躍,並完全控制共識。阻止新的驗證者加入。 在6.4中,它說如果任何驗證者對包括一個側鏈區塊有異議,那麼驗證者將進行投票,以決定誰在作弊,而作弊者將受到懲罰。這是另一種機制,任何多數驗證者都可以懲罰少數人或將他們鎖在外面。讓自己對Polkadot有永久的控制權。

總結 #

在Polkadot中,主鏈有多個漏洞,可能導致主鏈斷裂,側鏈的資金被盜。如果主鏈功能正常,沒有受到攻擊,它仍然沒有爲側鏈提供安全保障。側鏈中的資金很容易受到軟分叉攻擊。