|
| 1 | +# Hyperledger Fabric |
| 2 | + |
| 3 | +A `blockchain` is an immutable transaction ledger, maintained within a distributed network of `peer nodes`. Each node maintains a copy of the ledger and applies `transactions` that have been validated by a `consensus` protocol. Each block of transactions is then grouped into `blocks` that include a hash that `binds` each block to the `previous block`. |
| 4 | + |
| 5 | +`Bitcoin` and `Ethereum` classify as `public permissionless` blockchain technology. Basically, these are public networks, open to anyone, where participants interact anonymously. |
| 6 | + |
| 7 | +`Hyperledger Fabric` is an open-source, `permissioned blockchain`. It has a `modular` architecture that delivers high degrees of confidentiality, flexibility, resiliency, and scalability. It's designed to support pluggable implementations of different components. |
| 8 | + |
| 9 | +In a `permissioned network`, participants are `identified` and `known` to each other, unlike with a `public permissionless` network where the participants remain anonymous. |
| 10 | + |
| 11 | +## Table of Contents |
| 12 | + |
| 13 | +* [Technology](#technology) |
| 14 | +* [Consensus](#consensus) |
| 15 | +* [Reference](#reference) |
| 16 | + |
| 17 | +## Why Hyperledger Fabric? |
| 18 | + |
| 19 | +For enterprise use, we need to consider the following requirements: |
| 20 | + |
| 21 | +* Participants must be identified/identifiable |
| 22 | +* Networks need to be permissioned |
| 23 | +* High transaction throughput performance |
| 24 | +* Low latency of transaction confirmation |
| 25 | +* Privacy and confidentiality of transactions and data pertaining to business transactions |
| 26 | + |
| 27 | +One of the most important of the `platform’s differentiators` is its support for `pluggable consensus protocols` that enable the platform to be more effectively customized to fit particular use cases and trust models. |
| 28 | + |
| 29 | +`Fabric` can leverage consensus protocols that do not require a native cryptocurrency to incent costly mining or to fuel smart contract execution |
| 30 | + |
| 31 | +## Technology |
| 32 | + |
| 33 | +Hyperledger Fabric is written in `Go`. It uses `CouchDB` as its state database. and `etcd` as its key-value store. |
| 34 | + |
| 35 | +## Consensus |
| 36 | + |
| 37 | +Hyperledger Fabric uses `BFT` consensus. Version 3 is implementing `SmartBFT` consensus. |
| 38 | +You can also write your own consensus algorithm. |
| 39 | + |
| 40 | +## Reference |
| 41 | + |
| 42 | +* <https://github.com/hyperledger/fabric> |
| 43 | +* <https://wiki.hyperledger.org/> |
| 44 | +* <https://www.youtube.com/channel/UC7_X0WkMtkWzaVUKF-PRBNQ> |
| 45 | +* <https://hyperledger-fabric.readthedocs.io/en/latest/index.html> |
0 commit comments