文獻(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ū)?,是CNWW3模型針對(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ǔ),。跨鏈的共識(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)失敗:無(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ù)器,。