文獻(xiàn)標(biāo)識(shí)碼:A
DOI: 10.19358/j.issn.2096-5133.2018.08.004
中文引用格式:白杰,李東云,吳先鋒.發(fā)布區(qū)塊鏈標(biāo)準(zhǔn)應(yīng)用模型及應(yīng)用部署技術(shù)研究[J].信息技術(shù)與網(wǎng)絡(luò)安全,2018,37(8):13-18.
0 引言
區(qū)塊鏈提供了一種去除中心化的系統(tǒng)思想理念,這種思想最根本原理就是通過公眾共識(shí)的方式,創(chuàng)建一個(gè)相對(duì)客觀的抗抵賴數(shù)字環(huán)境。區(qū)塊鏈以分布式數(shù)據(jù)技術(shù)為基礎(chǔ),加密技術(shù)為手段,對(duì)數(shù)據(jù)副本的分布存儲(chǔ)和抗抵賴驗(yàn)證。目前的區(qū)塊鏈平臺(tái),都是基于分布式技術(shù)、密碼學(xué)、點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)及各種共識(shí)算法搭建的。這些區(qū)塊鏈平臺(tái),無論是理論上或?qū)嶋H應(yīng)用中,以及是否支持具體現(xiàn)實(shí)中的應(yīng)用落地,均存在問題,并且各個(gè)平臺(tái)相互隔離,導(dǎo)致數(shù)據(jù)和應(yīng)用的碎片化及孤島現(xiàn)象。其主要原因是:這些平臺(tái)雖然采用了區(qū)塊鏈思想,但從具體的技術(shù)架構(gòu)設(shè)計(jì)環(huán)節(jié),并沒有從系統(tǒng)化的角度側(cè)重考慮對(duì)于應(yīng)用的部署和支撐。
本文定義發(fā)布了區(qū)塊鏈標(biāo)準(zhǔn)應(yīng)用模型及應(yīng)用部署的方法,提出了應(yīng)用系統(tǒng)獨(dú)立部署到區(qū)塊鏈的完整系統(tǒng)級(jí)解決方法。該方法通過標(biāo)準(zhǔn)化及支持自由擴(kuò)展的數(shù)據(jù)接口,標(biāo)準(zhǔn)結(jié)構(gòu)化及格式化的表達(dá)式用以描述任何智能合約,以及從數(shù)據(jù)區(qū)塊層至跨域?qū)?數(shù)據(jù)區(qū)塊層、網(wǎng)絡(luò)層、平臺(tái)框架層、應(yīng)用層、跨域?qū)?,由低至高共?jì)五層)的系統(tǒng)模型,提供一個(gè)可以容納并支撐任何應(yīng)用的區(qū)塊鏈環(huán)境。它支持任何開發(fā)者快速地將自己開發(fā)的任何應(yīng)用部署到該區(qū)塊鏈平臺(tái);自由地定義并創(chuàng)建智能合約,并按照合約的定義,自動(dòng)執(zhí)行鏈上或鏈下任何應(yīng)用系統(tǒng)或程序;支持將其已有的任何應(yīng)用業(yè)務(wù)系統(tǒng)無縫地與主鏈對(duì)接;模型中的平行鏈和混鏈模式,可以雙向兼容任何區(qū)塊鏈主鏈或行業(yè)鏈。
模型既保證了抗抵賴性、開放性和完全的去中心化,同時(shí)保證了數(shù)據(jù)的私密性。在防篡改性、開放性、完全的去中心化及數(shù)據(jù)私密性之間,達(dá)到了完全兼顧。解決當(dāng)前區(qū)塊鏈技術(shù)本身存在的缺陷,為各行業(yè)提供了在區(qū)塊鏈環(huán)境中的應(yīng)用落地方法和基礎(chǔ)設(shè)施。
1 Web3.0與區(qū)塊鏈標(biāo)準(zhǔn)網(wǎng)絡(luò)應(yīng)用模型
1.1 目前Web3.0架構(gòu)的缺陷
當(dāng)前對(duì)于Web 3.0的描述中具代表性的是TUALS的描述,該描述對(duì)Web3.0做了抽象概括,但在具體應(yīng)用實(shí)施中有不足之處:將數(shù)據(jù)層跨接在網(wǎng)絡(luò)層之上,但是二者的關(guān)系應(yīng)該是相反的,至多是平行的關(guān)系。同時(shí),當(dāng)前這些碎片化、孤島化的區(qū)塊鏈網(wǎng)絡(luò)、數(shù)據(jù)及DApps的融合缺乏有效的手段。
1.2 定義發(fā)布區(qū)塊鏈標(biāo)準(zhǔn)網(wǎng)絡(luò)應(yīng)用Web3.0模型(Chain NetWork Web3.0,CNWW3模型)
相對(duì)于現(xiàn)有的中心化互聯(lián)網(wǎng)及應(yīng)用,基于去中心化思想而構(gòu)建的互聯(lián)網(wǎng)框架及應(yīng)用,與最終在這些應(yīng)用之上的跨域聚合,融合現(xiàn)有的中心化互聯(lián)網(wǎng)和應(yīng)用,組成的完整的去中心化,部分領(lǐng)域完全自治的生態(tài)環(huán)境,是區(qū)塊鏈Web3.0標(biāo)準(zhǔn)網(wǎng)絡(luò)框架的完整描述。
去中心化應(yīng)用層與跨域?qū)?,是CNWW3模型針對(duì)應(yīng)用部署的定義,其目標(biāo)是支持任何鏈下應(yīng)用系統(tǒng)無縫接入或直接部署到鏈上;任何應(yīng)用系統(tǒng)可采用熱插拔的方式上鏈或下鏈;支持任何鏈上的系統(tǒng)實(shí)現(xiàn)跨域交互。
CNWW3模型結(jié)構(gòu),如圖1所示。
圖 1 區(qū)塊鏈標(biāo)準(zhǔn)網(wǎng)絡(luò)應(yīng)用Web3.0模型(CNWW3模型)
各個(gè)層級(jí)的描述和定義可以參考圖1。實(shí)現(xiàn)跨域?qū)拥幕A(chǔ)是提供可支持跨鏈的合約和共識(shí)系統(tǒng)。
1.3 針對(duì)CNWW3模型的定義和描述
第1層,數(shù)據(jù)區(qū)塊層(Data Block Layer)。定義:基本物理數(shù)據(jù)塊的順序集合,是主鏈的基本組成單元,還有相應(yīng)的數(shù)字憑證和文件。描述:提供全網(wǎng)的分布式數(shù)據(jù)存儲(chǔ),通過諸如IPFS、加密、訪問控制等技術(shù)來實(shí)現(xiàn)數(shù)據(jù)的去中心化式存儲(chǔ)、加解密和使用。工作方式:通過提供全局一致性的數(shù)據(jù)接口進(jìn)行數(shù)據(jù)的存儲(chǔ)、加密和訪問能力。
第2層,網(wǎng)絡(luò)交換層(Network Layer)。定義:集合多種通信協(xié)議,是各個(gè)節(jié)點(diǎn)相互通信和節(jié)點(diǎn)發(fā)現(xiàn),數(shù)據(jù)和信息交換的基礎(chǔ)網(wǎng)絡(luò)設(shè)施。描述:系統(tǒng)的分布式節(jié)點(diǎn)通過網(wǎng)絡(luò)交換層完成組網(wǎng)、數(shù)據(jù)的交換和同步、共識(shí)協(xié)商、交易廣播等功能。工作方式:通過分層的P2P網(wǎng)絡(luò),實(shí)現(xiàn)節(jié)點(diǎn)的自動(dòng)登記和發(fā)現(xiàn),并完成最終的數(shù)據(jù)和信息的交換。
第3層,平臺(tái)框架層(Framework Layer)。定義:不同鏈能力集合,鏈與鏈間的相互功能注冊(cè)、發(fā)現(xiàn)、集成平臺(tái),跨鏈間交互的基礎(chǔ)。描述:基于數(shù)據(jù)和網(wǎng)絡(luò),框架層提供對(duì)應(yīng)的基礎(chǔ)區(qū)塊鏈功能和架構(gòu)。其中最重要的能力就是跨鏈,通過跨鏈功能將各個(gè)區(qū)塊鏈能有機(jī)的進(jìn)行組合,從而提供更多的能力。作用:提供去中心化應(yīng)用開發(fā)基礎(chǔ)平臺(tái)和框架支持。工作方式:通過聚合不同的區(qū)塊鏈平臺(tái),并提供有效的跨鏈解決方案,從而能集中使用各個(gè)區(qū)塊鏈平臺(tái)提供的能力,構(gòu)建基于全網(wǎng)的去中心化應(yīng)用。
第4層,去中心化應(yīng)用層(Decentralized Application Layer)。定義:鏈上和鏈下應(yīng)用的一體化創(chuàng)建、部署、對(duì)接和使用。描述:大部分應(yīng)用場(chǎng)景在這一層進(jìn)行實(shí)現(xiàn)和滿足?;诳蚣軐拥闹С?,開發(fā)者、組織或結(jié)構(gòu)都可以構(gòu)建自己的去中心化應(yīng)用,實(shí)現(xiàn)自己的需求。工作方式:和傳統(tǒng)的應(yīng)用開發(fā)類似,應(yīng)用開發(fā)者通過框架層提供的各類API或接口,定義、創(chuàng)建、發(fā)布和使用去中心化的應(yīng)用。
第5層,跨域?qū)?Cross Domain Layer):定義:跨鏈,跨去中心化應(yīng)用的聚合連接,構(gòu)建完整的去中心化生態(tài)。描述:去中心化的互聯(lián)網(wǎng)平臺(tái)最重要的就是數(shù)據(jù)、網(wǎng)絡(luò)和平臺(tái)的分布式和共享,所以在應(yīng)用層,也需要提供一個(gè)完整統(tǒng)一的方式,跨域?qū)泳托枰瓿蛇@項(xiàng)工作。通過對(duì)不同應(yīng)用的打通和連接,最終提供整體的去中心化網(wǎng)絡(luò)。工作方式:通過用戶授權(quán)和驗(yàn)證,從數(shù)據(jù)層到應(yīng)用層,將所有去中心化應(yīng)用通過有序的方式組合,提供統(tǒng)一的入口和完整的用戶服務(wù)和體驗(yàn)。
2 CNWW3模型的說明
2.1 建立公鏈
實(shí)施CNWW3模型示意圖如圖2所示。
圖 2 實(shí)施CNWW3模型示意圖
建立基礎(chǔ)公鏈平臺(tái),規(guī)范定義數(shù)據(jù)接口和結(jié)構(gòu),支持其他區(qū)塊鏈對(duì)接,是支持跨鏈基礎(chǔ)??珂湹墓沧R(shí)通過統(tǒng)一的公鏈平臺(tái)進(jìn)行提供。
(1)公鏈用于跨鏈中繼,完成交易驗(yàn)證,數(shù)據(jù)證明,智能合約執(zhí)行;
(2)統(tǒng)一接口和規(guī)范,快速接入公鏈并支持跨鏈;
(3)提供基礎(chǔ)區(qū)塊鏈平臺(tái),完成區(qū)塊鏈方案快速部署和驗(yàn)證;
(4)提供公共開發(fā)平臺(tái),一次性完成多個(gè)平行鏈智能合約協(xié)同開發(fā)和部署。
公鏈內(nèi)容:公鏈數(shù)據(jù)+平行鏈信息摘要(交易摘要或散列值)。通過格式化的表達(dá)式描述交易,使用壓縮算法有效地提高區(qū)塊存儲(chǔ)能力,記錄更多平行鏈的信息。公鏈的區(qū)塊數(shù)據(jù)必須包含如下內(nèi)容:
(1)標(biāo)識(shí):序號(hào)、時(shí)間戳、區(qū)塊hash值、前區(qū)塊hash值;
(2)歸屬:區(qū)塊生成者;
(3)其他信息:隨機(jī)值、難度值、附加信息等;
(4)權(quán)重:大小;
(5)信息摘要:交易樹、狀態(tài)樹、收據(jù)樹、數(shù)據(jù)樹。
行業(yè)鏈或聯(lián)盟鏈或私有鏈,都可以通過公鏈平臺(tái)快速建立。CNWW3支持調(diào)用創(chuàng)建鏈的封裝快速建鏈。
2.2 中繼模式支持跨鏈
跨鏈解決現(xiàn)有區(qū)塊鏈網(wǎng)絡(luò)相互隔離的問題,真正打通不同網(wǎng)絡(luò)/應(yīng)用之間的隔閡。
(1)在不改變現(xiàn)有區(qū)塊鏈的基礎(chǔ)上,通過提供獨(dú)立平行鏈,完成平行鏈與公鏈的對(duì)接;
(2)提供標(biāo)準(zhǔn)的接口規(guī)范。新區(qū)塊鏈基于對(duì)接規(guī)范適配開發(fā)即完成跨鏈。其中非常重要的一點(diǎn)是,如果新鏈?zhǔn)腔诠渼?chuàng)建的,就可以認(rèn)其為公鏈的側(cè)鏈,天然具有支持跨鏈的功能。
2.3 共識(shí)機(jī)制
CNWW3模型采用一種混合的共識(shí)機(jī)制(Proof of Mixture,POM),基于POW(Proof of Work)的工作量證明與有效性權(quán)重(Proof of Validity Weight)方式。周期內(nèi)隨機(jī)選定符合條件的節(jié)點(diǎn),在分層的基礎(chǔ)上,通過打包進(jìn)入?yún)^(qū)塊的驗(yàn)證信息(多個(gè)維度)的權(quán)重來決定區(qū)塊的有效性,并完成全網(wǎng)區(qū)塊同步。相關(guān)維度包括:
(1)來源。不同平行鏈有不同優(yōu)先級(jí)。
(2)價(jià)值?;谝粋€(gè)時(shí)間段的平均值。
(3)等待時(shí)長(zhǎng)。等待時(shí)間越長(zhǎng),權(quán)重越高。
(4)類型。不同類型有不同權(quán)重。
(5)其他維度。合約的層級(jí)或特殊權(quán)重地址等。
2.4 擴(kuò)展性和兼容性
并非所有交易合約都需全網(wǎng)驗(yàn)證,最終區(qū)塊全網(wǎng)一致即可;采用隨機(jī)算法,各類BFT和零知識(shí)證明等算法,通過部分節(jié)點(diǎn)快速確認(rèn)和驗(yàn)證交易和合約,并最終在全網(wǎng)達(dá)成共識(shí);網(wǎng)絡(luò)結(jié)構(gòu)分層和節(jié)點(diǎn)分類,使數(shù)據(jù)、交易、合約和共識(shí)相互分離,避免相互制約和耦合,滿足獨(dú)立和可擴(kuò)展性。
通過CNWW3模型中交易鎖定方式,在CNWW3模型定義的公鏈發(fā)起有鎖定條件的交易,平行鏈監(jiān)聽其他區(qū)塊鏈的交易結(jié)果并同步至公鏈,完成跨鏈交易。對(duì)于支持智能合約的區(qū)塊鏈網(wǎng)絡(luò),調(diào)用公鏈智能合約,通過平行鏈的智能合約橋接,執(zhí)行主鏈部署的智能合約進(jìn)行交易。平行鏈監(jiān)聽主鏈交易和狀態(tài)并同步至公鏈,完成跨鏈交易。
2.5 分層機(jī)制
CNWW3模型在協(xié)議分層:
(1)數(shù)據(jù)層、交易層、共識(shí)層、合約層、應(yīng)用層,按照對(duì)應(yīng)邏輯進(jìn)行清晰劃分;
(2)軟件結(jié)構(gòu)層面,定義接口的方式,進(jìn)行獨(dú)立和解耦。通過標(biāo)準(zhǔn)的UBCI(Universal Block Communication Interface)接口協(xié)議,各層使用不同的方式(如不同的語(yǔ)言,環(huán)境等)實(shí)現(xiàn)對(duì)應(yīng)的功能和接口;
(3)不同層級(jí)采用不同共識(shí)的方式,相互間非阻塞異步處理;
(4)信息哈希處理,區(qū)塊同步時(shí)能有效調(diào)整已經(jīng)被驗(yàn)證過的區(qū)塊順序。
2.6 分片機(jī)制
CNWW3模型中,數(shù)據(jù)同步、共識(shí)處理和合約執(zhí)行,通過強(qiáng)隨機(jī)分片方式進(jìn)行高速分離處理。即:數(shù)據(jù)無需全網(wǎng)同步,共識(shí)無需全網(wǎng)處理,合約無需全網(wǎng)執(zhí)行。通過交易參與方靈活指定,達(dá)成交易快速處理。最后通過公鏈分層共識(shí)機(jī)制,完成最終的全網(wǎng)同步。
2.7 支持超過十萬TPS級(jí)別的交易和合約執(zhí)行能力
通過對(duì)于交易和合約執(zhí)行的共識(shí)分區(qū)隔離,通過算法確定全網(wǎng)的一致,能支持高交易量。在CNWW3模型中,通過交易個(gè)數(shù)動(dòng)態(tài)調(diào)整區(qū)塊大小,并在區(qū)塊中將交易和合約本身的內(nèi)容進(jìn)行分離,主塊中只存儲(chǔ)交易和合約的摘要值或散列值,同時(shí)提供異步調(diào)用合約機(jī)制,提高同一個(gè)區(qū)塊處理的交易和合約的個(gè)數(shù)。
2.8 關(guān)于交易
CNWW3模型中,交易是具有狀態(tài)的:
(1)創(chuàng)建:基于本地新建交易,除常規(guī)內(nèi)容,支持指定其他規(guī)則,如時(shí)間、區(qū)塊號(hào)、驗(yàn)證人數(shù)、鎖定時(shí)長(zhǎng)/區(qū)塊、簽名規(guī)則、通知信息等;
(2)發(fā)布:發(fā)布交易至區(qū)塊鏈,等待驗(yàn)證確認(rèn);
(3)待驗(yàn)證:已經(jīng)收到交易,并等待驗(yàn)證;
(4)驗(yàn)證:開始驗(yàn)證交易;
(5)鎖定:如指定鎖定規(guī)則,則按照規(guī)則鎖定;
(6)解鎖:按規(guī)則解鎖交易;
(7)成功:驗(yàn)證成功/解鎖成功并成功進(jìn)入?yún)^(qū)塊;
(8)失?。簾o法進(jìn)入?yún)^(qū)塊的其他情況。
對(duì)應(yīng)的狀態(tài)變遷如圖3所示。
圖 3 交易狀態(tài)變遷示意圖
2.9 智能合約
CNWW3模型中公鏈提供完備的智能合約機(jī)制,便于應(yīng)用開發(fā)者進(jìn)行相應(yīng)的智能合約開發(fā),公鏈網(wǎng)絡(luò)自身部分工作也是內(nèi)置的智能合約完成的,如:節(jié)點(diǎn)角色分配和申報(bào)、投票和表決、平行鏈維護(hù)、分片機(jī)制、有效性驗(yàn)證調(diào)用、監(jiān)察維護(hù)及非法舉報(bào)、跨鏈合約鎖定。編寫智能合約沒有嚴(yán)格的限定,通過多編程語(yǔ)言的API接口,準(zhǔn)許使用者任意選擇語(yǔ)言對(duì)合約開發(fā)和部署。提供智能合約升級(jí)功能,可最大限度保障安全和可靠性。在公鏈中,智能合約的狀態(tài)有如下幾種:
(1)創(chuàng)建:新建一個(gè)智能合約;
(2)更新:更新一個(gè)智能合約,某些特定合約支持更新功能;
(3)調(diào)用:執(zhí)行智能合約;
(4)暫停:暫停智能合約執(zhí)行;
(5)恢復(fù):恢復(fù)智能合約執(zhí)行;
(6)停止:停止智能合約執(zhí)行。
CNWW3模型中智能合約調(diào)用執(zhí)行方式如下:交易驅(qū)動(dòng)型、消息驅(qū)動(dòng)型及Oracle驅(qū)動(dòng)型。通過分層共識(shí),分片調(diào)配,支持異步合約,為合約提供更大自由度。合約代碼和數(shù)據(jù)的存儲(chǔ)位置可在不同的節(jié)點(diǎn)。
對(duì)應(yīng)的狀態(tài)變遷如圖4所示。
圖 4 智能合約狀態(tài)變遷圖
2.10 角色描述
CNWW3模型中,不同角色分別維護(hù)公鏈和平行鏈。為了在平行鏈和公鏈上以最簡(jiǎn)方式存儲(chǔ)必要的數(shù)據(jù),也提供分布存儲(chǔ)能力,用于存儲(chǔ)其他類型的基礎(chǔ)數(shù)據(jù)。
(1)權(quán)益所有者(O)。具有系統(tǒng)Token的用戶。
(2)公鏈維護(hù)者(M)。任意節(jié)點(diǎn)都是維護(hù)者。
(3)平行鏈維護(hù)者(P)。任意節(jié)點(diǎn)可申請(qǐng)成為平行鏈維護(hù)者。
(4)所有的節(jié)點(diǎn)都自動(dòng)具有監(jiān)督者/候選者(C)的角色。在指定周期內(nèi)未被選中承擔(dān)M或者P角色的節(jié)點(diǎn),可以自動(dòng)作為C的角色進(jìn)行監(jiān)督和監(jiān)察的工作。也可能被選中作為M或P的角色,在不同階段承擔(dān)不同角色。
(5)公鏈服務(wù)提供者(S)。提供公鏈服務(wù)的節(jié)點(diǎn)。
(6)數(shù)據(jù)存儲(chǔ)者(D)。分布式數(shù)據(jù)存儲(chǔ)的節(jié)點(diǎn)。
角色示意圖如圖5所示。
圖 5 角色示意圖
2.11 網(wǎng)絡(luò)平臺(tái)
CNWW3模型對(duì)于網(wǎng)絡(luò)層是可自動(dòng)伸縮的自適應(yīng)網(wǎng)絡(luò),分層如圖6所示。
圖 6 網(wǎng)絡(luò)層級(jí)示意圖
(1)公鏈平臺(tái)、平行鏈平臺(tái)和基礎(chǔ)數(shù)據(jù)存儲(chǔ)平臺(tái),在點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)層分為公鏈層、平行鏈層和數(shù)據(jù)存儲(chǔ)層;
(2)公鏈層網(wǎng)絡(luò)承擔(dān)最高并發(fā)和同步要求的網(wǎng)絡(luò)層,處于最高優(yōu)先級(jí)。當(dāng)節(jié)點(diǎn)身兼多職,對(duì)應(yīng)公鏈的網(wǎng)絡(luò)信息將是第一優(yōu)先級(jí);
(3)平行鏈網(wǎng)絡(luò)的能動(dòng)態(tài)調(diào)整和伸縮;
(4)數(shù)據(jù)存儲(chǔ)網(wǎng)絡(luò)支持?jǐn)?shù)據(jù)的安全性校驗(yàn)。
3 CNWW3模型的應(yīng)用場(chǎng)景
幾種常見場(chǎng)景的描述如下,便于更進(jìn)一步理解方案內(nèi)容。
3.1 平行鏈維護(hù)
CNWW3模型提供支持以太坊及其他區(qū)塊鏈的平行鏈。開發(fā)者可按照CNWW3模型的定義進(jìn)行實(shí)施,完成第三方區(qū)塊鏈平行鏈接入。同步母鏈區(qū)塊鏈信息到平行鏈,并觸發(fā)公鏈智能合約執(zhí)行;同步公鏈交易/智能合約到平行鏈,并觸發(fā)母鏈智能合約進(jìn)行交易/合約執(zhí)行。
這兩項(xiàng)工作,均涉及平行鏈的數(shù)據(jù)和狀態(tài)的維護(hù),下面是涉及的相應(yīng)操作步驟:
(1)周期內(nèi)平行鏈選擇維護(hù)節(jié)點(diǎn)Pn;
(2)同步上一個(gè)周期內(nèi)的Pn-1節(jié)點(diǎn)的數(shù)據(jù)到Pn;
(3)觸發(fā)平行鏈的交易和合約;
(4)平行鏈觸發(fā)母鏈的交易和合約;
(5)Pn節(jié)點(diǎn)查詢母鏈的執(zhí)行結(jié)果;
(6)觸發(fā)公鏈的交易和合約;
(7)Pn節(jié)點(diǎn)查詢公鏈的執(zhí)行結(jié)果;
(8)Pn節(jié)點(diǎn)提交母鏈結(jié)果至公鏈;
(9)Pn節(jié)點(diǎn)提交公鏈結(jié)果至母鏈;
(10)Pn節(jié)點(diǎn)打包平行鏈區(qū)塊并廣播;
(11)Pn節(jié)點(diǎn)提交平行鏈區(qū)塊結(jié)果至公鏈;
(12)公鏈完成最終驗(yàn)證并打包區(qū)塊。
3.2 跨鏈交易/智能合約執(zhí)行
首先需要考慮的是交易部分,其中涉及兩種類型的母鏈,一種是支持智能合約的,如以太坊;另外一種是完全不支持智能合約的,需要分別進(jìn)行考慮。
3.2.1 無智能合約能力的母鏈跨鏈交易——不支持鎖定
該場(chǎng)景下,通過公鏈的交易狀態(tài)屬性,能完成對(duì)應(yīng)的跨鏈交易。
整個(gè)過程簡(jiǎn)要描述如下:
(1)PB……>PA(x)(鎖定交易);
(2)OA——>OB(y)(起始鏈交易);
(3)PB——>PA(x)(鎖定交易確認(rèn));
(4)PA……>PB(x)(再次鎖定交易);
(5)DB——>DA(z)(目標(biāo)鏈交易);
(6)PA——>PB(x)(再次鎖定交易確認(rèn))
3.2.2 無智能合約能力的母鏈跨鏈交易——支持鎖定
母鏈支持鎖定狀態(tài)的話,一種可能的跨鏈交易方式如下:
(1)OA……>OB(y)(起始鏈鎖定交易);
(2)DB——>DA(z)(目標(biāo)鏈交易);
(3)OA——>OB(y)(起始鏈鎖定交易確認(rèn))
3.2.3 有智能合約能力的母鏈跨鏈交易
這種場(chǎng)景下的跨鏈交易,通過智能合約的支持,將大大降低對(duì)應(yīng)的難度,與無智能合約能力支持鎖定的母鏈跨交易類型相比,在OB和DB上均可以通過智能合約,完成對(duì)應(yīng)的鎖定和釋放工作,同時(shí),交易的結(jié)果可以直接通過消息告知,不用通過OP和DP進(jìn)行輪詢查找。
3.2.4 跨鏈智能合約執(zhí)行
智能合約的執(zhí)行,母鏈一定是支持智能合約的。這種方案和具有智能合約的母鏈跨鏈交易原理是一致的,這里不再贅述,可以通過公鏈的智能合約能非常便捷地完成對(duì)應(yīng)的跨鏈合約。
4 結(jié)論
本方案通過對(duì)現(xiàn)有區(qū)塊鏈平臺(tái)的分析并結(jié)合實(shí)際的行業(yè)需求,在多個(gè)維度對(duì)區(qū)塊鏈技術(shù)和應(yīng)用快速落地進(jìn)行了突破,提出相關(guān)的改進(jìn)和解決方案,完成并發(fā)布CNWW3模型標(biāo)準(zhǔn):
(1)通過標(biāo)準(zhǔn)的接口和數(shù)據(jù)結(jié)構(gòu)定義,任何應(yīng)用均可以無縫接入?yún)^(qū)塊主鏈,解決傳統(tǒng)應(yīng)用上鏈的問題;
(2)通過標(biāo)準(zhǔn)、結(jié)構(gòu)化和可擴(kuò)展的描述表達(dá)式完成智能合約的描述,突破了當(dāng)前沒有一套標(biāo)準(zhǔn)的智能合約表達(dá)描述,所有的系統(tǒng)只能自己定義自己的合約執(zhí)行系統(tǒng),不能夠相互兼容的問題;
(3)通過中繼方式,使用側(cè)鏈技術(shù)和平行鏈技術(shù)完成跨鏈的信息和價(jià)值交換,解決了當(dāng)前區(qū)塊鏈主鏈相互不兼容的難點(diǎn);
(4)將分布式網(wǎng)絡(luò)進(jìn)行分層處理,提供不同的優(yōu)先級(jí),保障最重要的信息和數(shù)據(jù)進(jìn)行交換和同步;
(5)通過交易和合約完整狀態(tài)定義,提供交易驗(yàn)證的后置技術(shù)方案,解決交易和驗(yàn)證的高并發(fā)問題。
通過CNWW3標(biāo)準(zhǔn)模型,現(xiàn)有的區(qū)塊鏈網(wǎng)絡(luò)可以快速進(jìn)行跨鏈的價(jià)值和信息交換,新的應(yīng)用也能基于公鏈進(jìn)行快速開發(fā)、部署和驗(yàn)證,最終構(gòu)建完整的基于去中心化網(wǎng)絡(luò)的應(yīng)用生態(tài)體系。
(收稿日期:2018-07-06)
作者簡(jiǎn)介:
白杰(1980-),男,本科,系統(tǒng)分析師,高級(jí)技術(shù)職稱(國(guó)家副高職),主要研究方向:信息安全、數(shù)字加密與身份識(shí)別、數(shù)據(jù)基因技術(shù)、數(shù)字基因工程、超大規(guī)模數(shù)據(jù)傳輸與處理、基于“云”網(wǎng)絡(luò)的大規(guī)模數(shù)據(jù)集中并發(fā)運(yùn)算處理技術(shù)、基于“云”網(wǎng)絡(luò)的大規(guī)模數(shù)據(jù)分布式協(xié)同運(yùn)算處理技術(shù)。
李東云(1981-),男,本科,主要研究方向:電子信息科學(xué)與技術(shù)、智能設(shè)備、網(wǎng)絡(luò)系統(tǒng)安全和互聯(lián)網(wǎng)技術(shù)。
吳先鋒(1978-),男,碩士,主要研究方向:計(jì)算機(jī)軟件、算法和軟件及系統(tǒng)結(jié)構(gòu)、軟件中間件服務(wù)器。