要想理解OFGP的跨鏈協議,首先來看它的跨鏈基本流程。
OFGP協議負責主鏈和側鏈之間的協議通信。它要實現把主鏈資產轉移到側鏈,在側鏈上發幣;也要實現把側鏈資產回兌到主鏈。另外,還有很重要的一點就是,在雙向錨定過程中保證資產安全和匯率合理。
OFGP開放
聯盟網關協議有兩個關鍵角色:Signer、Watcher。
Signer主要負責資產從側鏈轉回主鏈的回兌交易簽名,還有網關的共識協議,是開放式聯盟網關的核心角色。Watcher則主要負責網關和鏈之間的交互,監聽鏈上的交易信息,同時適配不同的主鏈和側鏈。
具體流程來說,用戶要完成一筆跨鏈交易,首先用戶把主鏈資產發送到主鏈上的特定地址。該特定地址是多重簽名地址,由去中心化網關生成。多重簽名地址的好處是,可以保證資產被安全的鎖定在該地址上。因為只有某一個或幾個網關成員無法完成這筆資產的轉賬,根據多簽算法而定,需要達到一定比例的相關成員簽名才能解鎖該資產。
一旦用戶把主鏈資產發送到特定地址后,監聽鏈上交易信息的watcher就會監控到該主鏈交易,然后它會把這筆交易的信息發送給Signer,信息包括了主鏈交易的tid、特定地址的address、交易金額、側鏈相應的充值地址。
在收到信息之后,signer會通過tid來驗證交易的真實性和準確性,一旦確定交易不會被撤銷,signer會在聯盟鏈上保存這筆跨鏈交易的信息。此外,signer還會向側鏈發起請求,要求發幣。這樣完成了資產從主鏈向側鏈轉移的過程。
舉個例子,代幣從BCH轉移到ETH的基本流程:首先BCH鏈上向特定的多簽地址轉入一定數量的BCH,然后相應的網關會到ETH鏈上的合約里面給特定賬戶進行充值一定數量的代幣。仔細來說,leader(Braft算法的角色,后面會提及)創建ETH的交易輸入,廣播給網絡中的所有節點,節點收到簽名請求,對交易內容進行校驗。如校驗通過,則會調用合約接口,發起充值交易。節點簽名后去ETH鏈上監聽交易是否完成,如完成,則創建一筆網關內部交易,記錄兩條公鏈的交易信息。
那么,如果用戶想把自己的資產從側鏈轉移到主鏈呢?用戶首先需要在側鏈發起回兌請求。發起回兌請求之后,會在側鏈上完成燃燒代幣的交易。這個時候watcher把監控到的信息發送給signer,signer會在側鏈驗證該交易是否真實和準確,在確定交易不會被撤銷后,通過Braft共識算法來達成共識。如果共識達成,則signer會發起主鏈交易,解鎖用戶的部分代幣。同時,Signer會在鏈上保存相關信息。
舉個例子,從ETH把代幣回兌到BCH的基本操作:首先在ETH合約上進行代幣燃燒,相應的網關會在BCH上發起一筆從多簽地址到用戶地址的交易。具體來說,leader創建一個待簽名的BCH交易,廣播給網絡中的其他節點,節點收到簽名請求,對交易內容進行校驗,如校驗通過,則簽名并把簽名廣播給網絡中的其他節點。一旦,簽名數達到要求,則發送交易到BCH鏈。同時,節點還從鏈上監聽交易是否最終被確認,一旦交易確認,會創建一筆網關內部交易,記錄兩條公鏈的交易信息。
OFGP協議要求主鏈能夠支持多重簽名的地址或合約。比如
btc、BCH等鏈是原生支持的,ETH等通過智能合約也可以實現多簽的合約支持。對側鏈的要求是,Signer能夠控制發幣和銷毀代幣的操作,為了保證資產安全,也需要加入多重簽名的驗證。
(整體流程圖)
總的來說,就是在主鏈上鎖定一定數量的代幣,然后根據鎖定代幣在側鏈發行新的代幣。反過來,就是側鏈上進行回兌,銷毀一定數量代幣后,在主鏈上解鎖相應數量的代幣。這里涉及到的匯率,不管是從主鏈到側鏈的發幣,還是側鏈回主鏈的回兌的匯率都會由去中心化的網關來確定。主鏈和側鏈通過去中心化網關實現雙向錨定。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。