Hyperledger FabricFISCO BCOS
设计继承IBM分布式体系设计继承以太坊公链技术
框架适用于不同领域的通用框架通用框架、更适用于金融领域
隔离方式通道隔离群组隔离
隔离设计支持多通道,单通道私有数据隔离支持多群组,群组内数据隔离
智能合约环境Docker环境EVM环境
智能合约语音Go、Java、NodejsSolidity智能合约语言
智能合约通用性由于合约才有通用语音,合约执行存在不确定性,执行环境有存在差异的可能,所以不能保证合约计算的一致性和确定性语音环境统一,通用性满足
智能合约可验证、可审计部署合约分布由背书节点独自部署和运行,不在链上进行部署和共识,联系共识,存在节点误部署和修改代码的风险,无法通过区块链保证合约的不篡改,对验证和审计不够友好链上部署、调用合约,合约代码保存在链上,可以对合约进行验证、审计
智能合约可追溯通过交易追踪合约的激活和调用,但是合约代码变更不可追踪通过交易追踪合约的部署、调用、更新
智能合约语音友好度支持传统语音,易上手多数场景实用solidity语言,已成熟,易上手
智能合约工具链传统语音,工具链完善基于solidity的工具链进行深度定制,工具链完善
智能合约部署由背书节点通过Rocker分别部署,部署成本高通过交易,方便部署,链上部署
智能合约调用合约调用必须在同一个chaincode合约之间可以方便调用
智能合约升级背书节点分别去升级通过部署新合约的方式进行升级
复杂合约背书节点分别执行合约,并不对合约时间和复杂度进行限制通过设置区块交易上限使区块链可以处理复杂度非常搞定合约
并行计算不支持并行计算,交易依次执行。同一个区块不允许有冲突交易,否则后续交易失败支持并行计算,但是需要在交易中预先设计冲突状态,场景有限且
使用难度比较高
指令扩展传统语音,指令丰富,不需要扩展通过预编译合约进行指令扩展
中心化共识暂时不支持去中心化共识支持去中心化共识
节点支持支持少数节点理论上节点不受限制
节点类型背书节点、排序节点、提交节点三者共同参与共识共识节点、只读节点、游离节点
节点扩展性背书节点增删方便,排序节点增删方便,背书策略易修改,排序策略易修改方便节点的删减
节点模块化执行、排序、验证分离,节点功能可以根据情况组合共识/执行耦合,不易替换和定制化
TPS340020000
支持跨链方案支持同构跨链方案支持同构、异构跨链
权限管控基于策略的权限控制基于角色的权限控制,控制账号对表的操作
支持的执行共识通过不同的角色实现共识,排序采用raft共识pbft/raft/rpbft
执行共识不同的背书策略安全性不同,既可以是安全性较高的背书节点和全部通过,
也可以是单一背书节点通过的策略
BFT类共识只要保证2/3+1个节点诚实,
既可正常出块,保证1/3个共识节点诚实既可保证结果正确
共识节点通过配置文件进行管理排序节点管理,节点管理员通过发送交易激活新的配置文件,通过CA来认证通过系统合约进行管理,节点管理员通过发送交易进行共识节点的增删
普通节点通过配置文件来管理背书节点和提交节点,Channel管理员通过发送交易来激活新的配置文件,通过CA来认证。通过白名单和黑名单管理链接,通过CA来判断节点是否为普通节点
交易排序上链排序可以采用Raft或者solo共识,leader节点具有有较大权限可以拒绝交易BFT类算法只要保证2/3+1个节点诚实既可保证交易会上链
交易状态一致性排序和验证都不进行最终状态的共识,有提交节点来验证交易,并分布更新各自状态。只有等待下一个相关交易读取状态或者客户端主动查询,由客户端判断是否一致BFT类共识只要保证2/3+1个节点诚实,
既可正常出块,保证1/3个共识节点诚实既可保证结果正确
区块存储方式文件方式保存区块MPT保存区块
存储数据库Leveldb、CouchDB保存状态MySQL、RocksDB保存状态
KV状态存储支持KV数据,不保留历史不可追溯。支持CouchDB,不保留历史不可追溯,支持条件查询支持两种模式:KV数据库,保留历史可追溯;
SQL数据库,不保留历史数据不可追溯,支持条件查询。
国密支持中国工作组计划支持,存在第三方技术支持支持
开源协议Apache-2.0GPL3.0
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐