# 简介

Fabric 是超级账本社区首个项目也是最流行的分布式账本实现，由 IBM、DAH 等会员企业于 2015 年底贡献到社区。

作为面向企业场景的联盟链，Fabric 中有许多经典的设计和先进的理念。包括多通道、身份证书机制、隐私保护、运维管理接口等。另外，其可扩展的架构可以满足不同场景下的性能需求，如虚拟机部署场景下可以达到 3500 tps 的吞吐量和小于 1 秒的延迟（参考《Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains》），更多物理资源情况下可以达到更大的（10 K+）的吞吐量。

## 主要版本历史

Fabric 首个主版本 1.0.0 于 2017 年 7 月发布，该版本根据之前测试版的应用反馈，在架构上进行了重新设计，在可扩展性和可插拔性方面都有了不少改进。后续版本持续围绕性能、安全性和隐私性完善。Fabric 2.5.x 是当前 LTS 系列，Fabric 3.x 已是正式发布系列。Fabric 的主要版本历史总结如下表所示，也可在 <https://github.com/hyperledger/fabric/releases> 找到。

| 版本    | 发布时间       | 新特性                                                                                               | 增强和改善                                                                                 |
| ----- | ---------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| 1.0.0 | 2017-07-11 | 重新设计架构，支持多通道、Kafka 共识机制、系统链码、分角色节点                                                                | 大幅度提升性能和可扩展性                                                                          |
| 1.1.0 | 2018-03-15 | Node.js 链码，链码加密库，链码中基于证书属性的访问控制，节点之间的双向 TLS，Fabric CA 中对 CRL 的支持。部分实验特性，如 sideDB、idemix、细粒度的权限控制。 | 大幅优化了性能，某些场景下可提升一个数量级；提供基于通道的事件通知模型                                                   |
| 1.2.0 | 2018-07-04 | 正式支持私有数据库（Private Data），提供可插拔的 ESCC 和 VSCC，细粒度访问控制，服务自动发现                                         | 提高了稳定性和易用性                                                                            |
| 1.3.0 | 2018-10-11 | 正式支持 Java 链码；提供细粒度的基于状态的背书策略；支持 idemix 增强隐私保护                                                     | 部分重构链码生命周期管理；通过分页机制优化链码中对大量数据的查询                                                      |
| 1.4.0 | 2019-01-09 | 提供运维相关的 RESTful API（统计、健康检查、日志级别）；使用新的日志控制环境变量                                                    | 增强私有数据：新 Peer 自动获取缺失私有数据，客户端层面对私有数据的权限控制；开始支持新的 RAFT 排序机制                             |
| 2.0.0 | 2020-01-29 | 新的面向通道的链码生命周期管理；独立 shim 库；外部链码启动器                                                                 | 增强私有数据支持；移除系统链码白名单；改进性能                                                               |
| 2.2.0 | 2020-07-07 | 长期支持版本 (LTS)；增强私有数据及其协调机制                                                                         | 引入异步区块处理；优化链码生命周期                                                                     |
| 2.5.0 | 2023-01-23 | 长期支持版本 (LTS)；新增私有数据历史清理能力（需启用 V2\_5 应用能力）                                                         | 发布 amd64/arm64 二进制和镜像；发布二进制采用静态链接；Docker 镜像转为 Ubuntu 基础镜像                             |
| 3.0.0 | 2024-09-17 | 正式引入基于 SmartBFT 的 BFT 排序服务；支持 Ed25519 MSP 凭证（需启用 V3\_0 通道能力）                                      | 移除系统通道、Solo/Kafka 排序、旧链码生命周期和 `fabric-tools` 镜像；通道创建转向 participation API 和 `osnadmin` |

*注：Kafka 排序服务已在 Fabric 2.x 中弃用，并在 Fabric 3.x 中移除。新部署应使用 Raft；需要拜占庭容错时再评估 Fabric 3.x 的 BFT 排序服务。*

## 网络基本结构

Fabric 网络中存在背书节点（Endorser）、记账节点（Committer）、排序节点（Orderer）和证书节点（CA）等不同组件，彼此协作完成整个区块链系统的记账功能。

关于网络架构和详细的节点角色说明，请参考 [Fabric 架构与设计](/blockchain_guide/13_fabric_design.md) 章节。

客户端可以向网络内发送交易，交易经过共识后被通道内的 Peer 节点接收并更新本地对应的账本。

本章后续将详细介绍安装、部署 Fabric 网络并进行启动的操作过程，建议读者跟随步骤进行实践学习。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yeasy.gitbook.io/blockchain_guide/09_fabric_deploy/intro.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
