Hyperledger Fabric 模型简介
模型:
- 资产
- 链码
- 账本
- 隐私
- 成员服务
- 共识
资产
有形(房地产和硬件)到无形资产(合同和知识产权)。
提供使用链码交易来修改资产的功能。
资产在 Hyperledger Fabric 中表示为键值对的集合,状态更改记录为 Channel 账本上的交易。资产可以用二进制或 JSON 格式表示。
链码
链码是定义单项或多项资产的软件,和能修改资产的交易指令;换句话说,它是业务逻辑。
强制执行读取或更改键值对或其他状态数据库信息的规则。
账本特点
特点:
基于键的查找、范围查询和组合键查询来查询和更新账本;
富查询语言进行只读查询;
查询一个键的账本历史记录(数据溯源);
交易包括链码读取键/值(读集)以及链码写入键/值(写集);
交易包含每个背书节点的签名,并被提交给排序服务;
交易按顺序打包到区块,并被排序服务“分发”到通道上的节点;
节点根据背书策略验证交易并执行策略;
附加一个区块之前,会执行一次版本检查,以确保被读取的资产的状态自链码执行以来未发生更改;
一旦交易被验证并提交,就具有不变性;
一个通道的账本包含一个配置区块,用于定义策略、访问控制列表和其他相关信息;
通道包含MSP的实例,允许从不同的证书颁发机构(CA)生成加密材料
隐私
当该通道上的组织子集需要对其交易数据保密时,私有数据集合用于将此数据隔离在私有数据库中,在逻辑上与通道账本分开,只有经授权的组织子集才能访问。
通道在更广泛的网络上保持交易的私密性,而集合则在通道上的组织子集之间保持数据的私密性。
进一步模糊数据:在将交易发送到排序服务并将区块附加到账本之前,可以使用诸如 AES 之类的通用加密算法对链码内的值进行加密(部分或全部)。
成员服务
所有参与者都拥有已知的身份。
公钥基础设施(PKI)用于生成与组织、网络组件以及终端用户或客户端应用程序相关联的加密证书。
共识
整个交易流程:从提案和背书到排序、验证和提交。
共识被定义为组成区块的一组交易的正确性的闭环验证。
背书策略:规定哪些特定成员必须背书某个交易类别。
系统链码:确保背书策略得到执行和维护。
提交之前,节点通过系统链码确保存在足够的背书,并且来自适当的实体。
共识并不仅仅局限于一批交易的商定顺序;相反,它的首要特征是交易从提案到提交的过程中不断进行核查而附带实现的。