分布式账本服务 | 布比区块链产品详解(三)

本文为布比区块链产品详解系列文章的第三篇——布比区块链产品的分布式账本服务,以下为正文内容。

布比区块链底层服务由 P2P 组网、分布式账本、共识服务三部分组成;同时,为方便应用层理解和对接,在分布式账本服务适配层抽象出应用组件。

1. 底层架构
1.P2P 组网 :对等协议(Peer-to-Peer)实现基础组网和通信,每个节点维护一张邻居列表,实现动态自组织网络;并可与现有的安全防护设施配合使用,确保商用网络的安全性。
2.分布式账本 :解决数据格式、数据记录、数据存储问题,通俗的说就是“记什么账和如何记账”。因此分布式账本设计的好坏决定了区块链底层对外提供服务的能力。
3.共识服务: 是区块链的核心,也是区块链与传统分布式系统的最大区别之处。它保障底层数据的强一致性的同时,能抵抗“恶意”坏人的影响。布比的共识服务提供一组抽象的共识接口,用于连接共识算法和其它 BubiChain 模块。
它负责接受和处理 Transaction,并给出共识结果。共识服务采用开放式框架,可支撑不同种类的共识算法,目前布比已经开发 Bubi-BFT 商用共识算法,同时支持 PBFT 等共识算法,可以根据上层应用对性能、安全性、容错能力等需求选择不同的算法。
2. 应用组件
为方便应用层理解和对接,在分布式账本适配层抽象出:资产(Asset)、记录(Record)、事务(Transaction)、合约(Contract)等各类组件。
 1.资产( Asset ) :支持目前已经数字化的资产,以及未来可以通过资产证券化、资产数字化的资产。
2.记录( Record ) :需要利用区块链增加信息记录的真实性和信任的场景,例如:金融领域的凭证、供应链的溯源信息等。
3.事务( Transaction ) :与区块链底层交互的原子级操作,一个上层应用可以对应一个事务,也可以由一组事务共同完成。
4.合约( Contract ) :提供两种合约——标准化合约、可编程合约。标准化合约,它主要针对场景相对简单、标准化程度较高,同时对执行效率有很高要求的业务需求。例如资产交换时的交易一致性保障、资产交易的挂单与撮合等。标准化合约可以通过配置生成直接挂在链上,无需编程,也不用通过虚拟执行,降低上层应用使用的成本,提升合约执行的效率。为了应对用户复杂的业务逻辑,布比也支持用户自编程,并且提供丰富的组件供用户针对特定的需求快速构建应用,如加密组件、权限管理组件等。同时布比对于通用的场景如资产、存证提供相应的模板,用户不需要从头编写代码,只需要更改模板的关键参数,加上自己业务的特性就可以建立成熟的合约应用。