波卡 XCMP 跨鏈訊息傳遞最新進展

買賣虛擬貨幣
本文是波卡百科(Polkadot Wiki)進階部分的跨鏈訊息傳遞 XCMP 章節,XCMP 是波卡跨鏈設計的核心之一,讓訊息能在波卡各個平行鏈間傳遞。PolkaWorld 社羣正在陸續翻譯波卡百科內容,並將連載在 PolkaWorld 公眾號上。跨鏈交易透過基於 Merkle 樹的簡單排隊機制來解決,以確保準確性。中繼鏈驗證人的任務是將一個平行鏈的輸出佇列上的交易移動到目標平行鏈的輸入佇列中。但是,只有關聯的後設資料作為雜湊儲存在中繼鏈儲存器中。輸入(input )和輸出(output)佇列有時在程式碼庫和相關文件中分別稱為 “入口(ingress)” 和 “出口(egress)” 訊息。XCMP 概覽XCMP 目前正在開發中,細節可能會有變化。但是,總體架構和設計決策如下:
· 跨鏈訊息不會傳遞到中繼鏈。· 跨鏈訊息將被限制為以位元組為單位的最大大小。· 平行鏈可以拒絕來自其他平行鏈的訊息,在這種情況下,排程平行鏈將知道這個塊。· 收集人節點負責在鏈之間路由訊息。· 收集人生成一個 “出口” 訊息列表,並將從其他平行連結收 “入口” 訊息。· 在每個塊上,平行鏈被期望從所有其他平行鏈的某個子集路由訊息。
· 當一個收集人產生一個新的塊交給驗證人時,它將收集最新的入口佇列資訊並進行處理。· 驗證人將檢查下一個平行鏈塊的新候選者是否包含對該平行鏈的預期入口訊息的處理。XCMP 佇列必須首先透過開啟兩個平行鏈之間的通道來啟動。通道由傳送方和接收方的平行鏈辨識,這意味著它是一個單向通道。一對平行鏈之間最多可以有兩個通道,一個用於向另一個鏈傳送訊息,另一個用於接收訊息。通道的開啟需要 DOT 押金,當通道關閉時將返回。水平中繼路由資訊傳遞 (HRMP)在 XCMP 仍在實現的過程中,它的替代品是一種稱為 HRMP 的權宜之計(見下面的定義)。HRMP 具有與 XCMP 相同的介面和功能,但是對資源的要求更高,因為它將所有訊息儲存在中繼鏈儲存中。當 XCMP 實現時,HRMP 計劃被棄用並逐步淘汰,XCMP 將取而代之。注意:權宜之計協議是對未完全完成的功能的臨時替代。雖然 XCMP 本身仍在開發中,但 HRMP 是一個有效的替代品。
垂直訊息傳遞垂直訊息傳遞(Vertical Message Passing)有兩種,向上訊息傳遞(UMP)和向下訊息傳遞(DMP)。當訊息來自平行鏈或平行執行緒並從該平行鏈到中繼鏈時,使用 UMP。當一條訊息從中繼鏈發出並以平行鏈為目的地時,DMP 被用來進行相反的操作。透過 DMP 傳遞的訊息可能來自平行鏈。在這種情況下,第一個 UMP 用於將訊息傳遞到中繼鏈,而 DMP 用於將其向下移動到另一個平行鏈。XCMP 訊息格式有關 XCMP 訊息格式的描述,請參閱 GitHub 上的 xcm 格式儲存庫。https://github.com/paritytech/xcm-formatXCMP 示例
存在於平行鏈  A 上的智慧合約會將一條訊息路由到平行鏈 B,在這個訊息中,呼叫另一個智慧合約,在該鏈中進行一些資產的轉移。Charlie 在 parachain A 上執行智慧合約,目的是為 parachain B 上的智慧合約發起一條新的跨鏈訊息。parachain A 的收集人節點將把這個新的跨鏈訊息與目的地和時間戳一起放入其出站訊息佇列中。parachain B 的收集人節點通常 ping 所有其他收集人節點去請求新訊息(按 destination 欄位過濾)。當 parachain B 的收集人進行下一次 ping 時,它將在 parachain A 上看到這個新訊息,並將其新增到自己的入站佇列中,以便處理到下一個塊中。parachain A 的驗證人也將讀取出站佇列並知道訊息。parachain B 的驗證人也會這樣做。這樣他們就能夠驗證訊息傳輸的發生。當 parachain B 的收集人正在構建其鏈中的下一個塊時,它將處理入站佇列中的新訊息以及它可能已經找到/接收到的任何其他訊息。
在處理過程中,訊息將在 parachain B 上執行智慧合約,並按預期完成資產轉移。收集人現在將這個塊交給驗證人,驗證人本身將驗證該訊息是否已被處理。如果訊息被處理並且塊的所有其他方面都有效,那麼驗證人將把 parachain B 的這個塊包含到中繼鏈中。資源XCMP Scheme - Web3 基金會研究 wiki 上關於跨鏈的完整技術描述:https://research.web3.foundation/en/latest/polkadot/XCMP.htmlMessaging Overview - 平行鏈實施指南中的訊息傳遞方案概述:https://w3f.github.io/parachain-implementers-guide/messaging.htmlXCM Format - XCMP 格式的說明:https://github.com/paritytech/xcm-format

免責聲明:

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

推荐阅读

;