趣链 BitXHub跨链平台 (5)跨链网关-子模块
1. 子模塊架構(gòu)
一個對接具體類型區(qū)塊鏈以及轉(zhuǎn)發(fā)跨鏈消息的重要組成部分。它主要提供了應(yīng)用鏈適配、跨鏈交易監(jiān)聽、跨鏈交易執(zhí)行、跨鏈交易路由等核心功能。
2. 子模塊說明
2.1 監(jiān)聽模塊
-
跨鏈合約在收到跨鏈交易的請求后,拋出一個特定格式的跨鏈?zhǔn)录S上鄳?yīng)的應(yīng)用鏈插件輪詢或者訂閱該跨鏈?zhǔn)录?#xff0c;并收集應(yīng)用鏈A上對于該跨鏈?zhǔn)录腜roof信息(比如在Fabric中的背書信息),隨IBTP包一起發(fā)送到跨鏈網(wǎng)關(guān)的監(jiān)聽模塊上。
-
監(jiān)聽模塊對于跨鏈交易做基本的檢查操作(比如跨鏈交易序號的檢查),檢查通過的跨鏈交易才能提交到分發(fā)模塊。如果跨鏈交易有問題,執(zhí)行相應(yīng)的的回滾操作。
2.2 分發(fā)模塊
收到監(jiān)聽模塊提交的跨鏈交易后,由于跨鏈網(wǎng)關(guān)支持不同的跨鏈模式,所以分發(fā)模塊需要統(tǒng)籌負(fù)責(zé)跨鏈交易具體的傳遞對象。
- 中繼模式
分發(fā)模塊將跨鏈交易通過直接和中繼鏈的代理模塊發(fā)送跨鏈交易。 - 直連模式
可以通過P2P網(wǎng)絡(luò)連接到其他應(yīng)用鏈的跨鏈網(wǎng)關(guān)(在示例流程中,應(yīng)用鏈B的跨鏈網(wǎng)關(guān))并發(fā)送相應(yīng)的跨鏈交易。
2.3 同步模塊
不同跨鏈模式下,同步交易的方式也不同。
-
中繼鏈模式
跨鏈交易參與共識,并且打包進(jìn)區(qū)塊中。所以同步交易時候,需要中繼鏈輕節(jié)點(diǎn)模塊不斷同步更新區(qū)塊頭信息。同步模塊則是同步中繼鏈區(qū)塊中和自身跨鏈網(wǎng)關(guān)相關(guān)的所有跨鏈交易(應(yīng)用鏈B的跨鏈網(wǎng)關(guān)同步和B相關(guān)的跨鏈交易)。對于中繼鏈同步的交易,還需要配合輕節(jié)點(diǎn)對跨鏈交易進(jìn)行SPV驗證,確保跨鏈交易的有效性。 -
直連模式
跨鏈網(wǎng)關(guān)通過P2P網(wǎng)絡(luò)接收跨鏈交易(應(yīng)用鏈B的跨鏈網(wǎng)關(guān)接收應(yīng)用A的跨鏈網(wǎng)關(guān)發(fā)送過來的跨鏈交易)。
2.4 檢查模塊
對于同步自其它鏈的跨鏈交易,都需要通過檢查模塊才能交給分發(fā)模塊進(jìn)行下一步的處理。檢查的邏輯和跨鏈的模式相關(guān)。
-
中繼模式
跨鏈交易已經(jīng)通過了中繼鏈的驗證引擎,并且參與過中繼鏈的共識,所以檢查模塊只需要驗證跨鏈交易確實來自于中繼鏈即可。而在中繼鏈上,對于通過共識的跨鏈交易,中繼鏈節(jié)點(diǎn)會對其進(jìn)行簽名。檢查模塊對于附帶的簽名進(jìn)行驗證即可驗證跨鏈交易的有效性。 -
直連模式
跨鏈交易是通過P2P網(wǎng)絡(luò)獲取的跨鏈交易,所以相比中繼模式,檢查模塊需要承擔(dān)更多的驗證工作。主要需要檢查的有應(yīng)用鏈的注冊檢查,驗證引擎的驗證檢查等。如果應(yīng)用鏈需要定制化跨鏈交易的驗證規(guī)則,后續(xù)可以通過更新驗證規(guī)則的方式更加動態(tài)的進(jìn)行。
2.5 執(zhí)行模塊
來自中繼鏈或者其他跨鏈網(wǎng)關(guān)的跨鏈交易,通過檢查模塊的檢查后,就可以提交到執(zhí)行模塊。執(zhí)行模塊直接和應(yīng)用鏈插件對接,在調(diào)用跨鏈合約之前,需要檢查序號以防止重放攻擊。
總結(jié)
以上是生活随笔為你收集整理的趣链 BitXHub跨链平台 (5)跨链网关-子模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (chap4 IP协议) 全局地址和私有
- 下一篇: 区块链BaaS云服务(24)秘猿科技CI