波卡網絡可擴展性限制了平行鏈插槽數量,預計在 Polkadot 網絡運行的一兩年內,平行鏈插槽將從初期的 5 個逐步增加至 50 ~ 200 個。

原文標題:《波卡啓動 NPoS,這些技術方案值得關注?》
撰文:HashQuark 社區

Polkadot 今日啓動 NPoS (驗證人選舉),其技術方案也再次引發關注。關於 Polkadot 的幾大技術知識點,我們都總結在此了:

  • Polkadot 網絡,中繼鏈、平行鏈和轉接橋
  • XCMP 方案,鏈間互操作的基礎
  • Cumulus 框架,輕鬆創建兼容波卡的平行鏈
  • 平行鏈插槽,共享安全的「敲門磚」

波卡啓動 NPoS,平行鏈插槽、XCMP、Cumulus 等技術方案值得關注

Polkadot 網絡

Polkadot 網絡是一種異構多鏈網絡,由中繼鏈、平行鏈和到其他網絡的轉接橋組成。

中繼鏈負責在平行鏈之間達成共識和輸送交易,平行鏈則是獨立的區塊鏈,並具有自己的狀態轉換,可以收集和處理交易,同時共享中繼鏈的安全性。轉接橋允許 Polkadot 網絡與其它非直接支持的區塊鏈網絡相互操作。

那麼 Polkadot 網絡如何實現如何實現不同鏈之間信息的傳遞呢?

XCMP 方案

Polkadot 的跨鏈消息傳遞(Cross-chain Message Passing, XCMP)方案是 Polkadot 協議的一個子集,主要用來定義除共享中繼鏈安全之外,在無其他信任假設的情況下,消息如何在平行鏈之間傳遞。主要包括:

  • 消息隊列機制,基於 Gossip 協議傳播消息。
  • 消息可用性,基於糾刪碼技術。
  • 消息輸入和輸出驗證。

簡言之,XCMP 方案利用基於 Merkle 樹的簡單隊列機制確保跨鏈交易的正確性,並由中繼鏈上的驗證人負責把平行鏈出口隊列中的交易轉移到目標鏈的入口隊列中。

XCMP 方案是非常底層的基礎協議,直接使用 XCMP 實現跨鏈依然頗爲繁重,因爲它只負責消息發送,但沒有定義接受方如何響應。Polkadot 提出了共享安全區(Shared Protected Runtime Execution Enclaves, SPREE)解決方案。SPREE 允許在每個平行鏈上開闢一塊與平行鏈獨立的安全區,在該區域中執行公認安全的代碼,確保其不受平行鏈干擾,從而解決接收方不可信的問題。

Cumulus 框架

Cumulus 的目標是對 Substrate 進行擴展,使任何 Substrate Runtime 都能輕鬆地成爲兼容 Polkadot 的平行鏈。而 Substrate 的目標則是簡化創建新區塊鏈的過程,但並不直接提供 Polkadot 兼容性支持。兩者是目前僅有的波卡平行鏈開發套件(Parachain Development Kit, PDK)。

Cumulus 包含的組件如下:

  • Consensus 組件,內置一個 Polkadot 節點的 Substrate 共識引擎,供客戶端選擇最終確定鏈。
  • Runtime 組件,Substrate Runtime 的包裝器,可以使其被 Polkadot 驗證節點驗證,並提供證明生成子程序。
  • Collator 組件,用於平行鏈 Polkadot 收集節點的工具。

平行鏈插槽

爲什麼要限制平行鏈的數目?這是由於 Polkadot 網絡中的資源有限,網絡需要消耗資源來保證平行鏈保持安全和可用。同時,Polkadot 初期有一些關鍵的可擴展性限制,尤其是網絡中消息隊列的開銷,這些自然會導致對平行鏈數目的限制。

平行鏈插槽的公平分配:創世期上線的平行鏈插槽是由 Web3 基金會通過兩種方式來決定的:

  • 贊助一些公益性質的基礎設施鏈,包括轉接橋鏈和智能合約鏈。
  • 鏈下類蠟燭式拍賣(Candle Auction),抵押 DOT,租賃插槽。

插槽競標的運作方式:每個平行鏈插槽的最長持有時間爲兩年,每六個月分割爲一個租賃期。在開始一組平行鏈插槽租賃之前的六個月中,將進行幾次拍賣。投標人將提交一份投標配置,以指定他們願意鎖定的 DOT 金額以及租賃範圍。該範圍可以是持有時段 1-4 的任何連續範圍。

插槽數量增長方式:目前預計在 Polkadot 網絡運行的一兩年內,平行鏈插槽將從初期的 5 個逐步增加至 50 ~ 200 個。

參考文獻:

XCMP@Polkadot Wiki,
https://wiki.polkadot.network/docs/en/learn-crosschain

Polkadot Issue #597,
https://github.com/paritytech/polkadot/issues/597

Cumulus@Polkadot Wiki,
https://wiki.polkadot.network/docs/en/build-cumulus

Parachain Slots Auction@PolkadotWiki,
https://wiki.polkadot.network/docs/en/learn-auction

Cosmos IBC,
https://github.com/cosmos/ics/tree/master/translation/zh-CN/ibc

來源鏈接:mp.weixin.qq.com