區塊鏈技術資源分享
追尋中本聰先生的腳步
?

OFGP_開源網關協議實現跨鏈價值流通_iBitcome去中心化錢包_Braft跨鏈共識機制_藍狐筆記

最近藍狐筆記關注到OFGP的跨鏈解決方案,它是通用的去中心化的網關系統,它采用了聯盟鏈的方式來推動跨鏈價值流通,就目前階段,落地性較好,也是藍狐筆記期待能快速落地的一個跨鏈方案,值得關注。

OFGP是開放聯盟網關協議,英文稱之為Open federated gateway protocol for pegged sidechain,它是側鏈模式的跨鏈,也是跨鏈解決方案的一種。

側鏈模式主要原理是雙向錨定方案:主鏈token會被發送到主鏈的一個地址,token被鎖定,該地址代幣由側鏈的最小交易證明(SPV)解鎖。

OFGP通過去中心化的網關協議,讓跨鏈價值轉移變得方便。

OFGP從何而來 -?iBitcome去中心化錢包

OFGP是由iBitcome發布的開放聯盟網關協議,它的目標是希望實現不同鏈之間的價值轉移。

iBitcome是一款去中心化的錢包。去中心化錢包發展的重要路徑之一,就是跨鏈錢包。

所謂的跨鏈錢包就是不僅可以實現不同鏈資產的存儲和轉賬,還可以在錢包中實現幣幣交易和跨鏈價值轉移。

去中心化錢包,最后還可以把各種不同的應用接入進來,形成一個類似于去中心化應用商店,用戶在不同應用之間可以自由實現跨鏈的資產轉移,最終形成一個價值自由流通的生態系統。

從iBitcome的發展路徑來看,它應該不僅僅有錢包的功能,還希望打造區塊鏈的生態系統。目前看,iBitcome原生接入了DEx.top去中心化交易所,實現移動端的幣幣交易功能。

按照這個發展路徑,它順勢開發出了OFGP開放聯盟網關協議,跟DEx.top合作,實現把BCH鏈上資產轉移到以太坊,以太坊資產也可以轉移到BCH鏈。它是通過BCH-WBCH-ETH的方式,通過錨定主鏈資產,發布ERC-20的側鏈資產WBCH,然后實現跟以太坊之間的資產的互通。

當然OFGP是開放聯盟網關協議,其他主體都可以使用OFGP協議來搭建自己的去中心化跨鏈交易服務,不僅僅是iBitcome錢包,其他錢包或者交易所或其他區塊鏈項目都可以按照自己的需要來搭建。

那么,OFGP到底是什么?

OFGP是去中心化的開放聯盟網關協議

OFGP是去中心化的通用網關協議,主要在主鏈和側鏈之間實現價值轉移。

協議的共識機制是Braft協議,這在后續會闡述。通過Braft共識協議,OFGP可以將主鏈資產轉移到側鏈,資產在側鏈上應用于各種實際場景,可以有游戲、房租租賃、借貸、社交、打車等高頻場景。

在某種意義上,通過跨鏈方案,也在一定程度上解決了主鏈擴展性的問題。通過把資產轉移到側鏈,既可以保證資產的安全,也能通過側鏈的更高的吞吐量實現更快速的交易。

OFGP的去中心化網關協議有哪幾個值得關注的特性?

可實現多公鏈價值互通和生態構建

運用OFGP協議可實現多個公鏈之間的價值流通和生態構建,比如ETH、BTC、BCH、ADA、EOS、Tezos等。

比如BCH和ETH公鏈之間不僅可以價值互通,還可以實現用戶的互通,實現場景用戶的擴展。也就是說,使用OFGP協議有利于構建跨公鏈的生態體系。

總之,OFGP通過價值連接,可解決公有鏈的孤島問題。

去中心化的網關協議

這里很重要的一點就是OFGP是去中心化的協議,網關系統是分布式的,公開可驗證,完全透明,可信任。

它不屬于任何一方,是通用的。任何機構或個人都可以搭建自己的聯盟網關。網關不是通過中心機構來擔保,而是通過共識機制實現可信任的結果,保證資產的安全。

目前Mallow是第一家運行OFGP的多節點網關聯盟,所以也稱之為創世網關聯盟。由于OFGP是開放的聯盟網關協議,你也可以無須許可即可利用OFGP部署自己的網關聯盟,完成主鏈資產抵押認證,把價值傳遞到側鏈,實現價值傳輸。

用戶對資產具有掌控權

用戶可以將資產自由地從主鏈移入側鏈,或從側鏈轉回主鏈,擁有資產的完全控制權。

提升了擴展性

通過把主鏈資產轉入側鏈,應用于側鏈更豐富的交易場景,實現了擴展性。

聯盟網關模式

在傳統的側鏈架構設計中,一般并沒有獨立的網關設計。它主要是通過側鏈上的節點自身完成多重簽名,大多數的側鏈都是針對單一主鏈設計開發的。

OFGP針對這種現狀,構建的是聯盟網關,它一方面通過維護主鏈和側鏈SPV節點來對主鏈和側鏈的交易進行驗證,一方面采用M/N的方式進行多重簽名投票,保證了資產的安全性。

OFGP這樣設計的好處是它可以接入更多的公鏈并實現它們之間的價值流通。傳統的側鏈要求主鏈代幣持有人對側鏈團隊有充分信任,這種模式不利于側鏈的發展。OFGP的聯盟網關則通過讓主鏈信任的節點組成聯盟網關來執行簽名操作,實現了資產轉移的安全和可信。

OFGP網關中有簽名者(signer)和觀察者(watcher)兩個不同的角色。主鏈信任的signer節點執行簽名,觀察者監控不同類型的主鏈和側鏈的出塊情況。這種情況下,側鏈開發者或其它第三方開發者可以根據協議做簡單適配即可接入聯盟網關,獲得更多主鏈信任。

為了實現可靠的安全,OFGP采用了Braft共識機制來構建聯盟網關,實現簽名、鎖定、解鎖等操作的真實、透明、可追溯、不可篡改。

也就是說OFGP一方面降低了側鏈的跨鏈價值流通門檻,另一方面也獲得更多公鏈的支持,可以支持更豐富的交易場景。

那么,具體來說,OFGP是如何架構的,它的基本跨鏈流程是什么樣的?

OFGP的基本跨鏈流程

要想理解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能夠控制發幣和銷毀代幣的操作,為了保證資產安全,也需要加入多重簽名的驗證。

OFGP協議整體流程圖

總的來說,就是在主鏈上鎖定一定數量的代幣,然后根據鎖定代幣在側鏈發行新的代幣。反過來,就是側鏈上進行回兌,銷毀一定數量代幣后,在主鏈上解鎖相應數量的代幣。這里涉及到的匯率,不管是從主鏈到側鏈的發幣,還是側鏈回主鏈的回兌的匯率都會由去中心化的網關來確定。主鏈和側鏈通過去中心化網關實現雙向錨定。

OFGP的獨有共識機制:Braft

OFGP的共識機制是基于Raft上改進的算法,稱之為BFT RAFT算法(Byzantine Fault Tolerant Raft),簡稱為Braft算法。

Raft算法是基于leader選舉的一種協議。Raft有leader、follower和candidate三種角色,這些角色是可以相互轉換的。

通過加入BFT的改進,Braft可實現網關多個節點的一致性,同時也提供容錯性,包括一般性的網絡故障,如節點不能工作,以及拜占庭故障等。目前的設計是在節點數量為3f+1的網絡中,失效節點數為f,網絡仍然可以保持正確運行。

Braft節點也有跟raft類似的leader、follower、candidate三種角色,同時它把時間劃分為term,而不是系統時鐘。每個term期間從選舉leader開始,選出leader后進行請求消息同步。如果當前term沒有可用的leader,會進入新的term。

不同節點之間通過RPC進行通信,其中有兩個核心的RPC:RequestVote和AppendEntries。

RequestVote RPC由candidate節點發送給其他節點,請求其他節點為自己投票。如果某個candidate節點獲得了多數票,則該candidate角色轉變為leader角色。AppendEntries PRC則是由leader節點發送給其他節點,一是提供心跳機制,證明其還在工作;另外就是用戶復制log。

Braft共識算法的核心之一是選舉leader,那么leader是如何選出來的?

Braft的選舉跟raft算法類似,當leader宕機或廣播假消息,節點會對leader進行校驗,同時廣播校驗結果。當所有節點收集到其他節點發過來的異常校驗結果,一旦收集的節點數達到f+1,就會觸發leader的選舉。觸發leader選舉后,candidate開始向其他節點發送RequestVote RPC的投票請求,節點獲得足夠的票數(2f+1),candidate即可轉換成為leader角色。為驗證合法性,新leader當選后需要向其他節點展示自己的投票信息。

當leader選舉完成后,節點如何同步共識?

Leader主要負責打包區塊并廣播出去。

區塊打包過程有三種狀態,

  1. 廣播狀態,節點校驗本地term以及區塊高度,確認交易并廣播有效消息;
  2. 驗證狀態,一旦驗證通過的節點數達到2f+1(總節點數為3f+1),則信息被確認為有效。
  3. 最后是上鏈提交狀態。節點達成驗證狀態,被2f+1節點確認后,就可以廣播區塊上鏈,同時開始添加新區塊。

在Braft協議中,節點是動態加入或退出,但節點的加入或退出必須得到大多數節點的認可。

節點加入前需要設置引導節點,通過引導節點獲取所有節點信息。新節點向所有節點廣播自己的加入請求信息,leader收到加入請求后,會把下一個區塊設置為Reconfig類型,用于節點信息的變更;而其他節點收到加入請求后,會等待leader信息的Reconfig區塊。一旦Reconfig區塊共識達成,各節點把新節點信息加入到集群信息。同時,為了防止任意節點加入集群,新節點加入前需要在集群節點加上自己的host和pubkey信息,只有通過集群節點的校驗后才能發起加入請求。

節點的退出也需要通知其他節點。節點廣播退出請求后,leader會把下一個區塊設置為Reconfig類型,其他節點開始等待leader的Reconfig區塊。一旦Reconfig類型的區塊共識完成,各節點把該節點的標記為退出。

最后需要關注的一點是交易過程存在異常情況的處理:比如leader創建的交易輸入和輸出作弊、leader不發起交易、不同節點之間的全節點不完全同步、雙花、網絡異常(發送簽名失敗或交易上鏈失敗等)。OFGP針對這些異常情況,有自己的解決方案,這里不再詳述。

其他需要關注的點

在OFGP協議中需要客戶端,比如錢包來操作網關交易。用戶通過錢包可以完成充值和回兌的請求。充值本質上就是在主鏈上發起一筆交易。不過,在交易過程中,還需要用戶提供側鏈地址。此外,構造交易數據時,需要按照OFGP協議的數據格式填充相關的側鏈地址信息。

還有一點是關于私鑰管理。signer負責解鎖主鏈代幣及側鏈發幣的簽名。這里涉及到維護多重簽名地址的私鑰管理。為了兼顧安全和實用,OFGP采用了私鑰隔離加密存儲、私鑰生成及簽署服務獨立運行,并通過私鑰代理服務層對整體業務流程提供簽名數據輸出服務。

OFGP協議可以應用到哪些場景?

隨著區塊鏈增多,不同鏈之間有天然的價值流通需求。畢竟不可能一條鏈一統世界,這意味著不同的鏈會滿足不同的場景需求。不同的場景需求都會涉及到價值的使用。這樣,用戶的資產就有了在不同鏈之間進行流通的需求。

OFGP是去中心化的聯盟網關協議,它可以實現資產跨鏈流通,通過把資產從主鏈轉移到側鏈實現更高的擴展性和更豐富的落地場景。OFGP作為跨鏈模式的一種,它也可以在整個跨鏈價值生態中發揮出自己的作用。

讓我們假設Bob是一位共享出行打車鏈的司機,該打車鏈是基于以太坊的側鏈,Bob擁有打車鏈的token;Alice是共享房屋租賃鏈的房主,該租賃鏈是基于BCH的側鏈,Alice擁有該租賃鏈token;不管是Bob要租賃Alice房間,還是Alice要打Bob的車,雙方都可以使用自己的打車鏈token或租賃鏈token來支付服務費用,而無須為了打車或租賃房屋專門去交易所購買該打車token或租賃token。這中間可以通過OFGP協議進行價值的兌換和流通。

這樣的場景下,通過跨鏈價值流通,實現無縫交易和支付,用戶體驗更好。因為資產流通的摩擦變小,這會釋放出不同區塊鏈之間的潛力,最終帶來整個生態體系的成長。

最終來說,在跨鏈流通的過程中,同時完成用戶、數據、使用場景的連接,會構建出一個更大的價值生態。

除了跨鏈價值流通,具體來說,OFGP的側鏈模式在支持側鏈創新、去中心化交易所等方面也有自己的應用場景。

由于OFGP網關可以實現主鏈資產向側鏈轉移,在保證側鏈資產安全性的同時,也允許側鏈有更高的吞吐量來完成更高頻的場景需求。側鏈可以把重心放在用戶的實際需求上,不用擔心資產的安全?,F實中的各種應用,比如游戲、金融、社交、共享經濟都可以在側鏈上進行更多創新的探索,比如游戲領域的loom network正在積極探索側鏈的應用場景。

又比如,可在側鏈構建更高效的去中心化交易所。傳統的去中心化交易所一般是依賴某一條主鏈,如基于以太坊的去中心化交易所。而通過OFGP的去中心化網關協議可以將不同幣種映射到同一條側鏈,可以實現價值流通,例如建立BCH-ETH的網關,把BCH映射到ETH上的一種代幣上,假設名為“BGE”的token,“BGE”是基于以太坊的ERC20 token。那么,在基于以太坊上開發的去中心化交易合約中加入BGE和ETH的交易對,就可以實現BCH和ETH的交易。

跨鏈是解決區塊鏈孤島問題的重要方法

通過去中心化的網關模式來解決跨鏈問題,有相對較好的落地性,同時它通過側鏈模式,實現主鏈和側鏈資產的雙向錨定,在某種程度上,它也實現了區塊鏈的擴展性。

一方面它保證了資產的安全,另外一方面,給了側鏈更大的擴展空間,在吞吐量上有了很大提升,同時,讓側鏈可以更專注于實際需求的探索和落地。這也是區塊鏈未來發展的重要探索方向。

OFGP側鏈模式的跨鏈可以加速不同鏈資產之間的流通,也可以推動更多側鏈的探索,有利于形成更加豐富的區塊鏈生態場景。目前一些側鏈的探索逐漸有了一些進展,比如loom network的游戲應用探索等,未來還會有金融、社交、共享經濟等領域的探索。

這些基于側鏈的探索越多,場景越豐富,不同鏈之間的價值跨鏈需求就越大,OFGP的聯盟網關協議的需求也會越大。這是一個相互促進和共榮共進的關系。期待OFGP的跨鏈和區塊鏈的側鏈探索一起能夠盡快取得突破,從而推動整個區塊鏈生態體系的進展。

OFGP_開源網關協議實現跨鏈價值流通_Braft跨鏈共識機制

分享到:更多 ()
0
區塊鏈神吐槽
pi幣注冊流程教程圖解中文版

來評論吐槽 搶沙發

評論前必須登錄!

 

區塊鏈資源分享聯系我

區塊鏈資源分享聯系我首頁更多新聞
做滴滴代驾还是开滴滴那个赚钱