跨链(5)“蚂蚁区块链”之跨链系统框架
1. 系統(tǒng)架構(gòu)
可信數(shù)據(jù)連接服務(wù)包括同構(gòu)/異構(gòu)區(qū)塊鏈層,跨鏈服務(wù)層,以及在業(yè)務(wù)層的區(qū)塊鏈編程層。
通過跨鏈服務(wù)在底層區(qū)塊鏈中的協(xié)議棧和跨鏈合約,實現(xiàn)同構(gòu)或異構(gòu)區(qū)塊鏈之間可信交互,從而構(gòu)成區(qū)塊鏈價值網(wǎng)絡(luò),實現(xiàn)鏈上價值的可信流轉(zhuǎn),完成豐富的鏈間互操作。
螞蟻區(qū)塊鏈跨鏈主要有4個功能:
- 跨鏈互認數(shù)據(jù)規(guī)范
- 螞蟻UDAG 跨鏈協(xié)議
- 跨鏈合約服務(wù)
- 基于 TEE 的 Oracle 集群服務(wù)
2. 規(guī)范化的跨鏈互認數(shù)據(jù)
設(shè)計鏈間數(shù)據(jù)互認規(guī)范。用戶編寫合約實現(xiàn)回調(diào)接口,用于異步接收賬本數(shù)據(jù)回調(diào)使用。同時,業(yè)務(wù)邏輯可以在區(qū)塊鏈編程層可以實現(xiàn),通過跨鏈合約API進行數(shù)據(jù)調(diào)用和合約交互,完成多條區(qū)塊鏈的協(xié)作,達到區(qū)塊鏈的橫向應(yīng)用拓展。
2.1 用戶開發(fā)流程
step1. 獲取合約 API 定義(OracleInterface.sol)。
step2.在用戶合約中引入合約 API 定義(OracleInterface.sol)
step3. 用戶合約實現(xiàn)回調(diào)接口,用于異步接收請求結(jié)果。
step4. 用戶請求需要使用 CURL 命令構(gòu)建外部數(shù)據(jù)源請求。
step5. 用戶合約向預(yù)言機合約發(fā)送查詢請求
3. UDAG 跨鏈協(xié)議
有了規(guī)范化的跨鏈互認數(shù)據(jù),還需要建立一個通道實現(xiàn)數(shù)據(jù)的可信安全傳輸,包含身份協(xié)議和通信協(xié)議。
3.1 身份協(xié)議
通過設(shè)計區(qū)塊鏈證書,描述區(qū)塊鏈的唯一認證根以及其安全更新與公開吊銷,讓業(yè)務(wù)在由區(qū)塊鏈組成的價值互聯(lián)網(wǎng)里進行安全跨鏈,做到“有根可尋”且“安全可控”。
3.2 智能合約跨鏈通訊協(xié)議
為可編程的智能合約之間提供跨鏈通訊接口, 提供類似TCP/UDP的可靠有序/無序的通訊協(xié)議,通訊協(xié)議基于信任中立的數(shù)據(jù)牟定以及網(wǎng)絡(luò)路由,旨在面向?qū)Πl(fā)布在不同鏈上的智能合約建立一層信息通訊協(xié)議,使得區(qū)塊鏈之上的智能合約跨鏈報文通信安全可靠,且包括外部數(shù)據(jù)源到鏈上的可信傳遞。
提供跨鏈資產(chǎn)以及跨鏈事物管理的中繼件服務(wù)
- step1. 各區(qū)塊鏈首先基于身份協(xié)議獲得唯一的鏈身份標識,用于表示跨鏈信息的發(fā)送方或接收方。
- step2. 賬本發(fā)送鏈將待發(fā)送的數(shù)據(jù)經(jīng)過中繼組件和證明轉(zhuǎn)化組件之后生成規(guī)范化、輕量級的自描述數(shù)據(jù)包,根據(jù)通訊協(xié)議定義的報文格式和消息流程將賬本數(shù)據(jù)發(fā)送給相應(yīng)的接收鏈。
- step3. 接收鏈中的中繼組件將賬本和證明提取出來傳遞給鏈上系統(tǒng),鏈上客戶端執(zhí)行賬本驗證和相關(guān)的業(yè)務(wù)執(zhí)行操作。
4. 跨鏈合約服務(wù)
ODATS(Open Data Access Trusted Service)“開放數(shù)據(jù)接入可信服務(wù)”給聯(lián)盟鏈用戶提供基于智能合約跨鏈服務(wù)能力。
-
step1. 區(qū)塊鏈域名 注冊區(qū)塊鏈時,為區(qū)塊鏈創(chuàng)建一個域名,該域名將會是跨鏈通訊時區(qū)塊鏈的唯一識別身份。
-
step2. 跨鏈授權(quán)跨鏈通信需要對方區(qū)塊鏈進行授權(quán)才可以開始通信,授權(quán)包括賬本數(shù)據(jù)授權(quán)和合約消息授權(quán)。賬本數(shù)據(jù) 賬本數(shù)據(jù)包括區(qū)塊鏈交易、區(qū)塊及區(qū)塊頭,如果授權(quán)其他區(qū)塊鏈獲取當前區(qū)塊鏈的賬本數(shù)據(jù)時,可以指定授權(quán)哪一類賬本數(shù)據(jù)、合約消息 。
-
step3. 跨鏈授權(quán)合約消息后,用戶區(qū)塊鏈可以接受被授權(quán)區(qū)塊鏈遠程推送合約消息,進行復(fù)雜互操作,實現(xiàn)多種業(yè)務(wù)場景。
總結(jié)
以上是生活随笔為你收集整理的跨链(5)“蚂蚁区块链”之跨链系统框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 跨链(5)“蚂蚁区块链”之跨链数据连接服
- 下一篇: 跨链(6)波卡Polkadot “系统框