Consensus


BTA takes on the HPoS consensus mechanism which gives us many advantages such low transaction cost, low transaction latency, high transaction concurrency, and supports up to 21 validators

HPoS is a combination of PoA and Pos. For validator activation, you're required for a proposal submission first and wait for it to get voted by other active validators, if you pass more than half of them, we will congratulate you for meeting the requirements to become a validator. Any address can stake to an address that qualifies to become a validator. The top 21 ranks stacking volume, it will become an active validator in the next epoch.

for active verifiers will be sorted according to predetermined rules and pack blocks in systematic rotation. If a failure occurs when the validator packs the block in time in its own loop, active validators who have not involved in n/2 (n is the number of active validators) then blocks will randomly perform the block-out. At least n/2+1 active validators work properly to ensure a proper blockchain operation runs smoothly.

The normal condition of difficulty value of a block to generate is 2, It may turn to 1 if the block is not generated in a predefined order. when a fork of the blockchain occurs, the blockchain selects the corresponding fork according to the cumulative maximum difficulty.

Glossary

Validator : Get in charge of packaging out blocks for on-chain transactions.

active validator : The current set of validators responsible for packing out blocks, with a maximum of 21.

Epoch : Time interval in blocks, currently 1epoch = 200block on BTA. At the end of each epoch, the blockchain interacts with the system contracts to update active validators.

System contract

Btachain Contract

The management validators currently are running using the system contracts.

  • It requires Proposal Responsible for taking access management to validators and managing validator proposals and votes.

  • Validators in charge to rank each management of validators, staking, and unstacking operations, distribution of block rewards, etc.

  • Punish Responsible in charge of punishing operations against active validators who are not working properly.

Blockchain call system contracts:

  • Contract Validator is being called and all transaction fees in the block are distributed to active validators at the end of the block.

  • Punish Contract is being called to give punishment to the validator that not working properly.

  • Validator contract is being called for updating active validator based on rank at the end of the epoch.