Hyperledger Fabric模型
本节概述了编入Hyperledger Fabric的关键设计特性,实现了对全面但可定制的企业区块链解决方案的承诺:
- 资产 - 资产定义为可以通过网络交换几乎任何具有货币价值的东西,从整个食品到古董车到货币期货。
- 链码 - 链码执行与交易排序分开,限制了跨节点类型所需的信任和验证级别,并优化了网络可扩展性和性能
- 分类账特性 - 不可变的共享分类帐为每个通道编码整个交易历史记录,并包括类似SQL的查询功能,以便进行有效的审计和争议解决。
- 隐私 - 通道和私有数据集合使私有和机密的多边交易成为可能,这些交易通常是相互竞争的企业和受监管的行业在共同的网络上交换资产所需要的。
- 安全和成员资格服务 - 许可成员资格提供了可靠的区块链网络,参与者知道所有交易都可以由授权的监管机构和审计员进行检测和跟踪。
- 共识 - 一种独特的共识方法可实现企业所需的灵活性和可扩展性。
资产
资产范围从有形(房地产和硬件)到无形(合约和知识产权),Hyperledger Fabric提供使用链码交易修改资产的能力。
资产在Hyperledger Fabric中表示为键值对的集合,状态更改记录为通道分类帐上的交易,资产可以用二进制和/或JSON格式表示。
你可以使用Hyperledger Composer工具在Hyperledger Fabric应用程序中轻松定义和使用资产。
链码
链码是定义一个资产或很多资产的软件,以及修改资产的交易指令;换句话说,这是业务逻辑。链码是执行读取或更改键值对或其他状态数据库信息的强制规则,链码函数针对分类帐的当前状态数据库执行,并通过交易提案发起,链码执行导致一组键值写入(写入集),这些写入可以被提交给网络并应用于所有对等点上的分类帐。
分类账特性
在fabric,分类帐是所有状态转换的有序、防篡改的记录,状态转换是参与方提交的链码调用(“交易”)的结果,每个交易都会生成一组资产键值对,这些键值对作为创建,更新或删除提交到分类帐。
分类帐由区块链(“链”)组成,用于以块的形式存储不可变的顺序记录,以及用于维护当前fabric状态的状态数据库。每个通道有一个分类帐,每个对等点为其所属的每个通道维护一个分类帐的副本。
Fabric分类帐的一些功能:
- 查询和更新分类帐使用基于键的查找,范围查询和组合键查询
- 只读查询使用丰富查询语言(如果使用CouchDB作为状态数据库)
- 只读历史查询 — 查询键的分类帐历史记录,支持数据来源场景
- 交易包括以链码(读取集)读取的键/值的版本以及以链码(写入集)写入的键/值
- 交易包含每个认可对等点的签名,并提交给排序服务
- 交易从排序服务被排序到区块和“交付”到通道上的对等点
- 对等点根据认可策略验证交易并执行策略
- 在附加块之前,执行版本控制检查以确保自链码执行时间以来读取的资产的状态未发生更改
- 一旦交易被验证并提交,就存在不变性
- 通道的分类帐包含定义策略,访问控制列表和其他相关信息的配置区块
- 通道包含成员资格服务提供商实例,允许从不同的证书颁发机构派生加密材料
有关数据库,存储结构和“查询能力”的更深入了解,请参阅Ledger主题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。