BIFROST Network
  • Introduction
  • Bifrost Network Architecture
    • Consensus
    • Cross-Chain Communication Protocol (CCCP)
    • Oracle Service
  • Running a Node
    • Basic-Node Requirements
    • Full-Node Requirements
    • Validator Account Management
    • Guide for Operators
      • Setting up an Endpoint Node
        • Using Docker
        • Using Systemd
      • Setting up a Validator Node
        • Using Docker
        • Using Systemd
      • Setting up a Relayer
        • bifrost-relayer.rs
        • bifrost-relayer.py (Deprecated)
      • Chain Data Snapshots
      • Trouble Shooting
        • Testnet Chain Sync Issue
    • System Monitoring
      • Prometheus and Grafana
      • Sentry
  • Nominators
  • Developer Documentations
    • Ethereum API
      • Ethereum Precompiled Contracts
      • Libraries
      • Developer Environments
    • Bifrost Precompiled Contracts
      • Staking
      • Governance
      • RelayManager
    • Pallet Interfaces
      • BfcStaking
      • BfcUtility
      • BfcOffences
      • RelayManager
    • Client API
      • JSON-RPC API
        • author
        • chain
        • childstate
        • debug
        • eth
        • grandpa
        • net
        • offchain
        • payment
        • rpc
        • state
        • system
        • trace
        • txpool
        • web3
      • Explorer API
      • Runtime API
    • Cross-Chain Transaction and Oracle API
      • Price Oracle Contract API
      • Socket Contract API
    • Testnet Faucet
  • Governance
  • Security
  • Tokens & Assets
    • Unified Token
    • Inflation Model
  • Add Network
    • Pockie
    • MetaMask
  • Bridge
    • Bridge Guide
      • Depositing to the Bifrost Network
      • Withdrawing to another network
    • Glossary
  • Staking
    • Staking Guide
      • Stake BFC
      • Unstake BFC
    • Glossary
      • All Validators
      • My Staking Status
  • Language
    • 바이프로스트 네트워크 가이드
Powered by GitBook
On this page
  • Delegated Proof of Stake
  • Block Production
  • Finality Gadget
  1. Bifrost Network Architecture

Consensus

Delegated Proof of Stake

Bifrost is based on a Delegated Proof of Stake (DPoS) system where nominators back validators with their own staked BFC as a show of faith in the good behavior of the validator. Anyone who has BFC staked in the DPoS-based Bifrost Network can participate in the network consensus process as a validator or a nominator (the exact amounts are TBD).

The Bifrost Network updates the current active validator set every round. A new active validator set is selected based on which validators have the highest voting power – the total voting power of an individual validator consists of the sum of their self-bonded stake and received nominations. Only the top n will be selected as the active validators authorized to participate in the consensus for the new round. At the end of each round, validators earn round rewards in return for maintaining the security and reliability of the Bifrost Network. Some of the validator’s round rewards will be proportionally distributed to each of their nominators.

Validators that do not behave properly may be designated as a target for slashing and receive a penalty that deducts a percentage of their staked BFC. Validators are incentivized to maintain a high level of voting power within the network in order to remain in the active validator set and continue to earn rewards; or so that they can increase their chances of being selected as an active validator. Nominators are incentivized to vote for reliable validators to ensure that their stakes are maintained and rewarded. Over time, the voting power of each validator will be equivalent to the confidence that the total body of nominators has in that validator to support and secure the network. This set of consensus mechanisms and rewards is based on mutual trust and symbiotic relationships that improve both the stability and reliability of the network.

Block Production

Bifrost's block production engine is AuRA (Authority Ro(a)und). AuRa works by sequentially selecting the block producer for the current slot in a round-robin fashion. If the network is stable, all active validators will create the exact same number of blocks for each round.

Finality Gadget

Bifrost's block finalization engine is GRANDPA (GHOST-based Recursive Ancestor Deriving Prefix Agreement). GRANDPA is a consensus approach based on deterministic finality. All active validators selected in each round must participate in the voting process to determine the finality of the block.

The voting process begins by selecting a primary node. The primary node then selects the highest block in the chain from that node's point of view and broadcasts its block data to the network. After when the rest of the nodes receive the block data, they vote on the block to achieve finality. If the block is affirmed by more than two-thirds of all active validators, all blocks below that block number will be finalized.

PreviousBifrost Network ArchitectureNextCross-Chain Communication Protocol (CCCP)

Last updated 1 year ago