17 Apr 2018 | Elli Androulaki, Artem Barger, Vita Bortnikov, Christian Cachin, Konstantinos Christidis, Angelo De Caro, David Enyeart, Christopher Ferris, Gennady Laventman, Yacov Manevich, Srinivasan Muralidharan, Chet Murthy, Manish Sethi, Gari Singh, Keith Smith, Alessandro Sorniotti, Chrysoula Stathakopoulou, Marko Vukolić, Sharon Weed Cocco, Jason Yellick, Binh Nguyen
**Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains**
**Authors:** Elli Androulaki
**Abstract:**
Fabric is an open-source, modular, and extensible system for deploying and operating permissioned blockchains, hosted by the Linux Foundation. It is the first truly extensible blockchain system that supports distributed applications written in standard, general-purpose programming languages, without a native cryptocurrency. Fabric introduces a novel blockchain design that addresses non-determinism, resource exhaustion, and performance attacks. This paper describes Fabric's architecture, design rationale, implementation aspects, and distributed application programming model. It evaluates Fabric by implementing and benchmarking a Bitcoin-inspired digital currency, achieving end-to-end throughput of over 3500 transactions per second with sub-second latency and scaling to over 100 peers.
**Introduction:**
The paper defines blockchain as an immutable ledger for recording transactions within a distributed network of untrusting peers. It discusses the differences between public and permissioned blockchains, emphasizing the need for flexible trust models in permissioned systems. The paper critiques the traditional order-execute architecture, highlighting its limitations such as sequential execution, non-deterministic code, and lack of confidentiality. It introduces Fabric's execute-order-validate paradigm, which separates transaction execution, ordering, and validation phases, enhancing resilience, flexibility, scalability, and confidentiality.
**Background:**
The paper reviews the order-execute architecture and its limitations, including sequential execution, non-deterministic code, and fixed trust models. It discusses the challenges of non-deterministic transactions and the need for flexible trust assumptions in permissioned systems.
**Architecture:**
Fabric's architecture is described, including the execution, ordering, and validation phases. It emphasizes the separation of concerns, modular consensus protocols, and the use of a membership service provider (MSP) for identity management. The paper also details the components of a Fabric peer, such as the ledger, transaction manager, and gossip service.
**Evaluation:**
The paper evaluates Fabric's performance through a Bitcoin-inspired cryptocurrency implementation, demonstrating high throughput, low latency, and scalability. It discusses real-world use cases and related work, highlighting Fabric's advantages over existing blockchain platforms.**Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains**
**Authors:** Elli Androulaki
**Abstract:**
Fabric is an open-source, modular, and extensible system for deploying and operating permissioned blockchains, hosted by the Linux Foundation. It is the first truly extensible blockchain system that supports distributed applications written in standard, general-purpose programming languages, without a native cryptocurrency. Fabric introduces a novel blockchain design that addresses non-determinism, resource exhaustion, and performance attacks. This paper describes Fabric's architecture, design rationale, implementation aspects, and distributed application programming model. It evaluates Fabric by implementing and benchmarking a Bitcoin-inspired digital currency, achieving end-to-end throughput of over 3500 transactions per second with sub-second latency and scaling to over 100 peers.
**Introduction:**
The paper defines blockchain as an immutable ledger for recording transactions within a distributed network of untrusting peers. It discusses the differences between public and permissioned blockchains, emphasizing the need for flexible trust models in permissioned systems. The paper critiques the traditional order-execute architecture, highlighting its limitations such as sequential execution, non-deterministic code, and lack of confidentiality. It introduces Fabric's execute-order-validate paradigm, which separates transaction execution, ordering, and validation phases, enhancing resilience, flexibility, scalability, and confidentiality.
**Background:**
The paper reviews the order-execute architecture and its limitations, including sequential execution, non-deterministic code, and fixed trust models. It discusses the challenges of non-deterministic transactions and the need for flexible trust assumptions in permissioned systems.
**Architecture:**
Fabric's architecture is described, including the execution, ordering, and validation phases. It emphasizes the separation of concerns, modular consensus protocols, and the use of a membership service provider (MSP) for identity management. The paper also details the components of a Fabric peer, such as the ledger, transaction manager, and gossip service.
**Evaluation:**
The paper evaluates Fabric's performance through a Bitcoin-inspired cryptocurrency implementation, demonstrating high throughput, low latency, and scalability. It discusses real-world use cases and related work, highlighting Fabric's advantages over existing blockchain platforms.