Are blocks mined in HyperLedger Fabric?

I read the documentation on how the HyperLedger Fabric project implements the open source BlockChain solution: https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md

I saw that the PBFT negotiation algorithm is used, but I don’t understand how blocks are mined and distributed among all the checking nodes in the BlockChain network.

+12
hyperledger blockchain
source share
3 answers

Hyperledger Validating Peers (VPs) do not block blocks or share blocks between them. Here's how it works:

  • The transaction is sent to one trusted VP.
  • VP transfers the transaction to all other VPs.
  • All VPs reach consensus (using the PBFT algorithm) in the following order to execute transactions.
  • All VP-servers execute transactions "on their own" after the general order and build a block (calculating hashes mainly) with completed transactions.

All blocks will be the same because: transaction execution is deterministic (should be) and the number tx in the block is fixed.

+29
source share

According to Hyperledger Fabric 1.X

  1. The user sends a transaction proposal to the approving partners via the Client SDK.
  2. An approving peer reviews the transaction and makes a transaction approval proposal (with a read / write value set (previous value / modified value)) and sends the client SDK again.
  3. The client SDK expects all approvals, as soon as it receives all approvals, it makes one call request and sends it to the customer.
  4. The customer checks the rental of the call request using the client SDK, checking certain Policies (Consensus), verifies the transaction and adds it to the block.
  5. In accordance with the configuration defined for the block, after the specified time or transaction number, it generates a block hash using the transaction hash, metadata, and the hash of the previous block.
  6. Transaction blocks are "delivered" to the Customer to all partners on the channel.
  7. All host peers check the acknowledgment policy and ensure that there are no changes in the register state for the read-set variables, since the read-set was generated by the transaction. After that, all transactions in the block are performed and the ledger is updated with the new block and the current state of the asset.

The general ledger contains

  • 1) Current state database (BD or Couch DB level)
  • 2) Blockchain (Files) (Related Blocks)

Read Hyperledger Fabric Transaction Flow

Check the image for reference. Hyperledger Fabric Transaction Flow

+6
source share

Hyperledger is an umbrella of blockchain technology. The Hyperledger Fabric mentioned above is one of them. Hyperledger Sawtooth also does not use mining and adds the following consistent algorithms:

  • PoET Proof of Elapsed Time (optional Nakamoto-style consensus algorithm used for Sawtooth). PoET with SGX has a BFT. PoET Simulator has a CFT. It does not consume a lot of processor resources, as in PoW-style algorithms, although it can still work with obsolete blocks. See the PoET Specification at https://sawtooth.hyperledger.org/docs/core/release s / latest / Architecture / Poems .html.
  • RAFT A consensus algorithm that selects a leader for a period of arbitrary time. The leader is replaced if it is a timeout. The raft is faster than PoET, but not BFT (Raft - CFT). Also, the raft does not fold out.
  • With consensus turned off, another consensus algorithm can be changed without reinitializing the blockchain or even restarting the software.

For completeness, the original consensus algorithm with bitcoins (and uses mining):

  • PoW Proof of Work. Shutdown (intensive processor consensus algorithm in Nakamoto style). Commonly used on unauthorized blockchains.
+1
source share

All Articles