github.com/sykesm/fabric@v1.1.0-preview.0.20200129034918-2aa12b1a0181/docs/source/functionalities.rst (about) 1 Hyperledger Fabric Functionalities 2 ================================== 3 4 Hyperledger Fabric is an 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 functionalities: 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 be blocked from deploying new chaincode. 18 19 Privacy and confidentiality 20 --------------------------- 21 22 Hyperledger Fabric enables competing business interests, and any groups that 23 require private, confidential transactions, to coexist on the same permissioned 24 network. Private **channels** are restricted messaging paths that can be used 25 to provide transaction privacy and confidentiality for specific subsets of 26 network members. All data, including transaction, member and channel 27 information, on a channel are invisible and inaccessible to any network members 28 not explicitly granted access to that channel. 29 30 Efficient processing 31 -------------------- 32 33 Hyperledger Fabric assigns network roles by node type. To provide concurrency 34 and parallelism to the network, transaction execution is separated from 35 transaction ordering and commitment. Executing transactions prior to 36 ordering them enables each peer node to process multiple transactions 37 simultaneously. This concurrent execution increases processing efficiency on 38 each peer and accelerates delivery of transactions to the ordering service. 39 40 In addition to enabling parallel processing, the division of labor unburdens 41 ordering nodes from the demands of transaction execution and ledger 42 maintenance, while peer nodes are freed from ordering (consensus) workloads. 43 This bifurcation of roles also limits the processing required for authorization 44 and authentication; all peer nodes do not have to trust all ordering nodes, and 45 vice versa, so processes on one can run independently of verification by the 46 other. 47 48 Chaincode functionality 49 ----------------------- 50 51 Chaincode applications encode logic that is 52 invoked by specific types of transactions on the channel. Chaincode that 53 defines parameters for a change of asset ownership, for example, ensures that 54 all transactions that transfer ownership are subject to the same rules and 55 requirements. **System chaincode** is distinguished as chaincode that defines 56 operating parameters for the entire channel. Lifecycle and configuration system 57 chaincode defines the rules for the channel; endorsement and validation system 58 chaincode defines the requirements for endorsing and validating transactions. 59 60 Modular design 61 -------------- 62 63 Hyperledger Fabric implements a modular architecture to 64 provide functional choice to network designers. Specific algorithms for 65 identity, ordering (consensus) and encryption, for example, can be plugged in 66 to any Hyperledger Fabric network. The result is a universal blockchain 67 architecture that any industry or public domain can adopt, with the assurance 68 that its networks will be interoperable across market, regulatory and 69 geographic boundaries. 70 71 .. Licensed under Creative Commons Attribution 4.0 International License 72 https://creativecommons.org/licenses/by/4.0/