買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > TRX > Info

WAS:一文讀懂驗證引擎的設計理念_BRI

Author:

Time:1900/1/1 0:00:00

BitXHub跨鏈體系中,驗證引擎是跨鏈交易中不可缺少的一個重要組成部分。驗證引擎主要提供了對跨鏈交易背書規則合約部署執行,對跨鏈交易背書驗證和內容驗證的功能。本文主要從驗證引擎的設計、部署執行流程以及驗證規則編寫等方面進行介紹。

一、整體設計

驗證引擎的整體架構設計如下圖所示:

驗證引擎的設計采用了驗證器的插拔式設計,即對于不同的跨鏈交易所采用不同的驗證規則策略,驗證引擎會根據規則地址來判斷采用不同的驗證器進行驗證。現階段的驗證引擎支持Go內置驗證器和WASM虛擬機驗證器。下面將對兩種驗證器分別進行介紹:

第一種驗證器是Go內置驗證器。這個驗證器是為一些常見的區塊鏈和默認規則提供的方便調用的驗證器。原生的集成在了BitXHub的中繼鏈中,例如對于常見的Fabric區塊鏈,BitXHub的中繼鏈提供了一個默認的規則地址,用戶只要通過注冊這個地址的規則就能直接調用默認的Fabric驗證規則對跨鏈交易進行驗證了。

LooksRare即將推出“Season One”:金色財經報道,NFT 市場LooksRare在社交媒體正式發布“Season One”預告片并配文“寶石狩獵即將賦予全新含義”,雖然目前尚不清楚這句話的含義,但社區分析可能與LOOKS代幣或某種平臺激勵計劃有關,因為LooksRare上周末推出LOOKS代幣回購計劃時明確表示未來還有很多“moonshot”項目正在籌備中。LooksRare此前還披露已回購超過55萬枚LOOKS代幣并存入項目金庫,價值超過4.5萬美元。[2023/5/31 11:49:53]

第二種驗證器是WASM驗證器。這個驗證器是使用了wasm虛擬機作為規則的執行器來進行驗證。由于wasm的特性,使用這種驗證器可以允許用戶使用不同類型的語言編寫驗證規則,比如C,rust或者Go等。同時wasm本身的運行性能也要高于很多區塊鏈的合約虛擬機,例如evm。用戶只需要用自己喜歡的語言編寫好驗證規則,編譯成wasm的字節碼就可以部署到中繼鏈上了。

馬斯克:推特已控制住開支,但仍不安全:12月26日消息,馬斯克在回復推特用戶時表示,盡管已經控制住了開支,但推特目前還不安全。公司只是沒有走上破產的快車道,但仍有很多工作要做。據此前消息,馬斯克表示一旦找到繼任者便會辭去CEO職務,之后將只會負責管理軟件和服務器團隊。[2022/12/26 22:07:25]

二、?部署執行流程

從整體設計我們可以看到驗證引擎主要分為兩部分,一部分是驗證器模塊,另一部分是規則管理模塊。只有通過規則管理模塊部署了驗證規則的應用鏈發送的跨鏈交易才能夠通過驗證引擎的驗證。如果沒有部署驗證規則,那么當一筆跨鏈交易傳入中繼鏈并進入到驗證引擎后,驗證引擎會因為無法找到對應的驗證規則而返回驗證失敗。所以整個流程的第一步就是對驗證規則的部署。

規則管理模塊同時也提供了對應用鏈驗證規則的熱更新和刪除,當用戶發現自己應用鏈的驗證規則合約有錯誤或者應用鏈的背書規則有升級或者改變時,可以通過規則管理模塊向中繼鏈發送系統交易修改驗證規則,規則的更新是實時動態的,不會影響中繼鏈的運行。

MetaMask與Sardine集成,美國用戶可通過銀行賬戶直接購買加密貨幣:10月14日消息,提供即時ACH結算的金融平臺Sardine和ConsenSys建立合作伙伴關系,MetaMask現支持其美國用戶使用銀行賬戶從錢包界面直接購買加密貨幣。據悉,MetaMask美國用戶必須經過Sardine的強制性KYC流程以使用ACH銀行賬戶購買加密貨幣,且交易額度比傳統銀行卡更高。[2022/10/14 14:27:40]

BitXHub的中繼鏈內置了規則管理的合約,跨鏈網關通過調用內置合約就可以將自己對應的應用鏈的驗證規則注冊到中繼鏈上。如果驗證規則調用的是GO內置的驗證規則,用戶只需要將對應的內置規則的地址注冊到中繼鏈即可。如果用戶想要定制自己的驗證規則,先將wasm的字節碼部署到中繼鏈上,再將合約地址做一個關聯即可讓驗證引擎在驗證階段對驗證規則進行調用了。

一匿名巨鯨購入1000億枚SHIB,價值超110萬美元:金色財經報道,據Etherscan監測數據顯示,一個“0xb8e6”開頭的巨鯨地址在KuCoin平臺購買了1000億枚SHIB,價值1,108,000美元,隨后該巨鯨又將購得的SHIB轉移到了一個冷錢包。另據CryptEye數據顯示,至少持有1枚SHIB的地址數量已突破200萬,截至目前為2,197,622個,創歷史新高。[2022/10/10 12:51:58]

驗證引擎的另一個部分是驗證器模塊的執行層,也是驗證引擎最主要的部分,下圖是驗證引擎執行的主要流程圖:

B站發布首個UP主數字藏品:7月21日消息,嗶哩嗶哩(B 站)上線億點點海洋探秘系列數字藏品。限量發行 5000 份,由 B 站與 UP 主億點點不一樣聯合定制,是 B 站為 UP 主發布的首個數字藏品。每款藏品包含數字頭像、空間頁交互視頻和高清版權視頻,不僅具有收藏價值,也為 UP 主視頻版權保護提供了全新模式。UP 主億點點不一樣在 B 站擁有超 180 萬粉絲,由 B 站百大 UP 主影視颶風團隊運營。

該款數字藏品建立在 B 站高能鏈上,具有唯一性和不可篡改性,發行版權視頻形式的數字藏品不僅有助于保護 UP 主版權,打擊未經授權的視頻二創和盜用,也能通過開放衍生品制作和視頻二創權益,賦能創作者,助力創作者 IP 和優質內容的推廣。據悉,項目會先于 7 月底揭曉中簽用戶名單并發放數字頭像,于 8 月將交互視頻和版權視頻發放給用戶。[2022/7/21 2:28:58]

可以看到在一筆跨鏈交易到達中繼鏈之后,驗證引擎會先檢查交易的順序是否是正確的,然后通過IBTP的From字段獲取來源鏈的ID,通過這個ID在規則管理模塊中得知驗證引擎需要哪種類型的驗證器來對交易進行校驗。如果需要的是WASM驗證器,那么驗證引擎就會將對應的WASM字節碼加載到WASM虛擬機中。

當驗證器初始化完畢以后,驗證引擎就會將對應應用鏈的驗證者信息和需要驗證的交易的IBTP的proof字段和payload字段傳入到驗證器中,為了防止惡意者進行非法的跨鏈交易,驗證器會對proof字段的背書信息進行簽名校驗,如果背書的簽名信息與事先注冊在中繼鏈的應用鏈的驗證者信息相匹配,那么表示背書驗證通過,驗證引擎會繼續進行跨鏈交易的內容驗證,將IBTP的payload字段和proof字段里的內容進行比對,如果兩者一致則表示驗證通過,那么跨鏈交易就會被傳入到中繼鏈的執行引擎中繼續執行并完成跨鏈交易。如果背書驗證或者內容驗證有一項不匹配,驗證引擎就會返回驗證不通過的錯誤,跨鏈交易就不會繼續執行,并將錯誤返回給來源鏈的跨鏈網關。

三、編寫驗證規則

下面我們以Fabric1.4為例介紹一下驗證規則的邏輯和如何用rust編寫WASM驗證規則合約。

我們知道Fabric對于智能合約的執行是在背書節點上進行的,每一個背書節點都會模擬執行chaincode,在模擬執行完chaincode之后,背書節點會對模擬的結果和拋出的事件進行封裝,之后再進行簽名背書。最后將背書結果發送給客戶端。客戶端在對比模擬執行的結果之后將背書結果發給orderer節點進行排序,最后在提交階段會拋出chaincode的事件。

在fabric區塊鏈中,對于每一個chaincode都可以指定不同的背書策略,所以對于fabric的驗證規則也需要滿足復雜背書的要求。所以在應用鏈注冊時上傳的驗證者信息需要包含背書節點的mspid和對應的證書,需要包含chaincode的id和背書策略的字節碼。

那么下面我們來介紹驗證規則又是如何使用上述信息對fabric的跨鏈交易進行的驗證的。當跨鏈交易在fabric這一段上鏈以后,跨鏈網關就會將該上鏈的信息封裝成IBTP協議發送到中繼鏈,此時封裝在IBTP的proof字段已經包含了fabric交易中的ChaincodeActionPayload信息。當交易進入到驗證引擎時,驗證引擎會初始化wasm驗證器,同時將IBTP的proof字段和payload字段連同驗證者信息傳入到驗證器中。驗證器開始進行驗證。首先會查看交易信息中的chaincode的ID和驗證者信息中預留的是否一致,以防有惡意者偽造假的chaincode進行交易,然后開始通過預留的復雜背書策略的字節碼初始化fabric中的策略驗證器,策略驗證其可以將交易信息中的背書數組和預留的背書節點信息進行關聯驗證,查看背書數組簽名的正確性和是否符合策略。當背書數組被確定是正確的以后,驗證引擎還會對交易的具體內容進行比對,防止惡意者修改了IBTP中payload的信息。當各個步驟的驗證通過后,驗證引擎就能夠確認該筆fabric的跨鏈交易是有效的。

對于WASM規則,我們可以通過rust來編寫驗證規則,中繼鏈中的WASM虛擬機要求規則的字節碼符合wasi標準,所以BitXHub提供了rust編寫WASM合約規則的模板。驗證的入口函數為start_verify,而對于比較麻煩的wasm的輸入輸出BitXHub已經提供了一套讀寫方案,用戶只需要在contract.rs文件中編寫自己所想要驗證的內容即可,非常便捷易用。

BitXHub驗證引擎解決了在跨鏈場景中一直所被關心的跨鏈交易如何保證內容的正確性和交易的有效性問題,而可定制插拔的驗證規則機制也使得不同類型的區塊鏈交易內容和有效性的驗證成為了可能。

本文作者:趣鏈科技數據網格實驗室

Tags:WASASMABRBRIWAS幣PlasmaPayLabradorBRICKS幣

TRX
區塊鏈:獵豹礦機老羅:十年浮沉,三落三起,此刻何言放棄?_iDASH幣

傳謠一張嘴,辟謠跑斷腿。這些天,對于獵豹礦機創始人老羅而言,實在有些不太好受。獵豹礦機喬遷新辦公室,然而,6月初朋友圈傳言,獵豹礦機原辦公室已人去樓空.

1900/1/1 0:00:00
EFI:DeFi撐爆以太坊基礎設施,近1億美元BTC已進入以太坊生態_FIL

以太坊和DeFi在過去幾個月里經歷了爆炸性的增長,這已經不是什么秘密了,在過去2-3周里,它們已達到了一個全新的水平.

1900/1/1 0:00:00
穩定幣:美聯儲經濟學家:對Libra等全球穩定幣的恐懼被夸大了_LEML

美聯儲的經濟學家認為,立法者和央行行長們“夸大了Libra等全球穩定幣造成的恐懼”。 GarthBaughman和JeanFlemming在周一發布的一份最新報告中提出了這一觀點,報告暗示政策制.

1900/1/1 0:00:00
區塊鏈:杭州區塊鏈國際周丨矩陣元COO謝紅軍:隱私計算是為數據定價的基礎和方法論_數字人

7月5日,杭州區塊鏈國際周分論壇順利開幕。此次論壇由算力智庫聯合巴比特、海南省大數據管理局、上海人工智能發展聯盟、長三角大數據產業合作聯席會議、新財富等共同舉辦,論壇匯聚了國內外近幾年來在隱私數.

1900/1/1 0:00:00
GMX:時隔54天再更新:IPFS協議有了重要變更_HAY

去中心化文件和網絡托管協議星際文件系統發布go-ipfs0.6版本。官方表示,該版本從代碼角度來說是個相對小型的更新,但是包含了對IPFS協議的重要更新,包括QUIC傳輸默認情況下處于開啟狀態,

1900/1/1 0:00:00
CHI:在美聯儲發表評論后,黃金支持者Schiff稱比特幣為法幣_加密貨幣市場總市值

經濟學家,金融評論員和黃金支持者PeterSchiff再次在推特上抨擊比特幣,實質上稱比特幣為法幣——美元等地區貨幣的名稱。Schiff在6月20日的推文中說:“美聯儲對比特幣的判斷是正確的.

1900/1/1 0:00:00
ads