Implementation of PBFT on the blockchain

in #pbft4 years ago

Content

The nodes of the blockchain are divided into two roles: bookkeeping nodes and ordinary nodes

The bookkeeping node is responsible for providing bookkeeping services to the entire network and maintaining the global ledger. Every period of time, a speaker is selected from the bookkeeping node to distribute orders, and other bookkeeping nodes act as members for verification

The general is the bookkeeping node. It has a global ledger and verifies the validity of transactions. By communicating the verification results to each other, it can ensure global consistency under the premise of f<=(n-1)/3

The general process of consensus is as follows:

  1. After any node receives the transaction data request signed by the sender, it broadcasts to the entire network

  2. All accounting nodes independently monitor the transaction data of the entire network and record it in the memory

  3. The speaker sends a consensus request proposal request after t

  4. After receiving the proposal, the member performs relevant verification and sends a response

  5. After any node receives at least F+1 responses within a limited time, a consensus is reached, the transaction is recorded in the block and published to the entire network, if it times out, the view and speaker will be changed

  6. After receiving the complete block, any node deletes the contained transaction from the memory