深度解析区块链架构、跨链和演进

本文根本上介绍区块链的架构内涵,先概括区块链的本质,以发展的眼光给出一个区块链的高阶架构,并对高阶架构的各个模块进行详细的说明。

这里写图片描述

作者 | 庄鹏
责编 | 钱曙光

本文是基于作者近几年来对各种区块链平台理念和技术的研究,结合作者过去十多年IT架构经验,审慎思考的结果,文章仅代表作者个人观点。作者会假设读者对各种区块链平台有一定认知,不会对具体的区块链平台再做详细的介绍。

为了从根本上说清楚区块链的架构内涵,作者先概括出区块链的本质,从区块链的本质出发,以发展的眼光给出一个区块链的高阶架构,并对高阶架构的各个模块进行详细的说明。还会从区块链跨链的本质出发,说明区块链的跨链架构,以及区块链划分和发展趋势。最后结合区块链高阶架构,以可扩展性设计为导向,给出一个区块链的高阶部署架构模型。

区块链的本质和架构模型

区块链的定义和本质

笔者经过对各种区块链异同点的分析和归纳思考,先给出了一个区块链定义。

区块链是在符合现实社会法律法规前提下,可治理的,依赖于密码学算法和博弈经济性设计,基于共识算法,对发生在主体间的价值创造,价值转移,价值交换,以及涉及到各个价值主体由机器驱动的业务流程,在多个对等的主体间形成的共识,从而达到共享业务状态,共享价值状态,即共享账本,以达到加速社会资源配置和价值流通,最终提高生产力的目的。

区块链的本质是共识,在互不信任的主体间的共识就形成了公认的价值。区块链的目标是解放和提高整个社会的生产力,手段是将生产关系虚拟化,运用IoT和价值锚定技术将现实世界和虚拟世界无缝连接起来,虚拟化的业务合约可以由机器自动化驱动现实和虚拟社会的资源配置,价值生产和流通,结合大数据智能分析优化虚拟的生产关系,现实和虚拟的法律法规和治理机制为虚拟的区块链社会的稳定发展提供保障。

区块链的架构模型

作者从区块链的本质出发,以发展的眼光看待区块链的架构和架构未来的发展,关注于主要业务和技术能力,给出一个全面而高度概括的区块链架构模型。这是一个面向链合约服务的高阶架构模型,体现了未来基于区块链实现高度自动化、智能化、公平守约的虚拟社会生产关系的能力。

面向链合约服务的高阶层次化架构包括了三大部分:业务合约和账本,区块链平台服务,UI界面和API接口。以下对各个部分进行详细说明。

 这里写图片描述
图1 区块链架构模型

业务合约和账本

在现实世界,我们每个人都处在各种关系契约中,所有人在契约的约定下参与整个社会的生产和生活。区块链技术最终要能促进生产关系虚拟化,推动生产力的发展,整个区块链生态系统的核心就是要能支持各种契约,即业务合约,并在相关参与者间共享交易账本。

业务合约大到非常复杂的业务合约流程,这要高于企业各自的流程,是各个企业、组织或个人作为流程主体共同参与制定共同认可的生产关系流程契约。比业务合约流程粒度小的业务合约称为合约服务,合约服务是在语义层面对业务行为进行抽象的最小契约,合约服务由一组合约动作(action)构成。作为抽象的合约服务的具体实现,合约代码可以由不同合约语言编写,合约代码中引用的业务条款和法律条款也都可以有具体的不同实现语言。

合约流程

合约流程实现了基于合约服务的一系列固定的,按照既定业务规则和法律条款串联或并联起来的合约动作,通过各个合约动作的完成,实现业务在各个流程参与方的执行,实现由机器流程引擎驱动的价值高速自动创造,自动流转,自动交换。合约流程一旦运行起来就是一个状态机,合约流程在参与方间共享流程状态,也就是共享一致的状态机的状态。

业务参与各方在阅读具体的业务合约流程业务规则,法律条款后,签定合约流程契约,合约流程生效,流程可以通过时间触发,也可以是链上的事件触发,也可以Oracle事件触发,也可以人工触发。初始化后的流程实例按照后续节点的类型,人工节点或是计算节点,实现通过UI界面或API的外部输入确认的人工执行驱动,或调用合约服务的具体action实现代码的机器计算驱动,形成业务价值交易,流程引擎调用业务条款检查服务和法律条款检查服务,获得业务节点的业务规则状态和法律条款满足状态,按照既定的流程规则,引擎驱动流程判断流向下一(多)个节点。

业务流程在各个节点流转时,由流程引擎驱动形成一个个的流程流转交易,业务流程合约参与方通过共享流程流转交易实现流程状态共享的目的。流程验证者在本地的沙盒中执行对流程流转交易的验证,实现流程状态机一致的状态流转。

合约服务

作为业务合约的主体,定义了业务合约最基本的服务内容,每一个合约服务就是一种最小的完整的概念层面的业务语义定义。合约服务定义了完成业务所需的一个或多个合约动作(action),每个合约动作定义了输入状态和输出状态和要执行的业务逻辑命令。

合约服务本身和每一个合约动作,以及其中用到的任何合约条款法律条款都需要用人类语言进行清晰明确的描述,必要时提供形式化语义描述以免出现语言理解偏差。每一个合约动作的执行形成一个明确的合约价值交易。合约流程引擎在执行流程节点流转时,按照流程定义的对合约服务动作的调用,自动进行服务动作的执行,从而产生业务价值交易,这是一种内在的合约服务调用。合约服务的调用也可以是外在的,由用户通过UI界面基于外部API接口实现调用。

合约服务可以是一种组合服务,对现有的合约服务动作进行组合,形成新的服务动作业务语义。合约服务的可组合化有利于基于已有的业务合约定义,通过快速构建新型的业务合约进行生产关系创新,实现不同产业价值服务的零距离整合。为了实现合约服务的自包含化,并支持服务流程的编排,以及服务计算容器化、分布式、可扩展的架构部署要求,合约服务需要定义成无状态的。当签约用户或流程调用合约服务时,合约服务会进行服务路由,基于链服务管理的路由规则,选择特定的合约代码实现来具体验证执行业务价值交易。

合约代码

合约服务的每一个合约动作都会产生业务价值交易,业务价值交易会在合约代码实现上进行执行和验证。作为交易验证者,合约服务可以有多种实现,如不同合约语言的实现,不同合约提供商的版本实现,不同利益相关方的合约代码实现,这有利于所有的合约服务参与者去中心化,并在抽象的业务层面就达成共识。

合约代码实现了合约动作定义的输入状态和输出状态和要执行的一组业务逻辑命令计算,命令是最小的执行单元,可以是调用一个技术服务,如生成zkSNARK证明,也可以是输入和输出状态检查、逻辑计算、法律条款服务检查等。

经过所有的命令执行,如果输入状态可以确定性地得到输出状态,对于合约服务的发起者就可以形成一个业务价值交易建议,而其他参与者可以对这个业务价值交易建议进行验证。对于合约流程产生的流程流转交易,由流程执行建议者计算出状态迁移交易建议,由流程执行验证者进行本地流程流转验证。

价值共享账本

合约流程的流转会产生流程流转交易,合约服务的执行会形成业务价值交易,所有的这些交易日志,被分类按应用按联盟团体组织成区块链或者交易链,形成不可更改和抵赖的数据结构,在各个参与方之间形成一个统一的状态账本。价值共享账本需要以高效、规范的方式进行数据组织,包括交易日志和账本状态,以便于流程状态(状态机)和资产状态数据库的快速更新,也便于对历史交易进行快速查找和回溯。另外,价值共享账本底层还需要有共享的通信机制,如使用各种P2P算法,便于相关方进行基于权限的相关交易数据的快速同步。

区块链平台服务

区块链平台服务提供所有区块链平台层面的公共服务,平台服务同具体的业务无关,是可以为所有业务合约所共享的服务。各种平台服务可以是链上的,也可以是链外的,一同构成一个区块链平台不可或缺的能力。主要包括合约合规,安全控制,链上共识&#

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值