Implementation of PBFT on the blockchain
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:
After any node receives the transaction data request signed by the sender, it broadcasts to the entire network
All accounting nodes independently monitor the transaction data of the entire network and record it in the memory
The speaker sends a consensus request proposal request after t
After receiving the proposal, the member performs relevant verification and sends a response
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
After receiving the complete block, any node deletes the contained transaction from the memory