Hyperledger Fabric 与其他区块链技术一样, 它有一个账本, 使用智能合约, 是一个参与者管理交易的系统.
与其他块链系统不同的是 私有 和 许可 . 与允许未知身份参与网络的开放式非许可系统 (需要诸如 工作量证明之类的协议来验证交易并保护网络) 不同, Hyperledger Fabric 网络的成员需要从可信赖的 成员服务提供者 (MSP) 注册.
1. 关键概念
- 智能合约 Smart Contracts
智能合约用 链码 编写, 当该应用程序需要与账本交互时, 由区块链外部的应用程序调用. 在大多数情况下, 链码只与账本的数据库, 世界状态 (例如, 查询) 交互, 而不与交易日志交互.
- 共识 Consensus
共识 确保账本仅在交易被相应参与者批准时更新, 并且当账本更新时, 它们以相同的顺序更新相同的交易
- 成员服务提供者 MSP
身份管理
- 链码
链码是定义单项或多项资产的软件, 和能修改资产的交易指令; 换句话说, 它是业务逻辑. 链码强制执行读取或更改键值对或其他状态数据库信息的规则. 链码函数针对账本的当前状态数据库执行, 并通过交易提案启动. 链码执行会写入一组键值 (写集) , 会被提交给网络并应用于所有节点的账本.
- 通道
Hyperledger Fabric 使竞争商业利益以及任何需要私人, 机密交易的群体能够在同一个许可网络上共存. 私有 通道 是受限制的消息传递路径, 可用于为网络成员的特定子集提供交易隐私和机密性. 通道上的所有数据 (包括交易, 成员和通道信息) 都是不可见的, 并且对于未明确授予对该通道的访问权限的任何网络成员都是不可访问的.
每个通道对应一个账本. 每个peer节点为其所属的每个通道维护一份账本副本.
- 共享账本
Hyperledger Fabric 有一个账本子系统, 包括两个组件: 世界状态 和 交易日志 . 每个参与者都拥有他们所属的每个 Hyperledger Fabric 网络的账本副本.
世界状态组件描述了在给定时间点的账本的状态. 它是账本的数据库. 交易日志组件记录产生世界状态中当前值的所有交易; 这是世界状态的更新历史. 然后, 账本包括世界状态数据库和交易日志历史记录.
账本世界状态的数据存储是可替换的. 默认情况下, 这是 LevelDB 键值存储数据库. 交易日志不需要是可插拔的. 它只记录区块链网络使用的账本数据库前后的值.
- 背书策略
2. Resource
https://hyperledger-fabric.readthedocs.io/zh_CN/latest/
https://hyperledger-fabric.readthedocs.io/en/latest/
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/