Hyperledger Fabric是一种模块化的区块链架构,是分布式记账技术(DLT)的一种独特的实现,它提供了可供企业运用的网络,具备安全、可伸缩、加密和可执行等特性。Hyperledger Fabric提供了以下区块链网络功能:
身份管理
为了支持被许可的网络,Hyperledger Fabric提供了一个成员身份服务(membership identity service),它管理用户id并对网络上的所有参与者进行身份验证。访问控制列表可以通过特定网络操作的授权来提供额外的权限。例如,一个特定的用户ID可以被允许调用一个链代码应用程序,但是阻止了部署新的链代码。关于Hyperledger Fabric网络的一个真理是,成员相互了解(身份),但他们不知道彼此在做什么(隐私和机密性)。
隐私和机密性
Hyperledger Fabric使得竞争的商业利益和任何需要私人的、机密的交易的团体能够在同一个被许可的网络上共存。私有通道(channel)是受限制的消息传递路径,可用于为网络成员的特定子集提供事务隐私和机密性。所有的数据,包括事务、成员和通道信息,都是不可见的,任何网络成员都不能访问该通道。
高效处理能力
Hyperledger Fabric通过节点类型分配网络角色。执行事务的操作从事务排序和提交验证中分离出来,以便向网络提供并发性控制和并行性操作。在排序之前执行事务使每个对等节点能够同时处理多个事务。这种并发执行提高了每个对等点的处理效率,并加速了对排序服务的事务的交付。
除了启用并行处理之外,还可以从事务执行和分类维护的需求中提取节点,而对等节点则从排序(一致的)工作负载中解放出来。角色的这种分支也限制了授权和身份验证所需的处理;所有的对等节点不需要信任所有的排序节点,反之亦然,因此,在一个节点上的进程可以独立于另一个节点进行验证。
Chaincode功能
Chaincode应用程序对通道(channel)中特定类型的事务调用的逻辑进行编码。例如,为资产所有权变更定义参数的Chaincode,确保所有转移所有权的交易都服从相同的规则和要求。系统Chaincode是一个特殊的Chaincode,它定义了整个通道(channel)的操作参数。生命周期和配置系统Chaincode定义了通道(channel)的规则;认可和验证系统Chaincode定义了支持和验证事务的需求。
模块化设计
Hyperledger Fabric实现了一个模块化的架构,为网络设计师提供功能选择。例如,特定的识别、排序(一致)和加密的算法可以被插入到任何一个Hyperledger Fabric的网络中。其结果是一个通用的区块链架构,任何行业或公共领域都可以采用,并保证其网络将在市场、监管和地理界线之间进行互操作。