專案丨最新版波卡(Polkadot)概述

買賣虛擬貨幣

自 2016 年 Gavin Wood 首次構思 Polkadot 去中心化區塊鏈平臺以來,研究人員和開發人員一直在致力於改進、更新和完善 Polkadot。我們剛剛發表的《Polkadot 概述及其設計注意事項》在原白皮書的基礎上進行了擴充套件,對波卡協議進行了更新和最全面的綜述。

波卡最早出現在 2016 年,當時 Gavin Wood 發表了白皮書,概述了其背後的技術願景和基本的原理。

他指出,儘管區塊鏈技術是有前景的,但存在一些問題,導致它在現實世界中還沒有重要的落地。Polkadot 旨在解決這些問題,並建立一個可擴充套件(可隨需求增長)的區塊鏈架構,在一個強大的共享安全系統中,具有不同功能的不同區塊鏈可以共存並相互通訊,為下一代網際網路奠定基礎。

新的《Polkadot 概述及其設計注意事項》論文在白皮書的基礎上,對 Polkadot 及其設計考慮進行了擴充套件,對 Polkadot 的設計元件和子程式進行了全面的更新。我們在這裡簡單分享一些。

一句話總結

Polkadot 是一個可擴充套件的異構多鏈區塊鏈。這意味著它由一個協作的去中心化區塊鏈網路組成,這個網路叫做中繼鏈,它與並行執行的分片鏈即平行鏈互動。這些平行鏈可以看作是中繼鏈的客戶端,中繼鏈的目的是保護和協調平行鏈。

治理

Polkadot 有一個複雜的治理系統,所有 DOT( Polkadot 的原生代幣)持有者都有發言權。議案可由 DOT 持有人或理事會提出。兩者都需要透過一次質押權重(stake-weighted)的全民公投來達成一致。

所有 DOT 持有人都可以登記參加理事會。理事會由 23 名成員組成,定期一個月。它的作用只是代表 DOT 利益相關者,提交重要提案,在特殊情況下,取消毫無爭議的危險或惡意提案。

與公開提案相比,理事會提案的好處是要求在全民投票中透過的贊成票數量更少。理事會的提議需要得到理事會絕大多數成員的支援,沒有否決權。危險或惡意的提案只有在全體一致表決後才能取消。

技術委員會(由在 Polkadot 中實現或指定專案的團隊組成)的存在,其唯一目的是檢測程式碼中的錯誤等問題,並快速跟蹤鏈的緊急升級或更改。成員可由理事會以多數票增加或取消。

財政部(Treasury )資金的使用最終由所有 DOT 持有者透過全民公投來控制。財政部籌集資金的方式是透過轉移一些驗證人獎勵(來自通脹增發的部分),一小部分交易費用和 slash 懲罰(由惡意或不稱職的驗證人支付的罰款)。這些資金用於系統和更廣泛的生態系統(市場營銷、社羣活動和合作)的順利執行。

NPoS 機制

提名權益證明(NPoS)是對權益證明(PoS)的一種改編,在這種情況下,所有的代幣持有人都可以支援大量但有限的驗證人(在 genesis 中預計為數百個)。選定的驗證人負責執行中繼鏈。

這允許大量的 stake 去支援驗證人,遠遠高於任何單個使用者的持有量。由於提名人與他們支援的驗證人共享可能的 slash 懲罰和經濟回報,所以提名人被被激勵去選擇具有良好業績和安全實踐記錄的驗證人。

使用比例代表制(proportional representation),所有提名人中的一些少數人都可以按照他們的 stake 比例選出一些驗證人,不存在少數人被低估的情況。

因此,NPoS 不僅比工作證明(PoW)效率高得多,而且比沒有質押委託、且只有少數擁有大量代幣的人才能做驗證人的 PoS 方案更安全、更去中心化。

有關 Polkadot 中 NPoS 的更詳細描述,另請參閱學術論文《提名權益證明中的驗證人選舉》 https://arxiv.org/abs/2004.12990 和 Medium 的文章《NPoS 機制如何在 Polkadot 中執行》。

區塊生產和共識

使用 NPoS 選擇出來的驗證人負責透過混合共識接收、驗證和重新發布中繼鏈上的塊,該共識協議將最終性工具(GRANDPA)從塊生產機制(BABE)中分離出來。

這種組合允許 1) BABE 的概率最終性,因為它的鏈選擇規則,在一定時間後,區塊將以接近 1 的概率完成,2) GRANDPA 的可證明和確定的最終性,在這裡最終的塊永遠保持最終性。

組合這些機制可以避免在不知不覺中跟隨錯誤的分叉(概率最終性的風險),並允許塊的快速最終,因為較慢的最終性機制可以單獨最終塊,而不會導致較慢的交易處理或暫停。

有效性和可用性

簡言之,平行鏈收集人生成一個有效性證明(PoV)塊並將其傳送給平行鏈驗證人,後者將其區塊頭簽名為有效。具有足夠簽名的區塊頭被新增到中繼鏈塊中。

建立平行鏈區塊後,平行鏈 blob(PoV 塊和一組傳出訊息)需要一段時間才能使用,以確保非對抗性驗證人(即好的驗證人)可以檢查其有效性。為了使驗證人能夠共同保證可用性,會使用一個擦除編碼系統。這將 PoV 塊分發給所有驗證人。

Polkadot 有三級有效性檢查。

首先,當平行鏈驗證人驗證 PoV 塊時,它們簽名並將平行鏈 blob 的擦除程式碼分發給每個驗證人。

第二,作為釣魚人的節點(可能主要是充當收集人)將報告無效。

第三,一些隨機分配的驗證人檢查有效性。如果出現了大問題,也沒有向他們提供該塊,他們可以使用在第一級中分佈的足夠數量的擦除程式碼片段(即第一點中提到的分發)來重建 PoV 塊。

如果驗證人看到其他驗證人給出的無效報告,則可以透過分散式擦除程式碼片段重建 blob。如果存在一定數量的失效報告和驗證人在中繼鏈塊中沒有平行鏈塊頭的擦除程式碼段的報告,則中繼鏈塊將不會最終確定。

如果在中繼鏈上發現任何無效的平行鏈塊,則其驗證人將被 slash 懲罰。將一個無效塊放入 Polkadot 的預期成本是高於支援單個平行鏈的 stake 數量,這會起到了威懾作用。

如果中繼鏈塊所指的所有平行鏈塊都有足夠的有效性報告,並且沒有任何挑戰,那麼中繼鏈塊就可以由 GRANDPA 最終確定。

跨鏈訊息傳遞

跨鏈訊息傳遞(XCMP)可以讓訊息以安全、無信任的方式、快速、有序地在不同的平行鏈之間傳遞。XCMP 的主要目標之一是為在平行鏈之間傳遞的訊息提供一致的歷史記錄。

這包括兩部分:

一致的歷史記錄:平行鏈塊輸出佇列上的後設資料包含在中繼鏈上,稍後由另一個接收的平行鏈進行訊息驗證。

可靠傳遞:與此後設資料對應的訊息正文需要從發件人分發到收件人。

使用基於 Merkle 樹的簡單排隊機制來解析訊息的順序,以確保準確度。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;