中繼鏈(Relay Chain)是Polkadot 網路的核心部分,它包含了網路的主要邏輯。在平行鏈開始運作以及開發XCM 之前,中繼鏈承擔這些核心邏輯是必要的。但隨著時間的發展,現在這些核心邏輯可以考慮被遷移到系統平行鏈上了!因此,Gavin Wood 博士和Web3 基金會的Joe Petrowski 發起RFC – 32,提議將多個子系統的邏輯從中繼鏈遷移到「系統平行鏈」上,這些「系統鏈」與中繼鏈一起形成了整個Polkadot網路。
那麼,為什麼要將中繼鏈的部分邏輯分解到系統平行鏈呢?哪些功能會先分解出來?查看以下PolkaWorld 整理的重要資訊!
為什麼要這樣做?
Polkadot 網路是為了能擴展並允許多個獨立的狀態機(即平行鏈)在一個共同的安全和有效性保證下工作。為了實現這個保證,中繼鏈有一個驗證人集合,這些驗證人主要負責中繼鏈的安全性。然而,並不是所有驗證人都直接處理平行鏈的狀態轉換。平行鏈的每個狀態轉換由驗證人的子集,稱為「支援群組」(backing group)來處理。這意味著,並非所有驗證人都直接處理平行鏈的每個狀態轉換,只有其中只有一個子集負責處理狀態轉換。
但是當狀態轉換發生在中繼鏈上時,所有驗證人都需要參與執行,以確保網路的一致性和安全性。然而,這種設計的副作用是效能上的瓶頸,因為每次狀態的變化都需要全網的驗證,這會增加延遲並限制吞吐量。
但如果中繼鏈的狀態轉換可以在平行鏈上進行,那麼這將會釋放出一些資源。這意味著原本用於中繼鏈狀態轉換的那部分驗證人資源可以被重新利用,從而為網路提供更多的核心時間,也就是更多的區塊空間。
總的來說,將中繼鏈的部分邏輯遷移到系統平行鏈上有以下幾個主要原因:
-
效能和擴展性: 透過將某些邏輯和職責遷移到系統平行鏈上,中繼鏈可以專注於其核心職責,從而提高整體網路的效能和擴展性。
-
資源最佳化: 當部分邏輯遷移到系統平行鏈後,中繼鏈可以釋放出更多的資源供其他任務使用,例如處理跨鏈訊息傳遞或為更多的平行鏈提供安全性保障。
-
模組化與靈活性: 採用模組化的設計可以更容易修改、升級或添加新功能,而不會幹擾中繼鏈的主要操作。這為未來的創新和功能擴展提供了更大的靈活性。
-
安全性: 將部分邏輯從中繼鏈分離可以降低單點故障的風險。在獨立的系統平行鏈上,如果某個平行鏈遭受攻擊或故障,它不太可能影響中繼鍊或其他平行鏈。
-
更多的平行鏈機會: 透過釋放中繼鏈的資源,Polkadot 網路可以支援更多的平行鏈加入,從而進一步擴大其生態系統。
-
特定功能的最佳化: 隨著Polkadot 的發展,某些功能或邏輯可能需要專門的最佳化或專門的處理方法。將這些功能移動到專門的系統平行鏈上可以確保它們得到最佳的處理和最佳化。
哪些功能會被分解到系統平行鏈?
以下模組和子系統是從中繼鏈遷移出去的可能選項:
1.身分(Identity)
2.餘額(Balances)
3.質押(Staking)
Staking
Election Provider
Bags List
NIS
Nomination Pools
Fast Unstake
4.治理(Governance)
Treasury and Bounties
Conviction Voting
Referenda
注意:目前的拍賣和眾貸模組將不再使用,而是將由名為Coretime 的新系統來取代它們。具體關於Coretime 的系統鍊和其介面的詳細資訊分別在RFC-1 和RFC-5 文件中有描述。目前Polkadot Fellowship 也正在開發Coretime 平行鏈。更多Polkadot 進展請查看《波卡Q3 進展:5 條新平行鏈上線,USDC 進入生態,質押、獨立帳戶和鏈上事件顯著增長》
如何遷移?
有些子系統可以比較簡單地從中繼鏈遷移到其他地方。以身份驗證為例,可以簡單地阻止中繼鏈上的狀態變更,並使用與身份驗證相關的狀態為新鏈設定初始狀態。然後,使用該初始狀態和相關邏輯(或稱為模組)來啟動新鏈。
但是,有些子系統在遷移過程中不能有任何的停機時間,因為它們對於整個網路的正常運作非常關鍵,例如質押和治理。即使如此,這些關鍵子系統可能還是可以與其他具有相似權限的系統鏈共同存在一段時間。就像”Gov1″ 和”OpenGov” 在後者引入時共存一樣。