揭秘Fabric交易流程:一文带你深入了解

 随着区块链技术的日益普及,Hyperledger Fabric作为一种联盟链解决方案,受到了广泛关注。那么,Fabric的交易流程究竟是怎样的呢?本文将为您一一揭晓。

1. Fabric交易的参与方

  • 客户端:交易流程的发起方,发起交易提案。

  • 背书节点:负责对客户端发起的提案进行验证,确认提案无误后对提案进行签名背书。

  • 排序节点:对背书通过后的交易提案按时间顺序进行排序,排序后将交易提案打包发送给各组织节点。

  • 组织节点:对打包后的区块进行验证,校验无误后打包上链。

2. Fabric交易流程概览

        Fabric的交易流程主要包括以下几个步骤:提案(Proposal)、背书(Endorsement)、提交交易(Submit Transaction)、验证和提交(Validation & Committing)。

2.1. 客户端发起提案

      客户端创建交易请求,通过SDK发起向背书节点(endorse peer)发出交易提案,提案并行发送,有多少个背书节点就发送多少次提案。

图片

2.2. 背书节点对提案背书

        背书节点对客户端发送的提案进行验证。验证规则包括:

  • 交易提案的格式完整

  • 验证该交易提案之前没有被提交过(重放攻击保护)

  • 验证签名是有效的(使用 MSP)

  • 验证发起者

        验证通过后,背书节点会模拟执行提案中的交易,生成交易响应值、读集和写集,然后将这些结果进行签名,将签名和响应值一起作为提案响应返回给客户端SDK,SDK解析响应。

读集和写集:读集和写集都是键值对数组形式,读集中包括本次交易要读取的资产的key和其对应的版本,写集中包括本次交易要插入、更新、删除的资产的key和其对应的value。

图片

2.3. 将提案发送给排序服务

        客户端SDK检查背书响应签名是否正确,校验通过后,如果提案只进行查询操作则提案不会发送给排序服务。如果提案中包括了更新操作,则客户端SDK会校验背书响应是否满足了背书策略(策略包括大部分背书节点都通过、全部背书节点都通过等)。

        如果满足了背书策略则SDK会将背书后的交易提案发送给排序节点,排序节点会将交易提案按时间顺序排列,打包成交易(交易会包含读写集,背书节点的签名和通道 ID)发送给各组织的peer节点。

图片

2.4. 交易上链

       组织peer节点会对交易进行验证,校验交易是否满足了背书策略。交易中背书策略满足,交易中的读集中的变量在交易过程中没有发生变化,则认为本次交易是有效的,否则认为本次交易无效。

图片

2.5. 账本更新

      每个 Peer 节点都将区块追加到通道的链上,对于每个有效的交易,写集都提交到当前状态数据库。区块链系统会发出一个事件,通知客户端应用程序本次交易(调用)已被不可更改地附加到链上,同时还会通知交易验证结果是有效还是无效。

图片

3. 交易泳道图

图片

       这一流程确保了交易的有序性、安全性和可信度,是Fabric作为联盟链解决方案的核心机制。掌握这些知识,将有助于您更好地理解和应用Fabric技术。

Fabric是基于区块链技术的分布式账本平台,它提供了一个可编程的、安全的、模块化的架构,可以帮助企业构建和管理自己的区块链网络。在这里,我将简要介绍Fabric的运行过程。 1. 网络拓扑 Fabric网络由多个节点组成,每个节点可以是Peer节点、Orderer节点或CA节点,这些节点组成了一个分布式网络拓扑。Peer节点是网络中执行交易和维护账本状态的节点,Orderer节点是网络中负责排序交易的节点,CA节点是网络中负责管理身份认证的节点。 2. 安装部署 在部署Fabric网络之前,需要先安装Fabric的运行环境和依赖组件。然后,按照网络拓扑图的要求,在不同的节点上安装和配置相应的组件,例如Peer节点需要安装Peer组件、Chaincode组件和CouchDB组件,Orderer节点需要安装Orderer组件和Kafka组件等等。 3. 身份认证 在Fabric网络中,每个参与者都有一个身份标识,它可以是一个证书或者一个密钥对。在进行交易时,参与者需要通过身份认证才能进行操作。CA节点负责管理证书和密钥对,为参与者颁发数字身份。 4. 链码部署 链码是在Fabric网络中执行的智能合约,它定义了交易的规则和行为。在部署链码之前,需要先编写链码代码,并将其打包成一个tar包。然后,通过Peer节点的CLI工具将链码部署到网络中。 5. 交易执行 在Fabric网络中,交易的执行是通过链码来实现的。当一个参与者想要执行一个交易时,它需要向相应的Peer节点发送交易请求。Peer节点将交易请求发送到Orderer节点,然后Orderer节点将交易排序后返回给Peer节点。最后,Peer节点执行交易并将结果存储到账本中。 6. 账本查询 在Fabric网络中,账本是一个持久化存储交易记录的数据库。参与者可以通过Peer节点的CLI工具查询账本中的交易记录和状态信息。 7. 历史记录查询 在Fabric网络中,每个交易都有一个唯一的交易ID,参与者可以通过Peer节点的CLI工具查询交易的详细信息,包括交易执行的时间、交易的输入输出等等。此外,参与者还可以查询账本中某个key的历史记录,包括该key的所有版本和对应的交易ID。 这些是Fabric的运行过程中的主要步骤,每个步骤都需要仔细地配置和调试,才能保证网络的正常运行。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码小飞飞飞飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值