《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 發(fā)布區(qū)塊鏈標(biāo)準(zhǔn)應(yīng)用模型及應(yīng)用部署技術(shù)研究
發(fā)布區(qū)塊鏈標(biāo)準(zhǔn)應(yīng)用模型及應(yīng)用部署技術(shù)研究
白杰,李東云,吳先鋒
(數(shù)字互聯(lián)(北京)有限公司,北京 100098)
摘要: 基于塊狀數(shù)據(jù)結(jié)構(gòu)和分布式去中心化邏輯,定義并發(fā)布區(qū)塊鏈標(biāo)準(zhǔn)框架模型。此模型定義標(biāo)準(zhǔn)數(shù)據(jù)接口,可擴(kuò)展的結(jié)構(gòu)化和格式化表達(dá)式,及由低至高的數(shù)據(jù)區(qū)塊層、網(wǎng)絡(luò)層、平臺(tái)框架層、應(yīng)用層、跨域?qū)庸参鍖樱x了可支撐任何應(yīng)用的區(qū)塊鏈環(huán)境。開發(fā)者可依據(jù)模型將應(yīng)用獨(dú)立部署或接入?yún)^(qū)塊鏈網(wǎng)絡(luò);支持自由定義、創(chuàng)建、和執(zhí)行智能合約,并按照合約的定義自動(dòng)執(zhí)行鏈上或鏈下無縫接入的應(yīng)用系統(tǒng)。模型中的平行鏈、側(cè)鏈和混鏈標(biāo)準(zhǔn),雙向兼容任何主鏈或行業(yè)鏈。在防篡改、開放、完全去中心化及數(shù)據(jù)私密性之間達(dá)到完全兼顧,為行業(yè)提供了部署去中心化應(yīng)用的區(qū)塊鏈基礎(chǔ)標(biāo)準(zhǔn)。
中圖分類號(hào):TP31;TP39
文獻(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.
The standard of blockchain applications model publication and deployment technologies research
Bai Jie,Li Dongyun,Wu Xianfeng
(Digital Interconnection (Beijing) Co.,Ltd.,Beijing 100098,China)
Abstract: Based on the block data structure and decentralized theory, the standard of blockchain infrastructure and application model is defined and publication.This model includes the standard of data interfaces,extensible structured and formatted expressions,five layers(data block layer,network layer,framework layer,application layer and cross domain layer) to create the blockchain environment that supports any decentralized applications(DAPP).According to this model,the developer/user can connect its applications to the blockchain network or deploy it individually,and to define,create and execute smart contracts freely,and to link the on-chain and off-chain application systems automatically.The standard of parallel chain,side chain and mixing chain has the ability of two-way compatibility with any existing chains.It takes account of the sides in terms of data unchangeable,openness,decentralization and security, and provides the fundamental blockchain standard of DAPP deployment.
Key words : blockchain; smart contract; consensus algorithm; structured expressions; formatted expressions; unchangeable; decentralization; decentralized applications; Web3.0

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所示。

 

bj1_副本.jpg

圖 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所示。


bj2_副本.jpg

圖 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所示。

bj3_副本.jpg

圖 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所示。

 

bj4_副本.jpg

圖 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所示。

 

bj5_副本.jpg

圖 5   角色示意圖


2.11 網(wǎng)絡(luò)平臺(tái)


CNWW3模型對(duì)于網(wǎng)絡(luò)層是可自動(dòng)伸縮的自適應(yīng)網(wǎng)絡(luò),分層如圖6所示。

 

bj6_副本.jpg

圖 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ù)器。

 

 

 

 

 

 


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。