Fabric 1.4和BCOS 2.0对比

实现方式

Fabric BCOS
Docker EVM沙箱机制

Fabric部署一个新的智能合约或者要做升级的时候,所有参与节点要人工安装部署一次;
BCOS发布新业务时,把合约放在链上即可以运行,不需要线下部署的操作。

架构分析

(一)节点分类

Fabric BCOS
1.Client 1.共识节点
2.Peer 2.观察节点
3.orderer 3.游离节点

Fabric节点:
Client:该客户端提交真实的交易请求(transaction-invocation)给背书者,广播交易提案(transaction-proposals)给ordering服务。
Peer:该节点提交交易,维护世界状态和账本。
orderer:该节点运行着通信服务,提供传递担保服务,如原子性,排序广播。
BCOS将节点分为共识节点和观察节点,共识节点参与共识算法,成为链上的记账者,观察节点不参与共识,只同步数据。游离节点是完成网络准入但没有加入群组的节点,不参与共识和同步。

(二)交易流程

Fabric

  1. 客户端创建一笔交易并且发送给它选择的背书节点。
  2. 背书节点模拟交易并产生背书签名。
  3. 提交客户端为交易收集背书并通过ordering服务广播该背书。
  4. 排序服务向对等节点传送一笔交易,节点进行账本更新。

BCOS

  1. 用户通过操作SDK或直接编写curl命令向所连接的节点发起交易。
  2. 节点收到交易后,若当前交易池未满则将交易附加至TxPool中并向自己所连的节点广播该交易;否则丢弃交易并输出告警。
  3. Sealer会不断从交易池中取出交易,并立即将收集到的交易打包为区块并发送至共识引擎。
  4. 共识引擎调用BlockVerifier对区块进行验证并在网络中进行共识,BlockVerifier调用Executor执行区块中的每笔交易。当区块验证无误且网络中节点达成一致后,共识引擎将区块发送至BlockChain。
  5. BlockChain收到区块,对区块信息(如块高等)进行检查,并将区块数据与表数据写入底层存储中,完成区块上链。

(三)灵活性

Fabric采用松耦合的设计,将共识机制、身份验证等组件模块化,在应用过程中可根据应用场景选择相应模块;同时,fabric可支持针对不同主体间交易的多通道结构,实现更为灵活的业务适应性(业务隔离、安全性等)。

BCOS共识算法模块采用插件化设计实现,通过修改系统配置,实现在多个联盟链里使用不同的共识机制,参与到同一个联盟链的所有节点必须采用同一种共识配置。

核心技术组件

核心技术组件是指区块链系统所依赖的基础组件、协议和算法,可进一步细分为通信、存储、安全机制、共识机制四个方面。

(一)通信

Fabric BCOS
gossip协议 JSON-RPC 2.0协议

gossip协议:gossip协议主要是一个P2P的网络传输协议,fabric主要通过此协议来进行区块的同步。
JSON-RPC:一种无状态、轻量级的远程过程调用协议。该规范主要定义了几个数据结构及其处理规则。它允许运行在基于socket,http等诸多不同消息传输环境的同一进程中。它使用JSON(RFC 4627)作为数据格式。

(二)存储

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值