每個平行鏈插槽最長持續時間為 2 年。每 6 個月的時間間隔被劃分為自己的租賃期。多個連續週期(period )就是一個範圍(range )。
在一系列平行鏈插槽租賃開始前的六個月,將有幾次拍賣會舉行。
投標人將提交一個配置的投標檔案,具體說明他們願意鎖定的 DOT 金額和範圍。插槽範圍可以是週期 1-4 的任何連續範圍。
單個投標人的投標人配置可能如下所示:
贏家選擇演算法將選擇可能不重疊的出價,以最大限度地增加在整個 2 年租賃期的平行鏈插槽持有的 DOT 數。這意味著,在任何給定的插槽租賃期內,出價最高的人可能不會總是獲勝(請參閱下面的示例)。
在每個塊上確定一個隨機數,它基於 Polkadot 使用的 VRF。此外,每個拍賣都有一個從 0 開始並增加到 1 的閾值。VRF 產生的隨機數在閾值旁邊被檢查,以確定該塊是否是拍賣的結束。此外,VRF 將從上一個 epoch 中選擇一個塊來獲取出價狀態(以減輕來自惡意驗證人的某些型別的攻擊)。
案例
不存在競爭的場景
有一個平行鏈插槽可用。
Alice 出價 20 DOT,選擇範圍是 1-2。
Bob 出價 30 DOT,選擇的範圍 3-4。
拍賣結束。
Alice 繫結了 20 DOT,將在第一年使用平行鏈的插槽。
Bob 繫結了 30 DOT,將在第二年使用平行鏈的插槽。
競爭場景
有一個平行鏈插槽可用。
Charlie 出價 75 DOT,選擇的範圍是 1-4。
Dave 出價 100 DOT,選擇的範圍 3-4。
Emily 出價 40 DOT,選擇的範圍 1-2。
讓我們根據演算法計算出每個投標人的估價。我們透過將繫結的金額乘以投標指定範圍內的期限來實現這一點。
Charlie:75*4 = 300,選擇範圍 1-4。
Dave:100*2 = 200,選擇範圍 3-4。
Emily:40*2 = 80,選擇範圍 1-2。
儘管根據 DOT 金額,Dave 的出價最高,但當我們進行計算時,我們會發現,由於他只競拍了 2個週期,他需要與出價更低的 Emily 分享這個插槽。Dave 和 Emily 的出價加起來只有 280 的估價。
Charlie 對整個範圍的估價為 300,因此 Charlie 得到 Parachin 插槽的完整範圍。
常見問題解答
為什麼大家不直接競拍最大的期限?
在這個插槽內,DOT 在拍賣中的出價將被鎖定。這意味著存在可能使用這些 DOT 做其他事情的機會成本。對於有利於 Polkadot 的 parachains,應該使 parachains 和 Polkadot 中繼鏈之間的利益保持一致。
這種機制如何確保平行鏈的多樣性?
將平行鏈插槽劃分為六個月的時間間隔的方法,部分也是源於希望存在更多的平行鏈多樣性,並防止特別大和資金充足的平行鏈囤積插槽位。透過將每個週期定為 6 個月,但整個插槽的持續時間為 2 年,該機制可以應對資金充足的平行鏈,以確保它們在租約結束時獲得一個插槽,同時逐漸允許其他平行鏈進入生態系統,佔據其他還沒有被使用的 6 個月的週期。例如,如果一個大型的,資金充足的 parachain 已經獲得了一個範圍為 1-4 的插槽,那麼他們將非常有興趣獲得下一個 2-5 範圍的插槽。在這個機制下,平行鏈可以獲得週期 5(因為它只需要週期 5),並允許第二個平行鏈插槽使用範圍 2-4。
為什麼區塊鏈上的隨機性很難?
對於區塊鏈系統來說,隨機性是個問題。在一個透明和開放的網路上產生一個不可信任的隨機數,在這個網路中,其他各方必須能夠驗證,這為參與者試圖改變或操縱隨機性開啟了可能性。已經提出了一些解決方案,包括像 RANDAO 這樣的 hash-onions 和可驗證隨機函式(VRFs)。後者是波卡用來作為其隨機性的基礎。
資源
Parachain Allocation :W3F 研究頁面上關於的 parachain 分配更深入的機制說明 https://research.web3.foundation/en/latest/polkadot/Parachain-Allocation.html。
paritytech/polkadot#239 :平行鏈插槽的程式碼 https://github.com/paritytech/polkadot/pull/239