《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 发布区块链标准应用模型及应用部署技术研究
发布区块链标准应用模型及应用部署技术研究
白杰,李东云,吴先锋
(数字互联(北京)有限公司,北京 100098)
摘要: 基于块状数据结构和分布式去中心化逻辑,定义并发布区块链标准框架模型。此模型定义标准数据接口,可扩展的结构化和格式化表达式,及由低至高的数据区块层、网络层、平台框架层、应用层、跨域层共五层,定义了可支撑任何应用的区块链环境。开发者可依据模型将应用独立部署或接入区块链网络;支持自由定义、创建、和执行智能合约,并按照合约的定义自动执行链上或链下无缝接入的应用系统。模型中的平行链、侧链和混链标准,双向兼容任何主链或行业链。在防篡改、开放、完全去中心化及数据私密性之间达到完全兼顾,为行业提供了部署去中心化应用的区块链基础标准。
中图分类号:TP31;TP39
文献标识码:A
DOI: 10.19358/j.issn.2096-5133.2018.08.004
中文引用格式:白杰,李东云,吴先锋.发布区块链标准应用模型及应用部署技术研究[J].信息技术与网络安全,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  引言

  

区块链提供了一种去除中心化的系统思想理念,这种思想最根本原理就是通过公众共识的方式,创建一个相对客观的抗抵赖数字环境。区块链以分布式数据技术为基础,加密技术为手段,对数据副本的分布存储和抗抵赖验证。目前的区块链平台,都是基于分布式技术、密码学、点对点网络及各种共识算法搭建的。这些区块链平台,无论是理论上或实际应用中,以及是否支持具体现实中的应用落地,均存在问题,并且各个平台相互隔离,导致数据和应用的碎片化及孤岛现象。其主要原因是:这些平台虽然采用了区块链思想,但从具体的技术架构设计环节,并没有从系统化的角度侧重考虑对于应用的部署和支撑。 

本文定义发布了区块链标准应用模型及应用部署的方法,提出了应用系统独立部署到区块链的完整系统级解决方法。该方法通过标准化及支持自由扩展的数据接口,标准结构化及格式化的表达式用以描述任何智能合约,以及从数据区块层至跨域层(数据区块层、网络层、平台框架层、应用层、跨域层,由低至高共计五层)的系统模型,提供一个可以容纳并支撑任何应用的区块链环境。它支持任何开发者快速地将自己开发的任何应用部署到该区块链平台;自由地定义并创建智能合约,并按照合约的定义,自动执行链上或链下任何应用系统或程序;支持将其已有的任何应用业务系统无缝地与主链对接;模型中的平行链和混链模式,可以双向兼容任何区块链主链或行业链。 

模型既保证了抗抵赖性、开放性和完全的去中心化,同时保证了数据的私密性。在防篡改性、开放性、完全的去中心化及数据私密性之间,达到了完全兼顾。解决当前区块链技术本身存在的缺陷,为各行业提供了在区块链环境中的应用落地方法和基础设施。


1  Web3.0与区块链标准网络应用模型


1.1 目前Web3.0架构的缺陷


当前对于Web 3.0的描述中具代表性的是TUALS的描述,该描述对Web3.0做了抽象概括,但在具体应用实施中有不足之处:将数据层跨接在网络层之上,但是二者的关系应该是相反的,至多是平行的关系。同时,当前这些碎片化、孤岛化的区块链网络、数据及DApps的融合缺乏有效的手段。 


1.2 定义发布区块链标准网络应用Web3.0模型(Chain NetWork Web3.0,CNWW3模型) 


相对于现有的中心化互联网及应用,基于去中心化思想而构建的互联网框架及应用,与最终在这些应用之上的跨域聚合,融合现有的中心化互联网和应用,组成的完整的去中心化,部分领域完全自治的生态环境,是区块链Web3.0标准网络框架的完整描述。

去中心化应用层与跨域层,是CNWW3模型针对应用部署的定义,其目标是支持任何链下应用系统无缝接入或直接部署到链上;任何应用系统可采用热插拔的方式上链或下链;支持任何链上的系统实现跨域交互。 

CNWW3模型结构,如图1所示。

 

bj1_副本.jpg

图 1   区块链标准网络应用Web3.0模型(CNWW3模型)


各个层级的描述和定义可以参考图1。实现跨域层的基础是提供可支持跨链的合约和共识系统。 


1.3 针对CNWW3模型的定义和描述


第1层,数据区块层(Data Block Layer)。定义:基本物理数据块的顺序集合,是主链的基本组成单元,还有相应的数字凭证和文件。描述:提供全网的分布式数据存储,通过诸如IPFS、加密、访问控制等技术来实现数据的去中心化式存储、加解密和使用。工作方式:通过提供全局一致性的数据接口进行数据的存储、加密和访问能力。 

第2层,网络交换层(Network Layer)。定义:集合多种通信协议,是各个节点相互通信和节点发现,数据和信息交换的基础网络设施。描述:系统的分布式节点通过网络交换层完成组网、数据的交换和同步、共识协商、交易广播等功能。工作方式:通过分层的P2P网络,实现节点的自动登记和发现,并完成最终的数据和信息的交换。

第3层,平台框架层(Framework Layer)。定义:不同链能力集合,链与链间的相互功能注册、发现、集成平台,跨链间交互的基础。描述:基于数据和网络,框架层提供对应的基础区块链功能和架构。其中最重要的能力就是跨链,通过跨链功能将各个区块链能有机的进行组合,从而提供更多的能力。作用:提供去中心化应用开发基础平台和框架支持。工作方式:通过聚合不同的区块链平台,并提供有效的跨链解决方案,从而能集中使用各个区块链平台提供的能力,构建基于全网的去中心化应用。 

第4层,去中心化应用层(Decentralized Application Layer)。定义:链上和链下应用的一体化创建、部署、对接和使用。描述:大部分应用场景在这一层进行实现和满足。基于框架层的支持,开发者、组织或结构都可以构建自己的去中心化应用,实现自己的需求。工作方式:和传统的应用开发类似,应用开发者通过框架层提供的各类API或接口,定义、创建、发布和使用去中心化的应用。

第5层,跨域层(Cross Domain Layer):定义:跨链,跨去中心化应用的聚合连接,构建完整的去中心化生态。描述:去中心化的互联网平台最重要的就是数据、网络和平台的分布式和共享,所以在应用层,也需要提供一个完整统一的方式,跨域层就需要完成这项工作。通过对不同应用的打通和连接,最终提供整体的去中心化网络。工作方式:通过用户授权和验证,从数据层到应用层,将所有去中心化应用通过有序的方式组合,提供统一的入口和完整的用户服务和体验。

 

2  CNWW3模型的说明


2.1 建立公链


实施CNWW3模型示意图如图2所示。


bj2_副本.jpg

图 2   实施CNWW3模型示意图 


建立基础公链平台,规范定义数据接口和结构,支持其他区块链对接,是支持跨链基础。跨链的共识通过统一的公链平台进行提供。 

(1)公链用于跨链中继,完成交易验证,数据证明,智能合约执行; 

(2)统一接口和规范,快速接入公链并支持跨链; 

(3)提供基础区块链平台,完成区块链方案快速部署和验证; 

(4)提供公共开发平台,一次性完成多个平行链智能合约协同开发和部署。 

公链内容:公链数据+平行链信息摘要(交易摘要或散列值)。通过格式化的表达式描述交易,使用压缩算法有效地提高区块存储能力,记录更多平行链的信息。公链的区块数据必须包含如下内容: 

(1)标识:序号、时间戳、区块hash值、前区块hash值;

(2)归属:区块生成者; 

(3)其他信息:随机值、难度值、附加信息等; 

(4)权重:大小; 

(5)信息摘要:交易树、状态树、收据树、数据树。 

行业链或联盟链或私有链,都可以通过公链平台快速建立。CNWW3支持调用创建链的封装快速建链。


2.2 中继模式支持跨链


跨链解决现有区块链网络相互隔离的问题,真正打通不同网络/应用之间的隔阂。

(1)在不改变现有区块链的基础上,通过提供独立平行链,完成平行链与公链的对接;

(2)提供标准的接口规范。新区块链基于对接规范适配开发即完成跨链。其中非常重要的一点是,如果新链是基于公链创建的,就可以认其为公链的侧链,天然具有支持跨链的功能。


2.3 共识机制 


CNWW3模型采用一种混合的共识机制(Proof of Mixture,POM),基于POW(Proof of Work)的工作量证明与有效性权重(Proof of Validity Weight)方式。周期内随机选定符合条件的节点,在分层的基础上,通过打包进入区块的验证信息(多个维度)的权重来决定区块的有效性,并完成全网区块同步。相关维度包括:

(1)来源。不同平行链有不同优先级。 

(2)价值。基于一个时间段的平均值。 

(3)等待时长。等待时间越长,权重越高。 

(4)类型。不同类型有不同权重。 

(5)其他维度。合约的层级或特殊权重地址等。 


2.4 扩展性和兼容性 


并非所有交易合约都需全网验证,最终区块全网一致即可;采用随机算法,各类BFT和零知识证明等算法,通过部分节点快速确认和验证交易和合约,并最终在全网达成共识;网络结构分层和节点分类,使数据、交易、合约和共识相互分离,避免相互制约和耦合,满足独立和可扩展性。 

通过CNWW3模型中交易锁定方式,在CNWW3模型定义的公链发起有锁定条件的交易,平行链监听其他区块链的交易结果并同步至公链,完成跨链交易。对于支持智能合约的区块链网络,调用公链智能合约,通过平行链的智能合约桥接,执行主链部署的智能合约进行交易。平行链监听主链交易和状态并同步至公链,完成跨链交易。 


2.5 分层机制


CNWW3模型在协议分层: 

(1)数据层、交易层、共识层、合约层、应用层,按照对应逻辑进行清晰划分;

(2)软件结构层面,定义接口的方式,进行独立和解耦。通过标准的UBCI(Universal Block Communication Interface)接口协议,各层使用不同的方式(如不同的语言,环境等)实现对应的功能和接口;

(3)不同层级采用不同共识的方式,相互间非阻塞异步处理; 

(4)信息哈希处理,区块同步时能有效调整已经被验证过的区块顺序。 


2.6 分片机制


CNWW3模型中,数据同步、共识处理和合约执行,通过强随机分片方式进行高速分离处理。即:数据无需全网同步,共识无需全网处理,合约无需全网执行。通过交易参与方灵活指定,达成交易快速处理。最后通过公链分层共识机制,完成最终的全网同步。


2.7 支持超过十万TPS级别的交易和合约执行能力 


通过对于交易和合约执行的共识分区隔离,通过算法确定全网的一致,能支持高交易量。在CNWW3模型中,通过交易个数动态调整区块大小,并在区块中将交易和合约本身的内容进行分离,主块中只存储交易和合约的摘要值或散列值,同时提供异步调用合约机制,提高同一个区块处理的交易和合约的个数。


2.8 关于交易


CNWW3模型中,交易是具有状态的:

(1)创建:基于本地新建交易,除常规内容,支持指定其他规则,如时间、区块号、验证人数、锁定时长/区块、签名规则、通知信息等;

(2)发布:发布交易至区块链,等待验证确认; 

(3)待验证:已经收到交易,并等待验证; 

(4)验证:开始验证交易; 

(5)锁定:如指定锁定规则,则按照规则锁定; 

(6)解锁:按规则解锁交易; 

(7)成功:验证成功/解锁成功并成功进入区块; 

(8)失败:无法进入区块的其他情况。 

对应的状态变迁如图3所示。

bj3_副本.jpg

图 3   交易状态变迁示意图


2.9 智能合约 


CNWW3模型中公链提供完备的智能合约机制,便于应用开发者进行相应的智能合约开发,公链网络自身部分工作也是内置的智能合约完成的,如:节点角色分配和申报、投票和表决、平行链维护、分片机制、有效性验证调用、监察维护及非法举报、跨链合约锁定。编写智能合约没有严格的限定,通过多编程语言的API接口,准许使用者任意选择语言对合约开发和部署。提供智能合约升级功能,可最大限度保障安全和可靠性。在公链中,智能合约的状态有如下几种: 

(1)创建:新建一个智能合约; 

(2)更新:更新一个智能合约,某些特定合约支持更新功能; 

(3)调用:执行智能合约; 

(4)暂停:暂停智能合约执行; 

(5)恢复:恢复智能合约执行; 

(6)停止:停止智能合约执行。 

CNWW3模型中智能合约调用执行方式如下:交易驱动型、消息驱动型及Oracle驱动型。通过分层共识,分片调配,支持异步合约,为合约提供更大自由度。合约代码和数据的存储位置可在不同的节点。

 对应的状态变迁如图4所示。

 

bj4_副本.jpg

图 4   智能合约状态变迁图


2.10 角色描述 


CNWW3模型中,不同角色分别维护公链和平行链。为了在平行链和公链上以最简方式存储必要的数据,也提供分布存储能力,用于存储其他类型的基础数据。 

(1)权益所有者(O)。具有系统Token的用户。 

(2)公链维护者(M)。任意节点都是维护者。 

(3)平行链维护者(P)。任意节点可申请成为平行链维护者。 

(4)所有的节点都自动具有监督者/候选者(C)的角色。在指定周期内未被选中承担M或者P角色的节点,可以自动作为C的角色进行监督和监察的工作。也可能被选中作为M或P的角色,在不同阶段承担不同角色。 

(5)公链服务提供者(S)。提供公链服务的节点。 

(6)数据存储者(D)。分布式数据存储的节点。 

角色示意图如图5所示。

 

bj5_副本.jpg

图 5   角色示意图


2.11 网络平台


CNWW3模型对于网络层是可自动伸缩的自适应网络,分层如图6所示。

 

bj6_副本.jpg

图 6   网络层级示意图

(1)公链平台、平行链平台和基础数据存储平台,在点对点网络层分为公链层、平行链层和数据存储层; 

(2)公链层网络承担最高并发和同步要求的网络层,处于最高优先级。当节点身兼多职,对应公链的网络信息将是第一优先级; 

(3)平行链网络的能动态调整和伸缩; 

(4)数据存储网络支持数据的安全性校验。 


3  CNWW3模型的应用场景 


几种常见场景的描述如下,便于更进一步理解方案内容。 


3.1 平行链维护


CNWW3模型提供支持以太坊及其他区块链的平行链。开发者可按照CNWW3模型的定义进行实施,完成第三方区块链平行链接入。同步母链区块链信息到平行链,并触发公链智能合约执行;同步公链交易/智能合约到平行链,并触发母链智能合约进行交易/合约执行。

这两项工作,均涉及平行链的数据和状态的维护,下面是涉及的相应操作步骤: 

(1)周期内平行链选择维护节点Pn; 

(2)同步上一个周期内的Pn-1节点的数据到Pn;

(3)触发平行链的交易和合约; 

(4)平行链触发母链的交易和合约; 

(5)Pn节点查询母链的执行结果; 

(6)触发公链的交易和合约; 

(7)Pn节点查询公链的执行结果; 

(8)Pn节点提交母链结果至公链; 

(9)Pn节点提交公链结果至母链; 

(10)Pn节点打包平行链区块并广播;

(11)Pn节点提交平行链区块结果至公链; 

(12)公链完成最终验证并打包区块。 


3.2 跨链交易/智能合约执行


首先需要考虑的是交易部分,其中涉及两种类型的母链,一种是支持智能合约的,如以太坊;另外一种是完全不支持智能合约的,需要分别进行考虑。


3.2.1 无智能合约能力的母链跨链交易——不支持锁定


该场景下,通过公链的交易状态属性,能完成对应的跨链交易。

整个过程简要描述如下:

(1)PB……>PA(x)(锁定交易);

(2)OA——>OB(y)(起始链交易); 

(3)PB——>PA(x)(锁定交易确认); 

(4)PA……>PB(x)(再次锁定交易); 

(5)DB——>DA(z)(目标链交易); 

(6)PA——>PB(x)(再次锁定交易确认) 


3.2.2 无智能合约能力的母链跨链交易——支持锁定 


母链支持锁定状态的话,一种可能的跨链交易方式如下: 

(1)OA……>OB(y)(起始链锁定交易); 

(2)DB——>DA(z)(目标链交易); 

(3)OA——>OB(y)(起始链锁定交易确认)

 

3.2.3 有智能合约能力的母链跨链交易 


这种场景下的跨链交易,通过智能合约的支持,将大大降低对应的难度,与无智能合约能力支持锁定的母链跨交易类型相比,在OB和DB上均可以通过智能合约,完成对应的锁定和释放工作,同时,交易的结果可以直接通过消息告知,不用通过OP和DP进行轮询查找。

 

3.2.4 跨链智能合约执行  


智能合约的执行,母链一定是支持智能合约的。这种方案和具有智能合约的母链跨链交易原理是一致的,这里不再赘述,可以通过公链的智能合约能非常便捷地完成对应的跨链合约。

 

4  结论

 

本方案通过对现有区块链平台的分析并结合实际的行业需求,在多个维度对区块链技术和应用快速落地进行了突破,提出相关的改进和解决方案,完成并发布CNWW3模型标准: 

(1)通过标准的接口和数据结构定义,任何应用均可以无缝接入区块主链,解决传统应用上链的问题; 

(2)通过标准、结构化和可扩展的描述表达式完成智能合约的描述,突破了当前没有一套标准的智能合约表达描述,所有的系统只能自己定义自己的合约执行系统,不能够相互兼容的问题; 

(3)通过中继方式,使用侧链技术和平行链技术完成跨链的信息和价值交换,解决了当前区块链主链相互不兼容的难点; 

(4)将分布式网络进行分层处理,提供不同的优先级,保障最重要的信息和数据进行交换和同步; 

(5)通过交易和合约完整状态定义,提供交易验证的后置技术方案,解决交易和验证的高并发问题。 

通过CNWW3标准模型,现有的区块链网络可以快速进行跨链的价值和信息交换,新的应用也能基于公链进行快速开发、部署和验证,最终构建完整的基于去中心化网络的应用生态体系。

 

 

 

 

(收稿日期:2018-07-06)

 

 

作者简介:

白杰(1980-),男,本科,系统分析师,高级技术职称(国家副高职),主要研究方向:信息安全、数字加密与身份识别、数据基因技术、数字基因工程、超大规模数据传输与处理、基于“云”网络的大规模数据集中并发运算处理技术、基于“云”网络的大规模数据分布式协同运算处理技术。

李东云(1981-),男,本科,主要研究方向:电子信息科学与技术、智能设备、网络系统安全和互联网技术。 

吴先锋(1978-),男,硕士,主要研究方向:计算机软件、算法和软件及系统结构、软件中间件服务器。

 

 

 

 

 

 


此内容为AET网站原创,未经授权禁止转载。