Hyperledger_Fabric关键技术
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fabric是Hyperledger的一个基于社区的项目
✓ 是一个区块链应用支持框架; ✓ 旨在作为开发模块化体系结构的区块链应用程序的基础,以便诸如共识和会员服务等组件可以即插即用;账本数据可
以以多种格式存储,一致的机制可以被转换和输出,并且支持不同的MSPs; ✓ 它使用容器技术来托管构成系统应用逻辑的智能合约(也称为链代码)。使用容器技术来促成“智能合约”,智能合
— Leader:主节点连接到排序服务,负责把接受到的批量区块转发给其他节点。因此主节点与排序服务的稳定连接至关重 要。可以强制设置为主节点,也可以动态选举产生
— Endorser:背书节点为动态的角色与具体的chaincode绑定,背书节点的故障对网络的影响取决于chaincode对应的 背书策略,例如背书策略指定只要3个组织其中的2个组织的成员完成背书,该交易就是有效的,那么只有一个组织的成 员节点出现故障对交易完成没有影响
作为一个联合项目,超级账本由面向不同目的和场景 的子项目构成。
目前主要包括8大顶级项目,所有项目都遵守Apache v2许可 ✓ Fabric ✓ Sawtooth ✓ Iroha ✓ Blockchain Explorer ✓ Cello ✓ Indy ✓ Composer ✓ Burrow
Hyperledger Fabric
— Anchor:锚节点是在一个channel上可以被所有其他peer发现的peer,channel上的每个成员都有一个anchor Peer(或多个anchor peer 来防止单点故障),允许属于不同成员的peer发现channel上的所有现有peer
2020/12/31
超级账本包括三大组件: ✓ 区块链(Blockchain) ✓ 链码(Chaincode) ✓ 成员权限管理(Membership)
区块链提供一个分布式账本平台。 ✓ 一般地,多个交易被打包进区块中,多个区块构 成一条区块链。 ✓ 区块链代表的是账本状态机发生变更的历史过程。
链码包含所有的处理逻辑 ✓ 对外提供接口,外部通过调用链码接口来改变世 界观。 ✓ 世界观是一个键值数据库,用于存放链码执行过 程中涉及到的状态变量。
成员权限管理基于PKI ,平台可以对接入的节点和客户 端的能力进行限制。 2020/12/31
2020/12由/31应用程序动态指定。
Hyperledger
定义和术语
✓ Peers:参 与交易 的主体 ,可以 说是代 表每个参 与到链 上的成 员 ,维护 账本的 网络节点 ,所有 的 peer 节点都 是 committer(记账节点)。通常在Hyperledger Fabric架构中存在各种角色,如endorser和committer(维护完整的 账 本 数 据 ) ; 所 有 的 peer 节 点 都 是 committer ( 记 账 节 点 ) , 而 又 有 可 能 担 任 的 角 色 有 endorser ( 背 书 节 点 ) 、 Leader(主节点)、Anchor(锚节点)
Fabric链数据,这是用文件系统存储在Committer节点上的。区块链中存储了Transaction的读写集; 每个参与者都有一份账本的副本到他们所属的每一个Fabric的网络上; 包括两个组成部分:世界状态(world state)、事务日志(transaction log)
约在“链代码”中实现; ✓ 如同其它区块链技术一样,它有一个账本,使用智能合约,并且是一个由参与者管理他们的交易的系统; ✓ Fabric是私有的,而且是被许可的。组织的成员可以通过一个MSP来注册; ✓ Fabric提供创建通道(channel)的能力,允许一组参与者创建一个单独的共同维护的交易账本。
2020/12/31
Hyperledger
定义和术语 ✓ Client: 代表由最终用户操作的实体,它必须连接到某一个peer节点或者orderer节点上与区块链网络通信; 客户端向endorser提交交易提案,当收集到足够背书后,向排序服务广播交易,进行排序,生成区块; ✓ CA节点:证书颁发机构,负责对加入链内的所有节点进行授权认证,由服务器(fabric-ca-service)和客户 端组件(fabric-ca-client)组成。CA节点接收客户端的注册申请,返回注册密码用于用户登入,以便获取身 份证书,在区块链网络上所有的操作都会验证用户的身份; ✓ Orderers:提供共识服务的网络节点,负责接收包含背书签名的交易,对未打包的交易进行排序生成区块, 广播给peer节点。例如,使用Kafka或PBFT; ✓ 通道: Order 服务提供Peer节点供订阅的主题(如发布-订阅消息队列),每个主题是一个通道。peer可以 订阅多个通道,并且只能访问订阅通道上的交易; ✓ 账本:账本保存Orders提交经节点确认的交易记录; ✓ 成员:访问和使用账本的网络节点; ✓ 链:基本上,一个链由1个通道+ 1个账本+ N个成员组成。非链的成员无法访问该链上的交易。链的成员可以
— Committer:记账节点使用基于Gossip的p2p数据分发,节点会定期跟其他节点交换信息。如果在这个过程中有节点 发生故障,则会从存活的节点中删除这个节点的信息。对于故障节点,还会定时检查是否已经恢复,恢复存活的节点会 更新到存活节点列表中。如果有新加入的节点,也能通过节点信息的交换获取到,添加到存活列表中,广播给其他节点
Hyperledger_Fabric关键技术
2020/12/31
目录
Hyperledger简介 架构设计 共享账本 共识算法 CA
通道 智能合约 成员管理 交易过程 主要特点
2020/12/31
2020/12/31
Hyperledger
Hyperledger 项目是 Linux Foundation 托管的一 个开源、协作式项目,为企业构建开源、通用区块链 结构。
✓ 是一个区块链应用支持框架; ✓ 旨在作为开发模块化体系结构的区块链应用程序的基础,以便诸如共识和会员服务等组件可以即插即用;账本数据可
以以多种格式存储,一致的机制可以被转换和输出,并且支持不同的MSPs; ✓ 它使用容器技术来托管构成系统应用逻辑的智能合约(也称为链代码)。使用容器技术来促成“智能合约”,智能合
— Leader:主节点连接到排序服务,负责把接受到的批量区块转发给其他节点。因此主节点与排序服务的稳定连接至关重 要。可以强制设置为主节点,也可以动态选举产生
— Endorser:背书节点为动态的角色与具体的chaincode绑定,背书节点的故障对网络的影响取决于chaincode对应的 背书策略,例如背书策略指定只要3个组织其中的2个组织的成员完成背书,该交易就是有效的,那么只有一个组织的成 员节点出现故障对交易完成没有影响
作为一个联合项目,超级账本由面向不同目的和场景 的子项目构成。
目前主要包括8大顶级项目,所有项目都遵守Apache v2许可 ✓ Fabric ✓ Sawtooth ✓ Iroha ✓ Blockchain Explorer ✓ Cello ✓ Indy ✓ Composer ✓ Burrow
Hyperledger Fabric
— Anchor:锚节点是在一个channel上可以被所有其他peer发现的peer,channel上的每个成员都有一个anchor Peer(或多个anchor peer 来防止单点故障),允许属于不同成员的peer发现channel上的所有现有peer
2020/12/31
超级账本包括三大组件: ✓ 区块链(Blockchain) ✓ 链码(Chaincode) ✓ 成员权限管理(Membership)
区块链提供一个分布式账本平台。 ✓ 一般地,多个交易被打包进区块中,多个区块构 成一条区块链。 ✓ 区块链代表的是账本状态机发生变更的历史过程。
链码包含所有的处理逻辑 ✓ 对外提供接口,外部通过调用链码接口来改变世 界观。 ✓ 世界观是一个键值数据库,用于存放链码执行过 程中涉及到的状态变量。
成员权限管理基于PKI ,平台可以对接入的节点和客户 端的能力进行限制。 2020/12/31
2020/12由/31应用程序动态指定。
Hyperledger
定义和术语
✓ Peers:参 与交易 的主体 ,可以 说是代 表每个参 与到链 上的成 员 ,维护 账本的 网络节点 ,所有 的 peer 节点都 是 committer(记账节点)。通常在Hyperledger Fabric架构中存在各种角色,如endorser和committer(维护完整的 账 本 数 据 ) ; 所 有 的 peer 节 点 都 是 committer ( 记 账 节 点 ) , 而 又 有 可 能 担 任 的 角 色 有 endorser ( 背 书 节 点 ) 、 Leader(主节点)、Anchor(锚节点)
Fabric链数据,这是用文件系统存储在Committer节点上的。区块链中存储了Transaction的读写集; 每个参与者都有一份账本的副本到他们所属的每一个Fabric的网络上; 包括两个组成部分:世界状态(world state)、事务日志(transaction log)
约在“链代码”中实现; ✓ 如同其它区块链技术一样,它有一个账本,使用智能合约,并且是一个由参与者管理他们的交易的系统; ✓ Fabric是私有的,而且是被许可的。组织的成员可以通过一个MSP来注册; ✓ Fabric提供创建通道(channel)的能力,允许一组参与者创建一个单独的共同维护的交易账本。
2020/12/31
Hyperledger
定义和术语 ✓ Client: 代表由最终用户操作的实体,它必须连接到某一个peer节点或者orderer节点上与区块链网络通信; 客户端向endorser提交交易提案,当收集到足够背书后,向排序服务广播交易,进行排序,生成区块; ✓ CA节点:证书颁发机构,负责对加入链内的所有节点进行授权认证,由服务器(fabric-ca-service)和客户 端组件(fabric-ca-client)组成。CA节点接收客户端的注册申请,返回注册密码用于用户登入,以便获取身 份证书,在区块链网络上所有的操作都会验证用户的身份; ✓ Orderers:提供共识服务的网络节点,负责接收包含背书签名的交易,对未打包的交易进行排序生成区块, 广播给peer节点。例如,使用Kafka或PBFT; ✓ 通道: Order 服务提供Peer节点供订阅的主题(如发布-订阅消息队列),每个主题是一个通道。peer可以 订阅多个通道,并且只能访问订阅通道上的交易; ✓ 账本:账本保存Orders提交经节点确认的交易记录; ✓ 成员:访问和使用账本的网络节点; ✓ 链:基本上,一个链由1个通道+ 1个账本+ N个成员组成。非链的成员无法访问该链上的交易。链的成员可以
— Committer:记账节点使用基于Gossip的p2p数据分发,节点会定期跟其他节点交换信息。如果在这个过程中有节点 发生故障,则会从存活的节点中删除这个节点的信息。对于故障节点,还会定时检查是否已经恢复,恢复存活的节点会 更新到存活节点列表中。如果有新加入的节点,也能通过节点信息的交换获取到,添加到存活列表中,广播给其他节点
Hyperledger_Fabric关键技术
2020/12/31
目录
Hyperledger简介 架构设计 共享账本 共识算法 CA
通道 智能合约 成员管理 交易过程 主要特点
2020/12/31
2020/12/31
Hyperledger
Hyperledger 项目是 Linux Foundation 托管的一 个开源、协作式项目,为企业构建开源、通用区块链 结构。