Hyperledger Fabric official website document translation (16) Key Concepts - Hyperledger Fabric Model

This section outlines the key design features Hyperledger Fabric in order to achieve as a comprehensive (comprehensive), customizable (customizable), enterprise-class block chain solutions Hyperledger Fabric of commitments if:

  • Assets (assets) - Asset makes it possible to define the exchange almost everything has a monetary value on the network, from the whole food to antique cars to currency futures.
  • Chaincode (chain code) - chain code executes transactions separate sorting, limiting the types of inter-node trust level and the required level of authentication, and to optimize the network performance and scalability.
  • Ledger Features (books characteristics) - immutable share ledger for each channel coding all transaction history, and includes a search function for efficient audit and dispute resolution programs SQL-like.
  • Privacy (Privacy) - Channel (Channels) and private data sets (private data collections) so that usually consists of competitors and managed industry required by private and multi-asset exchange transaction confidential in the same network.
  • Security & Membership Services (security and Member Services) - authorized certification provides a trusted relationship between members of the block chain network, in which participants know that all transactions can be authorized by regulators and auditors detection and tracking.
  • Consensus (Consensus) - a unique mechanism to achieve the consensus needed for enterprise flexibility and scalability.

Assets (assets)

Assets from tangible (real estate and hardware) to intangible (intellectual property rights and contracts). Hyperledger Fabric provides a transaction function using chain code modifications assets.

Hyperledger Fabric assets are represented as a set of key-value pairs (a collection of key-value pairs ), a state change is recorded as channel books in the transaction. Assets can be represented as binary and / or JSON format.

You can use Hyperledger Composer tools to easily define and use your assets Hyperledger Fabric application.

Chaincode (chain code)

A chain code is defined assets, software and instructions to modify the asset transactions, in other words, it is business logic. Chain code enforces rules for the key to be read or modified databases or other status information. Chain code function is performed for the current state of the ledger database and transaction initiated by a proposal. Chain code execution generates a set of key-value write (write current), which can be submitted to the write current applied to the network and to all peers in the ledger.

Ledger Features (books characteristics)

It is a sequence of books, tamper-proof recording of all state transitions (state transitions) in the Fabric. State transition chain code is invoked ( 'the transaction') results submitted by participants. Each transaction generates a set of asset value pairs, and as create, update or delete submitted to the General Ledger.

The block chain and a general ledger database state composition, the block chain sequence of blocks for storing recorded immutable recorded state database for maintaining the current state of Fabric. Each channel has a ledger. Each peer maintains a copy of which it participates books of all channels.

Fabric ledger of some of the features:

  • Based lookup keys, key combinations range queries and queries to query and update the general ledger
  • A rich query language read-only queries (if using CouchDB as a state database)
  • History Read-only queries - according to a key query history books, data source program
  • Transaction consists of version key / value, the key / value is read (the read set) and the chain code is written (write set) in the chain code
  • Signature of each transaction includes peer endorsement and submitted to the sorting service
  • Trade assembled into blocks arranged in sequence from the ordered service and peers to "pass" through the passage
  • Peers trading and enforce policies based on endorsement policy validation
  • Before adding a block, you will perform a version check to make sure the chain code execution from state assets since the beginning of the reading of no change
  • Once the transaction is validated and submitted, the transaction is invariant
  • Ledger contains a passage of a defined policy, access control lists and other configuration blocks related information (configuration block)
  • Channel comprises Membership Provider Service instances, to allow a different material from the encrypted certificate authority (certificate authorities)

You can view Ledger theme, in-depth research database, storage structure and the "query capabilities."

Privacy (Privacy)

Hyperledger Fabric based on the use of the books can not be changed on a per-channel basis, and the current state of the assets can be manipulated and modified (i.e., updated key-value pairs) of the chain code. Books present in the range of channels - it can be shared (i.e., assuming each participant operating on a common channel) across the network - or it may also comprise only a specific set of participants privatization.

In the latter case, the participants will create a separate channel to isolate (isolate / segregate) and their trading books. In order to address the overall program wants to bridge the gap between transparency and privacy protection, chain code can be installed only on those peers nodes need access to state assets to perform read and write (in other words, if a chain code is not installed in the peer, it can not properly interact with the books).

When a sub-organization on a channel set you want to keep their transaction data confidentiality, you can use private data (private data collection) to separated this part of the data, there is a private database, which logically channel books separately, can only be accessed by a subset of the authorized organization.

Therefore, the channel (channels) to ensure the privacy of the transaction on the extensive network and private data sets (collections) to ensure the privacy of data between a subset of the organization on the channel.

To further confuse the data, before the transaction is sent to the ordering and service books will be added to the block, using a common encryption algorithm (e.g., AES) in the chain code value is encrypted (partially or fully). Once the encrypted data is written in the books, only with the right key is used to generate a cipher text (cipher text) a user can decrypt it. For more details on chain code encryption, see Chaconode for Developers topic.

For more detailed information on how to implement privacy on the block chain network can be found in Private Data topic.

Security & Membership Services (security and Member Services)

Hyperledger Fabric supports a trading network, all participants in the network have a known identity. Encryption certificate public key infrastructure (PKI) means for generating organizations, network components, the end user or client application is bound. Accordingly, the data access control may be manipulated and managed on the network and a wider channel level. This "license" concept Hyperledger Fabric, coupled with the existence and function channels, helps address privacy and confidentiality is the most important issue (paramount concerns) application scenarios.

See the Membership Service Providers (MSP) theme, to achieve a better understanding of encryption (cryptographic implementations), and a signature (sign) Hyperledger Fabric used to verify (verify), authentication (authenticate) method.

Consensus (Consensus)

Distributed books in technology, the consensus has recently been a single functional equivalent of a particular algorithm. However, consensus is not just simply to reach agreement on the transaction sequence, the difference is very prominent in Hyperledger Fabric, the consensus mechanism Hyperledger Fabric in the entire transaction flow that plays a very important role, from proposal to involve ( proposal) and endorsement (endorsement), to sort (ordering), verification (validation) and submission (commitment). In short, the consensus is defined as a comprehensive verification of the correctness of a set of transactions included in the block .

When the result of the order and block trades in line with a clear strategy inspection standards, it means that the final consensus has been reached. These checks and balances that occur throughout the life cycle of the transaction, including the use of endorsements and policies which determine the specific members must endorse the transaction type, and using the system to chain code provisions to ensure that these policies are implemented and maintained endorsement. Before submitting, peers will use these systems chain code to ensure there is enough endorsement, and endorsement from the appropriate entity. In addition, the books will add all the blocks that included a transaction before the books, the version checking, during this period, the current state of the books are duly consent or business. This final check to prevent double operating expenses as well as other threats may damage the integrity of the data, and allows functions to be implemented for non-static variables.

In addition to the numerous endorsements, and version checking the validity of the occurrence, as well as subsequent authentication occurs in all directions trading process. When implemented access control list (sorted by a service channel) in the network hierarchy, and the transaction proposal different architectural components, the payload may be repeatedly signature (Signed), verification (Verified) and authorization (Authenticated) . All in all, the consensus is not just limited to a consensus on a number of trading order, on the contrary, it is submitted that the transaction is continued validation of the by-products (byproduct) from the whole process occurred to the proposal, which is its general characteristics (overarching characterization ).

Reference:
Hyperledger Fabric official website translation Started - the key concepts (Hyperledger Fabric model)
Hyperledger entry (a): Super model books
hyperledger fabric structure model of learning

English official documents the original document:
https://hyperledger-fabric.readthedocs.io/en/release-1.3/fabric_model.html

Published 486 original articles · won praise 88 · views 720 000 +

Guess you like

Origin blog.csdn.net/yzpbright/article/details/88636939