文章阅读页通栏

布比区块链在商业应用落地中的实践(上)—账户中心和分布式账本服务

来源: 布比区块链 作者:布比区块链
昨天的文章我们分享了《与千余家企业交流后,布比总结出区块链在商业应用落地中的5个关键问题》: · 如何实现快速的应用对接 · 能否支撑海量用户......
昨天的文章我们分享了《与千余家企业交流后,布比总结出区块链在商业应用落地中的5个关键问题》:

· 如何实现快速的应用对接
· 能否支撑海量用户使用
· 怎样保障私钥的存取安全
· 区块链对上层应用是个黑盒
· 能否满足隐私保护和权限控制

这些问题涉及性能、扩展性、安全和运维的诸多方面,今天继续分享布比在这些方面的对策。

为了解决区块链技术在应用落地过程中可能面临的各种阻碍,布比区块链平台采用两层结构:(1)底层 BubiChain 提供区块链基础服务;(2)上层 Bubi Application Adaptors 对内进行封装,对外进行建模适配,提供一系列符合应用场 景的接口,降低应用对接的复杂度,如下图所示。 

布比产品体系架构分为四个组成部分:账户中心、分布式账本服务、区块链扩展服务、策略与管理。其中,多数部分从零开始实现,有些部分采用某些标准 的开源组件,还有一些部分是在成熟框架上进行优化和改进。

账户中心(Account):公私钥生成,公钥写入,私钥签名与管理;应用层用 户信息与区块链地址的映射;支持实名认证及审计的监管需求。 
 
分布式账本服务(Distributed Ledger Services):基于 P2P 协议的底层组网, 各节点通过 P2P 协议进行消息分发;提供账本结构的定义和账本数据的存储; 可插拔的共识模块,负责确保底层数据强一致性的同时抵抗来自“恶意”节 点的攻击。针对应用的建模适配,包括对资产、记录、事务、合约等多种对 象的建模和实现。 
 
区块链扩展服务(Extended Services):在基础服务之上,提供了更高级的 服务:解决可扩展性问题的多链分片技术、解决价值孤岛问题的跨链技术、 解决数据安全的隐私保护技术。 策略与管理(Management):提供完备的访问策略控制的解决方案。多种可 视化管理工具,底层区块链的健康监控、系统参数配置、数据分析、区块链 浏览器等。
 
1. 账户中心

在区块链技术自有的公私钥体系下,账户中心负责:公私钥生成,公钥写入,私钥签名与管理;保存应用层用户信息与区块链地址映射关系;支持实名认证及审计的监管需求。为应用适配层提供两类接口:非托管型接口和托管型接口。
 
非托管型接口:适合有能力在应用端实现安全级别较高的私钥生成和使用的 企业机构。例如,在金融领域,将私钥的生成与管理跟现有的 U 盾、电子签名 等安全的客户端体系相结合。
 
托管型接口:适用于互联网化程度较高的应用场景。公私钥直接作为用户名 和密码使用对普通用户来说识记成本高体验差,大多数用户习惯用手机号、邮箱、 昵称等作为用户名。因此,在托管型接口里,通过安全的私钥生成与管理的体系, 应用层用户信息与区块链地址映射,使上层应用和底层区块链平台都无法触碰到 用户的私钥。

托管型接口使用账户中心架构,由鉴权服务(Auth Server)、私钥保险箱(Data Locker)、区块链账户树(Address)三部分构成,如上图所示。
 
鉴权服务 
鉴权服务主要解决第三方应用与账户中心的安全问题。通过在交互过程中加 入随机数和盲签名技术,增强密钥安全,降低暴力破解的可能性;同时利用白盒 加密技术强化客户端的访问安全。

私钥保险箱 
私钥的写入和读取在保险箱体系里以密文的方式传输和存储。用户与密钥一 一对应。密钥在客户端侧生成且客户端不用保存,每次需要使用私钥签名时,客 户端能够通过盲签名流程得到加密过的私钥以及解密的密钥。

区块链账户树 
布比区块链上存储完整的账户树,每个叶子节点记录一个账户的资产信息和 身份信息(可选);每个账户可以支撑多维资产的使用。支持多种加解密算法, 依据不同场景选择使用。
 
2. 分布式账本服务 

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

底层架构

· P2P 组网:对等协议(Peer-to-Peer)实现基础组网和通信,每个节点维护 一张邻居列表,实现动态自组织网络;并可与现有的安全防护设施配合使用, 确保商用网络的安全性。 

· 分布式账本:解决数据格式、数据记录、数据存储问题,通俗的说就是“记 什么账和如何记账”。因此分布式账本设计的好坏决定了区块链底层对外提供服务的能力。

· 共识服务:是区块链的核心,也是区块链与传统分布式系统的最大区别之处。 它保障底层数据的强一致性的同时,能抵抗“恶意”坏人的影响。布比的共 识服务提供一组抽象的共识接口,用于连接共识算法和其它 BubiChain 模块。 它负责接受和处理 Transaction,并给出共识结果。共识服务采用开放式框架, 可支撑不同种类的共识算法,目前布比已经开发 Bubi-BFT 商用共识算法, 同时支持 PBFT 等共识算法,可以根据上层应用对性能、安全性、容错能力 等需求选择不同的算法。

应用组件

为方便应用层理解和对接,在分布式账本适配层抽象出:资产(Asset)、记 录(Record)、事务(Transaction)、合约(Contract)等各类组件。

· 资产(Asset):支持目前已经数字化的资产,以及未来可以通过资产证券化、 资产数字化的资产。

· 记录(Record):需要利用区块链增加信息记录的真实性和信任的场景,例 如:金融领域的凭证、供应链的溯源信息等。

· 事务(Transaction):与区块链底层交互的原子级操作,一个上层应用可以 对应一个事务,也可以由一组事务共同完成。

· 合约(Contract):提供两种合约——标准化合约、可编程合约。标准化合 约,它主要针对场景相对简单、标准化程度较高,同时对执行效率有很高要 求的业务需求。例如资产交换时的交易一致性保障、资产交易的挂单与撮合 等。标准化合约可以通过配置生成直接挂在链上,无需编程,也不用通过虚 拟执行,降低上层应用使用的成本,提升合约执行的效率。为了应对用户复 杂的业务逻辑,布比也支持用户自编程,并且提供丰富的组件供用户针对特 定的需求快速构建应用,如加密组件、权限管理组件等。同时,布比对于通用 的场景如资产、存证提供相应的模板,用户不需要从头编写代码,只需要更改模板的关键参数,加上自己业务的特性就可以建立成熟的合约应用。 

关键词: 布比区块链  分布式账本服务  
0/300