其他帐号登录: 注册 登录

ITN杉之链组件模型

 二维码 523284
作者:ITN杉之链来源:微信公众号:杉之链官微网址:http://weibo.com/gszxbb

组件模型


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

1)共识网络

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

●交易扩散;

●交易排序;

●调用交易执行程序;

●对交易执行结果进行共识;

●提交共识结果。

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

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

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

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

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

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


2)账本

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

3)持久化存储

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

4)合约引擎

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

5)服务平台

功能模块分为区块链网关、区块链节点服务、区块链基础网络、配套工具四个部分。

●区块链网关

“区块链网关”被设计为一种轻量的网关系统,通常是部署在参与者的网络环境中,提供功能包括:

a)私钥管理:提供完全本地化的私钥保管功能;

b)隐私保护:采用端到端加密手段实现隐私保护;

c)协议转换:提供轻量化的HTTP Restful Service ,适配 TCP 协议的区块链节点API

●区块链节点服务

在区块链基础网络的基础上提供的面向应用的通用的功能组件,目的是提供通用功能的复用,包括:

a)面向应用的账户管理;

b)账户的认证授权;

c)面向对象的账本数据访问框架;

d)事件通知机制;

e)智能合约管理。

●区块链共识网络

由共识节点组成的网络,基于 P2P 网络和共识算法确保交易数据在节点之间保持一致。

●工具

配套的工具集合,包含 SDK、数据管理、安装部署工具、监控服务。

●部署架构

ITN CHAIN支持以下几种部署模式:

a、参与主体维护完整的共识节点,好处是参与者可持有数据,但需要付出运维成本;

b、参与主体仅维护网关节点,通过公共的共识节点接入区块链,好处是便于自行管理私钥,且维护成本低,但网关节点不持有数据;

c、参与主体通过公共的网关节点接入,适用于 2C 场景,用户可以基于公共的网关节点托管私钥;

d、监管方可以只部署“备份节点”,从其它节点同步数据作为备案;

e、监管方还可以部署共识和网关节点,对公众开放查询,作为“存证公示”。


文章分类: 币圈解析
分享到:
会员登录
登录
其他帐号登录:
我的资料
留言
回到顶部