首先,我们需要知道,对于企业应用,开发者们需要了解以下几个要求,这也是我们所要学习的Hyperledger Fabric的特点:
该平台最重要的区别之一是它支持可插拔的共识协议,使得平台能够更有效地进行定制,以适应特定的业务场景和信任模型。例如,当部署在单个企业内或由可信任的权威机构管理时,完全拜占庭容错的共识可能是不必要的,并且大大降低了性能和吞吐量。在这种的情况下,崩溃容错(Crash Fault-Tolerant,CFT)共识协议可能就够了,而在去中心化的场景中,可能需要更传统的拜占庭容错(Byzantine Fault Tolerant,BFT)共识协议。
A. 模块化
总体来看,Fabric由以下模块化的组件组成:
B. 智能合约与执行
智能合约在应用于平台的时候,一般满足以下三个特点:
为了保证众多智能合约在执行的时候不出错,有些区块链平台(比如以太坊),设置了顺序执行架构,以达到共识的目的:
在Fabric中,引入了一种新的架构:执行-排序-验证,它将流程分为了三个步骤:
可以看到,Fabric是先执行再排序。比如在第一阶段,有背书策略指定的几个节点并行执行智能合约,这样就能检查交易会不会出错,消除了非确定性,从而实现背书。
C. 隐私和保密性
非许可链中的数据和交易对于网络中的每一个节点可见的,所以不保密。Fabric通过通道机制,让数据和交易在通道外不可见,通道内可见。个人认为这是一种局部的隐私保密。
D. 可插拔共识
即排序服务。Fabric目前提供了一种基于etcd 库 中 Raft 协议 的 CFT 排序服务的实现
原文:https://www.cnblogs.com/starqjh/p/14585445.html