Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge "FAB-3099 migrate unmerged capabilities.md"
- Loading branch information
Showing
1 changed file
with
70 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,72 @@ | ||
Capabilities | ||
------------ | ||
Fabric Capabilities | ||
=================== | ||
|
||
...coming soon | ||
Hyperledger Fabric is a unique implementation of distributed ledger technology | ||
(DLT) that delivers enterprise-ready network security, scalability, | ||
confidentiality and performance, in a modular blockchain architecture. The | ||
fabric delivers the following blockchain network capabilities: | ||
|
||
Identity Management, Privacy, Confidentiality, Throughput, Chaincode, | ||
Modularity | ||
Identity management | ||
------------------- | ||
|
||
To enable permissioned networks, Hyperledger Fabric provides a membership | ||
identity service that manages user IDs and authenticates all participants on | ||
the network. Access control lists can be used to provide additional layers of | ||
permission through authorization of specific network operations. For example, a | ||
specific user ID could be permitted to invoke a chaincode application, but | ||
blocked from deploying new chaincode. One truism about Hyperledger Fabric | ||
networks is that members know each other (identity), but they do not know what | ||
each other are doing (privacy and confidentiality). | ||
|
||
Privacy and confidentiality | ||
--------------------------- | ||
|
||
Hyperledger Fabric enables competing business interests, and any groups that | ||
require private, confidential transactions, to coexist on the same permissioned | ||
network. Private **channels** are restricted messaging paths that can be used | ||
to provide transaction privacy and confidentiality for specific subsets of | ||
network members. All data, including transaction, member and channel | ||
information, on a channel are invisible and inaccessible to any network members | ||
not explicitly granted access to that channel. | ||
|
||
Efficient processing | ||
-------------------- | ||
|
||
Hyperledger Fabric assigns network roles by node type. To provide concurrency | ||
and parallelism to the network, transaction execution is separated from | ||
transaction ordering and commitment. Executing transactions prior to | ||
ordering them enables each peer node to process multiple transactions | ||
simultaneously. This concurrent execution increases processing efficiency on | ||
each peer and accelerates delivery of transactions to the ordering service. | ||
|
||
In addition to enabling parallel processing, the division of labor unburdens | ||
ordering nodes from the demands of transaction execution and ledger | ||
maintenance, while peer nodes are freed from ordering (consensus) workloads. | ||
This bifurcation of roles also limits the processing required for authorization | ||
and authentication; all peer nodes do not have to trust all ordering nodes, and | ||
vice versa, so processes on one can run independently of verification by the | ||
other. | ||
|
||
Chaincode functionality | ||
----------------------- | ||
|
||
Chaincode applications encode logic that is | ||
invoked by specific types of transactions on the channel. Chaincode that | ||
defines parameters for a change of asset ownership, for example, ensures that | ||
all transactions that transfer ownership are subject to the same rules and | ||
requirements. **System chaincode** is distinguished as chaincode that defines | ||
operating parameters for the entire channel. Lifecycle and configuration system | ||
chaincode defines the rules for the channel; endorsement and validation system | ||
chaincode defines the requirements for endorsing and validating transactions. | ||
|
||
Modular design | ||
-------------- | ||
|
||
Hyperledger Fabric implements a modular architecture to | ||
provide functional choice to network designers. Specific algorithms for | ||
identity, ordering (consensus) and encryption, for example, can be plugged in | ||
to any fabric network. The result is a universal blockchain architecture that | ||
any industry or public domain can adopt, with the assurance that its networks | ||
will be interoperable across market, regulatory and geographic boundaries. By | ||
contrast, current alternatives to Hyperledger Fabric are largely partisan, | ||
constrained and industry-specific. |