京东区块链架构体系:应用模型

链书网 区块链白皮书 2018-10-18 68 0

京东区块链架构体系:应用模型

区块链是一种全新的架构形式,使跨主体的业务协作变得简单、高效和安全。与传统的互联网协议不同( TCP/IPHTTP ,传统协议都是面向通讯过程的,而区块链是面向业务过程的。区块链作为一种分布式状态机,“智能合约”是实现分布式业务状态转移的核心功能,使得基于区块链的应用架构模型产生了全新的变革。

以应用开发者的视角来观察一下基于区块链的应用开发过程,会更清楚地察觉这种巨大的差异。

假设要开发一个商品贸易系统,业务的参与者包括贸易买卖双方和物流企业,这个系统要帮助买卖双方建立交易合同、跟踪货物运输过程、交付结算。基于区块链实现该应用通常需要以下几个步骤:

(1) 定义参与业务的各个主体的身份账户

为参与者注册登记一个由公钥私钥对(证书)表示的身份账户。由符合国家标准的证书所表示的身份账户是能够代表一个特定的法人,由该账户签发的数据可以在法律上被认为是该法人做出的确认。

传统的架构方案通常是 SOA:各个参与方的系统发布各自的 SOA 接口,相互间通过

SOA 接口调用实现系统对接。在这种架构下,开发者实现任何一个特定参与方的业务角色的功能,都需要把该参与方的身份与其公布的 SOA 服务接口的通讯地址建立对应关系,开发者对业务功能的实现是体现为对通讯接口的调用和处理。然而,这种方式调用获得的数据难以


具备防篡改能力(尤其是大量数据量情况下,也难具有对方法人签名确权的效力(若对每条数据记录都进行签名则技术实现成本很高

(2) 编写智能合约对业务过程做出定义

把参与者之间达成的商业协议以智能合约代码的形式进行定义,以数字化形式约定贸易的商品属性、数量、交付价格、交付期限、交付条件、运输方式、交割检验标准、货款计算方式、货款支付时限等等。

在智能合约的编写过程中,需要关注的内容通常有:在账本中保存的业务信息的格式; 业务过程中产生的业务状态;改变业务状态需要满足的条件;业务状态变更的触发方式;业务状态变更涉及更新的业务信息。

智能合约代码的编写过程是完全不需要关注非业务功能的处理,比如:业务数据在参与者之间网络结构、寻址方式、通讯协议、传输格式、响应线程、处理资源。

智能合约虽然也表现为某种形式的编程语言,但是其编写逻辑是完全直接面向业务的, 可以形式化地概括为 3 个方面:

a) 定义多主体间的业务数据格式;

b) 定义业务过程包含的业务状态表;

c) 定义各个业务状态的转换条件和触发方式。

(3) 联合签署智能合约并触发业务初始条件

智能合约最后需要经过参与者以各自的身份账户做出签署,之后每一方参与者只需要根据自己业务范围内的业务进程做出相应的操作,便触发了智能合约的执行。

在这个过程中,区块链系统以客观的技术手段提供以下几个方面的保证:

确保合约在每一个参与业务主体的节点上被一致的执行,并得到一致的结果;

确保合约执行过程的每一个步骤都被准确地记录下来;


确保合约执行过程的记录以及最终结果都无法被篡改;

确保参与的主体对合约执行过程的记录以及结果进行签名,确保合约被执行的事实在今后都不可抵赖。

建立灵活、实用的企业级智能合约系统是京东区块链在系统实现上的核心目标之一。我们在技术路线上通过以下几点来实现:

定义标准化和良好可读性的合约中间语言指令集,使合约能够以人类可读的形式进行最终签署,有助于体现智能合约的法律效力;

支持 JavaGo 等主流开发语言作为合约的编程语言,降低合约的学习成本;

支持智能合约的模拟、调试功能,解决合约的可测试问题;

支持灵活的合约间调用和数据访问控制策略,更容易开发复杂的企业智能合约。

 


玖壹区块链声明

加微信:469649885区块链培训教程
还可免费获取区块链培训班试学名额

分享:

扫一扫在手机阅读、分享本文

区块链评论

链书网

玖壹区块链培训学院简称(玖壹学院http://www.91xiubbs.com/)提供区块链技术培训资料、区块链开发培训视频教程等下载,不过网上自学区块链技术课程必然存在一些缺陷:遇到问题易卡壳、学习周期漫长、无针对性等。区块链培训机构现场面对面的讲授区块链培训课程可以让您和团队在最短时间内掌握正确、系统、高效的区块链实战技术。