Fabric
IBM提供的Hyperledger Fabric也是采用联盟类型区块链的一种,并通过“PBFT”实现了快速交易验证; 一个共识算法,其中交易通过大多数可信节点的同意进行验证。
Hyperledger Fabric架构使用具有保证的发布-订阅模式消息传递通道(如Kafka中的主题分区)将共识服务与交易日志(账本)分离。共识服务由称为Orderers的网络节点提供,并且账本由Peer节点管理。
每个Peer节点连接到共识服务的一个或多个通道,就像发布-订阅通信系统中的客户端一样。在通道上广播的交易按共识的顺序排列(例如PBFT、kafka),订阅通道的Peer节点接收到加密的区块。 每个peer节点验证区块并将其提交到账本,然后向应用程序提供其他使用账本的服务。
在共识服务上支持多通道消息传递,使得Peer节点可以基于应用访问控制策略来订阅任意数量的通道; 也就是说,应用程序指定Peer节点的子集中架设通道。 这些peer组成提交到该通道交易的相关者集合,而且只有这些peer可以接收包含相关交易的区块,与其他交易完全隔离。
此外,peers的子集将这些私有块提交到不同的账本上,允许它们保护这些私有交易,与其他peers子集的账本隔离开来。应用程序根据业务逻辑决定将交易发送到1个或多个通道。 这不是内置的限制,区块链网络不知道并假设不同通道上的交易之间没有关系。
Fabric的多通道机制并不适用于公有链系统。因为公有链的每个节点都可能是不可信的,且节点随时可能新增或减少,会出现各种各样的异常和攻击,且无法保证固定的peers子集。