京东区块链架构体系:组件模型

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

 京东区块链组件模型 


 

京东区块链组件模型


“组件模型”是一个逻辑上的功能模块设计,是实现账本协议的逻辑框架。定义了组件的标准化接口,使得遵循组件模型的区块链系统实现具备松耦合、可插拔的特性。

京东区块链:组件模型


共识网络

目前典型的共识算法主要有 PoW、PoS、PBFT、Raft、Paxos 等。通过对比发现,这些算法在运行过程都可以抽象下面几个阶段:

(1) 交易扩散;

(2) 交易排序;

(3) 调用交易执行程序;

(4) 对交易执行结果进行共识;

(5) 提交共识结果。

各种共识算法的差异体现在不同阶段采取了不同实现策略。

PoWPoS 算法在交易扩散和排序时,不采用原子广播协议,同时以随机化的方式选择出 leader 节点执行排序,因此会导致交易可能被随机丢弃。

Raft、Paxos 算法对全部交易进行原子广播和排序,但在共识的过程并不处理拜占庭错误。

PBFT 算法对全部交易进行原子广播和排序,同时在共识阶段处理拜占庭错误,不支持动态调整节点。

我们从面向企业级应用场景的特点出发,选择类 BFT 的算法进行优化,提供了确定性交易执行、拜占庭容错、动态调整节点的特性。

京东区块链的共识网络组件按照模块化的思路设计,基于以上几个通用阶段进行封装, 抽象出可扩展的标准接口。

京东区块链:账本

账本状态与合约分离,使用基于身份的访问控制协议约束合约对状态的访问,这种将数据与逻辑分离的设计模式是典型的贫血模型,可为上层业务逻辑提供无状态的逻辑抽象。

持久化存储

将账本信息的持久化格式定义为更简洁的 KV 格式数据,使得可以利用成熟的 NoSQL 数据库来实现持久化存储。基于目前在 NoSQL 数据库上成熟的海量数据存储方案,使得区块链系统能支持海量的交易。

合约引擎

合约引擎包含两大部分,前端包括合约高级语言规范及其工具链,后端是一个轻量级的合约中间代码的执行环境。所有对账本的操作通过账本组件提供的 API 实现。

玖壹区块链声明

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

分享:

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

区块链评论

链书网

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