github.com/kchristidis/fabric@v1.0.4-0.20171028114726-837acd08cde1/docs/source/capabilities.rst (about) 1 Hyperledger Fabric Capabilities 2 =============================== 3 4 Hyperledger Fabric is a unique implementation of distributed ledger technology 5 (DLT) that delivers enterprise-ready network security, scalability, 6 confidentiality and performance, in a modular blockchain architecture. 7 Hyperledger Fabric delivers the following blockchain network capabilities: 8 9 Identity management 10 ------------------- 11 12 To enable permissioned networks, Hyperledger Fabric provides a membership 13 identity service that manages user IDs and authenticates all participants on 14 the network. Access control lists can be used to provide additional layers of 15 permission through authorization of specific network operations. For example, a 16 specific user ID could be permitted to invoke a chaincode application, but 17 blocked from deploying new chaincode. One truism about Hyperledger Fabric 18 networks is that members know each other (identity), but they do not know what 19 each other are doing (privacy and confidentiality). 20 21 Privacy and confidentiality 22 --------------------------- 23 24 Hyperledger Fabric enables competing business interests, and any groups that 25 require private, confidential transactions, to coexist on the same permissioned 26 network. Private **channels** are restricted messaging paths that can be used 27 to provide transaction privacy and confidentiality for specific subsets of 28 network members. All data, including transaction, member and channel 29 information, on a channel are invisible and inaccessible to any network members 30 not explicitly granted access to that channel. 31 32 Efficient processing 33 -------------------- 34 35 Hyperledger Fabric assigns network roles by node type. To provide concurrency 36 and parallelism to the network, transaction execution is separated from 37 transaction ordering and commitment. Executing transactions prior to 38 ordering them enables each peer node to process multiple transactions 39 simultaneously. This concurrent execution increases processing efficiency on 40 each peer and accelerates delivery of transactions to the ordering service. 41 42 In addition to enabling parallel processing, the division of labor unburdens 43 ordering nodes from the demands of transaction execution and ledger 44 maintenance, while peer nodes are freed from ordering (consensus) workloads. 45 This bifurcation of roles also limits the processing required for authorization 46 and authentication; all peer nodes do not have to trust all ordering nodes, and 47 vice versa, so processes on one can run independently of verification by the 48 other. 49 50 Chaincode functionality 51 ----------------------- 52 53 Chaincode applications encode logic that is 54 invoked by specific types of transactions on the channel. Chaincode that 55 defines parameters for a change of asset ownership, for example, ensures that 56 all transactions that transfer ownership are subject to the same rules and 57 requirements. **System chaincode** is distinguished as chaincode that defines 58 operating parameters for the entire channel. Lifecycle and configuration system 59 chaincode defines the rules for the channel; endorsement and validation system 60 chaincode defines the requirements for endorsing and validating transactions. 61 62 Modular design 63 -------------- 64 65 Hyperledger Fabric implements a modular architecture to 66 provide functional choice to network designers. Specific algorithms for 67 identity, ordering (consensus) and encryption, for example, can be plugged in 68 to any Hyperledger Fabric network. The result is a universal blockchain 69 architecture that any industry or public domain can adopt, with the assurance 70 that its networks will be interoperable across market, regulatory and 71 geographic boundaries. By contrast, current alternatives to Hyperledger Fabric 72 are largely partisan, constrained and industry-specific. 73 74 .. Licensed under Creative Commons Attribution 4.0 International License 75 https://creativecommons.org/licenses/by/4.0/