Relayer 為跨鏈資訊的搬運工,主要用於在中繼鏈和成員鏈間搬運跨鏈資料,若Relayer 希望在中繼鏈於成員鏈間搬運跨鏈資料,Relayer 鏈需先向中繼鏈進行註冊,等待中繼鏈治理委員會稽覈透過後即可啟用與中繼鏈或者其它成員鏈間的跨鏈資訊的搬運;
3.跨鏈架構模組
跨鏈架構模板主要包含如下三種:
· 多鏈管理合約(CCMC):主要負責成員鏈和 Relayer 的註冊、治理、退出等事宜。跨鏈管理合約部署在主鏈,成員鏈不需要部署該合約;
· 區塊頭同步合約:在中繼鏈和成員鏈跨鏈互動過程中需要進行關鍵區塊頭資訊的同步,以驗證跨鏈交易的合法性。區塊頭同步合約部署在中繼鏈和每一條成員鏈上;
· 跨鏈管理合約:所有跨鏈交易都由源鏈上的跨鏈管理合約來進行統一管理,dApp 開發者無需關心具體的跨鏈邏輯,只需呼叫跨鏈管理合約的統一方法即可實現跨鏈。跨鏈管理合約部署在中繼鏈和每一條成員鏈上。
4. 跨鏈互動流程
1. 跨鏈事務最終一致性互動流程:
· 使用者呼叫源鏈的跨鏈智慧合約,等待源鏈跨鏈交易落賬,Relayer 將監聽源鏈的跨鏈資訊並將必要的資訊傳遞到 Poly Chain;
· Poly Chain 接收到 Relayer 同步過來的跨鏈資訊後,會驗證跨鏈資訊的合法性,驗證透過後會統一源鏈的狀態資訊並生成相應的跨鏈資訊由 Relayer 傳遞到目標鏈;
· 目標連結收到 Poly Chain 傳遞過來的資訊後,會驗證該資訊的合法性,驗證透過後會調研目標鏈上的跨鏈合約,至此,跨鏈互動完成。
2. 跨鏈事務強一致性互動流程:
· 使用者從源鏈發起一筆跨鏈交易,並生成相應的跨鏈訊息由 Relayer 傳遞到 Poly Chain;
· Poly Chain 在接收到該跨鏈訊息後解析該訊息,並由 Relayer 傳遞到相應的多個目標鏈上,Prepare 階段開始;
· 各目標連結收到對應的跨鏈訊息後首先驗證該跨鏈訊息的合法性,驗證成功後執行該跨鏈訊息併產生一定的執行結果由 Relayer 返回 Poly Chain,Prepare 階段完成;
· Poly Chain 在接收到多個目標鏈的訊息後先驗證跨鏈訊息的合法性,並將跨鏈訊息歸集後由 Relayer 傳遞給各個目標鏈,Commit 階段開始;
· 各目標連結接收到對應的跨鏈訊息後先驗證該跨鏈訊息的合法性,驗證成功後執行該跨鏈訊息並落賬,Commit 階段完成,至此,跨鏈互動完成。
5. 跨鏈資訊保安性
跨鏈管理合約根據 Relayer 提交的跨鏈訊息中包含的 Merkle Proof 證明該跨鏈訊息的合法性,而該訊息的證明需要對應的狀態根資訊;
跨鏈管理合約會從區塊頭同步合約中或者對應高度的狀態根,由於該狀態根是經過成員鏈共識節點簽名的資訊,當該狀態根資訊本同步到區塊頭同步合約時,合約會驗證該簽名資訊的合約性,若合法則將該狀態根和高度儲存在持久化儲存中;
跨鏈管理合約獲取了合法的狀態根和該狀態的 Merkle Proof 從而證明了跨鏈訊息的合法性。
4. 結語
未來,Poly Network 將設計更完善的經濟激勵模型及治理機制,擴充套件理事會成員,並進行更多異構鏈協議的支援,解決更多異構鏈間任意資訊跨鏈。