雅安市网站建设_网站建设公司_定制开发_seo优化
2025/12/28 2:18:52 网站建设 项目流程

Fabric网络的核心架构和典型交易流程:

graph TB%% ========== 网络参与者 ==========subgraph "客户端/应用程序层"Client[客户端应用程序<br/>/ SDK]Admin[网络管理员<br/>/ CLI]endsubgraph "组织1 - Org1"CA1[证书权威机构<br/>CA1]subgraph "Peer节点集群"P1_Anchor[锚节点/背书节点<br/>peer0.org1.com]P1_Commit[提交节点<br/>peer1.org1.com]endLedger1[(账本<br/>世界状态 + 区块链)]Chaincode1[链码容器<br/>(智能合约)]P1_Anchor -->|运行| Chaincode1P1_Anchor -->|维护| Ledger1P1_Commit -->|同步| Ledger1CA1 -->|颁发身份| P1_AnchorCA1 -->|颁发身份| P1_Commitendsubgraph "组织2 - Org2"CA2[证书权威机构<br/>CA2]subgraph "Peer节点集群"P2_Anchor[锚节点/背书节点<br/>peer0.org2.com]P2_Commit[提交节点<br/>peer1.org2.com]endLedger2[(账本<br/>世界状态 + 区块链)]Chaincode2[链码容器<br/>(智能合约)]P2_Anchor -->|运行| Chaincode2P2_Anchor -->|维护| Ledger2P2_Commit -->|同步| Ledger2CA2 -->|颁发身份| P2_AnchorCA2 -->|颁发身份| P2_Commitendsubgraph "排序服务集群 (Raft共识)"Orderer1[排序节点1]Orderer2[排序节点2]Orderer3[排序节点3]Orderer1 <-->|Raft共识| Orderer2Orderer2 <-->|Raft共识| Orderer3Orderer3 <-->|Raft共识| Orderer1OS_Channel[系统通道<br/>管理网络配置]App_Channel[应用通道<br/>myChannel]end%% ========== 通道成员关系 ==========P1_Anchor -->|加入| App_ChannelP2_Anchor -->|加入| App_ChannelOrderer1 -->|服务| App_Channel%% ========== 典型交易流程 ==========subgraph "交易流程"style Client fill:#e1f5e1,stroke:#2e7d32,stroke-width:2pxstyle P1_Anchor fill:#e1f5e1,stroke:#2e7d32,stroke-width:2pxstyle P2_Anchor fill:#e1f5e1,stroke:#2e7d32,stroke-width:2pxstyle Orderer1 fill:#e1f5e1,stroke:#2e7d32,stroke-width:2pxend%% 步骤1: 提案Client -- "1. 交易提案<br/>(包含链码调用参数)" --> P1_AnchorClient -- "1. 交易提案" --> P2_Anchor%% 步骤2: 模拟执行与背书P1_Anchor -- "2. 模拟执行链码<br/>生成读写集" --> Chaincode1P2_Anchor -- "2. 模拟执行链码<br/>生成读写集" --> Chaincode2P1_Anchor -- "3. 返回签名背书" --> ClientP2_Anchor -- "3. 返回签名背书" --> Client%% 步骤3: 排序Client -- "4. 广播已背书交易<br/>到排序服务" --> Orderer1%% 步骤4: 区块分发Orderer1 -- "5. 排序并生成区块<br/>通过Gossip分发" --> P1_AnchorOrderer1 -- "5. 排序并生成区块<br/>通过Gossip分发" --> P2_Anchor%% 步骤5: 验证与提交P1_Anchor -- "6. 验证交易<br/>(检查背书策略)" --> Ledger1P2_Anchor -- "6. 验证交易<br/>(检查背书策略)" --> Ledger2%% 步骤6: 账本更新P1_Anchor -- "7. 更新世界状态<br/>追加区块到链" --> Ledger1P2_Anchor -- "7. 更新世界状态<br/>追加区块到链" --> Ledger2%% Gossip协议通信P1_Anchor -.->|Gossip协议<br/>区块同步| P1_CommitP2_Anchor -.->|Gossip协议<br/>区块同步| P2_CommitP1_Anchor -.->|Gossip协议<br/>跨组织发现| P2_Anchor%% 管理操作Admin -->|创建/更新通道| Orderer1Admin -->|安装/实例化链码| P1_AnchorAdmin -->|安装/实例化链码| P2_Anchor

Hyperledger Fabric 交易流程详解

阶段1:交易提案 (步骤1-3)

  1. 客户端构建提案:创建包含链码调用参数的交易提案
  2. 发送到背书节点:根据背书策略发送给指定组织的背书节点
  3. 模拟执行:背书节点执行链码(不更新账本),生成读写集
  4. 生成背书:节点签名并返回背书响应给客户端

阶段2:排序服务处理 (步骤4)

  1. 收集背书:客户端收集足够数量的有效背书
  2. 提交排序:将已背书交易提交到排序服务
  3. 全局排序:排序服务使用共识算法(如Raft)对交易排序
  4. 打包区块:将交易打包成区块

阶段3:验证与提交 (步骤5-7)

  1. 区块分发:排序服务将区块分发给通道内的所有Peer节点
  2. 交易验证:每个Peer独立验证交易(检查背书、版本冲突等)
  3. 账本更新:有效交易更新世界状态,区块追加到区块链
  4. 事件通知:通知客户端交易完成

关键架构特点

1. 模块化设计

  • 解耦执行与排序:提高性能和扩展性
  • 可插拔共识机制:支持Raft、Kafka等
  • 灵活的成员服务:每个组织独立CA

2. 通道隔离

  • 数据隔离:通道间账本完全隔离
  • 策略定制:每个通道独立的背书、访问控制策略
  • 灵活参与:组织可选择加入多个通道

3. 高可用性

  • 多节点冗余:Peer节点、排序节点均可集群部署
  • Gossip协议:高效的P2P数据分发
  • 故障容错:共识机制确保网络稳定性

4. 隐私保护

  • 私有数据集合:敏感数据可存储在私有数据库
  • 通道隔离:限制数据访问范围
  • 交易加密:端到端数据保护

这个架构使Fabric特别适合企业联盟链场景,能够在多个互不信任的组织间建立可信的协作网络。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询