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