文獻(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)思想理念,,這種思想最根本原理就是通過(guò)公眾共識(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),無(wú)論是理論上或?qū)嶋H應(yīng)用中,以及是否支持具體現(xiàn)實(shí)中的應(yīng)用落地,,均存在問(wèn)題,,并且各個(gè)平臺(tái)相互隔離,導(dǎo)致數(shù)據(jù)和應(yīng)用的碎片化及孤島現(xiàn)象,。其主要原因是:這些平臺(tái)雖然采用了區(qū)塊鏈思想,,但從具體的技術(shù)架構(gòu)設(shè)計(jì)環(huán)節(jié),并沒(méi)有從系統(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í)解決方法。該方法通過(guò)標(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)境。它支持任何開(kāi)發(fā)者快速地將自己開(kāi)發(fā)的任何應(yīng)用部署到該區(qū)塊鏈平臺(tái),;自由地定義并創(chuàng)建智能合約,,并按照合約的定義,自動(dòng)執(zhí)行鏈上或鏈下任何應(yīng)用系統(tǒng)或程序,;支持將其已有的任何應(yīng)用業(yè)務(wù)系統(tǒng)無(wú)縫地與主鏈對(duì)接,;模型中的平行鏈和混鏈模式,可以雙向兼容任何區(qū)塊鏈主鏈或行業(yè)鏈,。
模型既保證了抗抵賴性,、開(kāi)放性和完全的去中心化,同時(shí)保證了數(shù)據(jù)的私密性,。在防篡改性,、開(kāi)放性、完全的去中心化及數(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ū)樱荂NWW3模型針對(duì)應(yīng)用部署的定義,,其目標(biāo)是支持任何鏈下應(yīng)用系統(tǒng)無(wú)縫接入或直接部署到鏈上,;任何應(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ǔ),通過(guò)諸如IPFS,、加密,、訪問(wèn)控制等技術(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)的去中心化式存儲(chǔ)、加解密和使用,。工作方式:通過(guò)提供全局一致性的數(shù)據(jù)接口進(jìn)行數(shù)據(jù)的存儲(chǔ),、加密和訪問(wèn)能力。
第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)通過(guò)網(wǎng)絡(luò)交換層完成組網(wǎng)、數(shù)據(jù)的交換和同步、共識(shí)協(xié)商,、交易廣播等功能,。工作方式:通過(guò)分層的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),。其中最重要的能力就是跨鏈,通過(guò)跨鏈功能將各個(gè)區(qū)塊鏈能有機(jī)的進(jìn)行組合,,從而提供更多的能力,。作用:提供去中心化應(yīng)用開(kāi)發(fā)基礎(chǔ)平臺(tái)和框架支持。工作方式:通過(guò)聚合不同的區(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)和滿足,?;诳蚣軐拥闹С郑_(kāi)發(fā)者,、組織或結(jié)構(gòu)都可以構(gòu)建自己的去中心化應(yīng)用,,實(shí)現(xiàn)自己的需求。工作方式:和傳統(tǒng)的應(yīng)用開(kāi)發(fā)類似,,應(yīng)用開(kāi)發(fā)者通過(guò)框架層提供的各類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)工作,。通過(guò)對(duì)不同應(yīng)用的打通和連接,,最終提供整體的去中心化網(wǎng)絡(luò)。工作方式:通過(guò)用戶授權(quán)和驗(yàn)證,,從數(shù)據(jù)層到應(yīng)用層,,將所有去中心化應(yīng)用通過(guò)有序的方式組合,提供統(tǒng)一的入口和完整的用戶服務(wù)和體驗(yàn),。
2 CNWW3模型的說(shuō)明
2.1 建立公鏈
實(shí)施CNWW3模型示意圖如圖2所示,。
圖 2 實(shí)施CNWW3模型示意圖
建立基礎(chǔ)公鏈平臺(tái),規(guī)范定義數(shù)據(jù)接口和結(jié)構(gòu),,支持其他區(qū)塊鏈對(duì)接,,是支持跨鏈基礎(chǔ)??珂湹墓沧R(shí)通過(guò)統(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)提供公共開(kāi)發(fā)平臺(tái),一次性完成多個(gè)平行鏈智能合約協(xié)同開(kāi)發(fā)和部署,。
公鏈內(nèi)容:公鏈數(shù)據(jù)+平行鏈信息摘要(交易摘要或散列值),。通過(guò)格式化的表達(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)信息摘要:交易樹(shù)、狀態(tài)樹(shù),、收據(jù)樹(shù),、數(shù)據(jù)樹(shù)。
行業(yè)鏈或聯(lián)盟鏈或私有鏈,,都可以通過(guò)公鏈平臺(tái)快速建立,。CNWW3支持調(diào)用創(chuàng)建鏈的封裝快速建鏈。
2.2 中繼模式支持跨鏈
跨鏈解決現(xiàn)有區(qū)塊鏈網(wǎng)絡(luò)相互隔離的問(wèn)題,,真正打通不同網(wǎng)絡(luò)/應(yīng)用之間的隔閡,。
(1)在不改變現(xiàn)有區(qū)塊鏈的基礎(chǔ)上,通過(guò)提供獨(dú)立平行鏈,,完成平行鏈與公鏈的對(duì)接,;
(2)提供標(biāo)準(zhǔn)的接口規(guī)范。新區(qū)塊鏈基于對(duì)接規(guī)范適配開(kāi)發(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ǔ)上,,通過(guò)打包進(jìn)入?yún)^(qū)塊的驗(yàn)證信息(多個(gè)維度)的權(quán)重來(lái)決定區(qū)塊的有效性,,并完成全網(wǎng)區(qū)塊同步。相關(guān)維度包括:
(1)來(lái)源,。不同平行鏈有不同優(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í)證明等算法,通過(guò)部分節(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ò)展性,。
通過(guò)CNWW3模型中交易鎖定方式,在CNWW3模型定義的公鏈發(fā)起有鎖定條件的交易,,平行鏈監(jiān)聽(tīng)其他區(qū)塊鏈的交易結(jié)果并同步至公鏈,,完成跨鏈交易。對(duì)于支持智能合約的區(qū)塊鏈網(wǎng)絡(luò),,調(diào)用公鏈智能合約,,通過(guò)平行鏈的智能合約橋接,執(zhí)行主鏈部署的智能合約進(jìn)行交易,。平行鏈監(jiān)聽(tīng)主鏈交易和狀態(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ú)立和解耦,。通過(guò)標(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)證過(guò)的區(qū)塊順序,。
2.6 分片機(jī)制
CNWW3模型中,,數(shù)據(jù)同步、共識(shí)處理和合約執(zhí)行,,通過(guò)強(qiáng)隨機(jī)分片方式進(jìn)行高速分離處理,。即:數(shù)據(jù)無(wú)需全網(wǎng)同步,共識(shí)無(wú)需全網(wǎng)處理,,合約無(wú)需全網(wǎng)執(zhí)行,。通過(guò)交易參與方靈活指定,達(dá)成交易快速處理,。最后通過(guò)公鏈分層共識(shí)機(jī)制,,完成最終的全網(wǎng)同步。
2.7 支持超過(guò)十萬(wàn)TPS級(jí)別的交易和合約執(zhí)行能力
通過(guò)對(duì)于交易和合約執(zhí)行的共識(shí)分區(qū)隔離,,通過(guò)算法確定全網(wǎng)的一致,,能支持高交易量。在CNWW3模型中,,通過(guò)交易個(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)證:開(kāi)始驗(yàn)證交易;
(5)鎖定:如指定鎖定規(guī)則,,則按照規(guī)則鎖定,;
(6)解鎖:按規(guī)則解鎖交易,;
(7)成功:驗(yàn)證成功/解鎖成功并成功進(jìn)入?yún)^(qū)塊;
(8)失?。簾o(wú)法進(jìn)入?yún)^(qū)塊的其他情況,。
對(duì)應(yīng)的狀態(tài)變遷如圖3所示。
圖 3 交易狀態(tài)變遷示意圖
2.9 智能合約
CNWW3模型中公鏈提供完備的智能合約機(jī)制,,便于應(yīng)用開(kāi)發(fā)者進(jìn)行相應(yīng)的智能合約開(kāi)發(fā),,公鏈網(wǎng)絡(luò)自身部分工作也是內(nèi)置的智能合約完成的,如:節(jié)點(diǎn)角色分配和申報(bào),、投票和表決,、平行鏈維護(hù)、分片機(jī)制,、有效性驗(yàn)證調(diào)用,、監(jiān)察維護(hù)及非法舉報(bào)、跨鏈合約鎖定,。編寫智能合約沒(méi)有嚴(yán)格的限定,,通過(guò)多編程語(yǔ)言的API接口,準(zhǔn)許使用者任意選擇語(yǔ)言對(duì)合約開(kāi)發(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)型,。通過(guò)分層共識(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)景
幾種常見(jiàn)場(chǎng)景的描述如下,,便于更進(jìn)一步理解方案內(nèi)容。
3.1 平行鏈維護(hù)
CNWW3模型提供支持以太坊及其他區(qū)塊鏈的平行鏈,。開(kāi)發(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 無(wú)智能合約能力的母鏈跨鏈交易——不支持鎖定
該場(chǎng)景下,通過(guò)公鏈的交易狀態(tài)屬性,,能完成對(duì)應(yīng)的跨鏈交易,。
整個(gè)過(guò)程簡(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 無(wú)智能合約能力的母鏈跨鏈交易——支持鎖定
母鏈支持鎖定狀態(tài)的話,,一種可能的跨鏈交易方式如下:
(1)OA……>OB(y)(起始鏈鎖定交易);
(2)DB——>DA(z)(目標(biāo)鏈交易),;
(3)OA——>OB(y)(起始鏈鎖定交易確認(rèn))
3.2.3 有智能合約能力的母鏈跨鏈交易
這種場(chǎng)景下的跨鏈交易,,通過(guò)智能合約的支持,將大大降低對(duì)應(yīng)的難度,,與無(wú)智能合約能力支持鎖定的母鏈跨交易類型相比,,在OB和DB上均可以通過(guò)智能合約,完成對(duì)應(yīng)的鎖定和釋放工作,,同時(shí),,交易的結(jié)果可以直接通過(guò)消息告知,,不用通過(guò)OP和DP進(jìn)行輪詢查找。
3.2.4 跨鏈智能合約執(zhí)行
智能合約的執(zhí)行,,母鏈一定是支持智能合約的,。這種方案和具有智能合約的母鏈跨鏈交易原理是一致的,這里不再贅述,,可以通過(guò)公鏈的智能合約能非常便捷地完成對(duì)應(yīng)的跨鏈合約,。
4 結(jié)論
本方案通過(guò)對(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)通過(guò)標(biāo)準(zhǔn)的接口和數(shù)據(jù)結(jié)構(gòu)定義,,任何應(yīng)用均可以無(wú)縫接入?yún)^(qū)塊主鏈,,解決傳統(tǒng)應(yīng)用上鏈的問(wèn)題;
(2)通過(guò)標(biāo)準(zhǔn),、結(jié)構(gòu)化和可擴(kuò)展的描述表達(dá)式完成智能合約的描述,,突破了當(dāng)前沒(méi)有一套標(biāo)準(zhǔn)的智能合約表達(dá)描述,所有的系統(tǒng)只能自己定義自己的合約執(zhí)行系統(tǒng),,不能夠相互兼容的問(wèn)題,;
(3)通過(guò)中繼方式,使用側(cè)鏈技術(shù)和平行鏈技術(shù)完成跨鏈的信息和價(jià)值交換,,解決了當(dāng)前區(qū)塊鏈主鏈相互不兼容的難點(diǎn),;
(4)將分布式網(wǎng)絡(luò)進(jìn)行分層處理,提供不同的優(yōu)先級(jí),,保障最重要的信息和數(shù)據(jù)進(jìn)行交換和同步,;
(5)通過(guò)交易和合約完整狀態(tài)定義,提供交易驗(yàn)證的后置技術(shù)方案,,解決交易和驗(yàn)證的高并發(fā)問(wèn)題,。
通過(guò)CNWW3標(biāo)準(zhǔn)模型,現(xiàn)有的區(qū)塊鏈網(wǎng)絡(luò)可以快速進(jìn)行跨鏈的價(jià)值和信息交換,,新的應(yīng)用也能基于公鏈進(jìn)行快速開(kāi)發(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ù)器。