x/brahma Emission Rewards (Inflation)

Overview

Incentives via coin emissions play a vital role in any healthy blockchain ecosystem.

Bitplanet's emission rewards serves three roles:

  1. Incentivize coin holders to secure the network as a staker / delegator.

  2. Reward key contributors to the Bitplanet ecosystem with the blockchain's native coin.

  3. Fund the Bitplanet Treasury with BPL to pay for the cost of minting Cores

Note: we use emissions and inflation interchangeably below.

Middle Way between Governments & Corporations

On the 2nd point, imagine a middle way between governments and corporations. In which, citizens (contributors) were compensated in governance coins proportionally to their contribution earnings, thus creating an incentive alignment with skin in the game between all contributor citizens in the digital economic state.

Bitplanet structures these incentives via the x/brahma module as follows.

Implementation

circle-info

BPL emissions are minted by the x/mint module (cosmos-sdk standard) and sent to the x/distribution module. The x/brahma module siphons a configurable percentage (default 50%) from the distribution module's balance and allocates it to AI participants according to the following mechanism.

Data Structures

  // AI is a representation of the state associated with an AI. This object is uniquely identified
  // + indexed by it's ID. Both the creator + the dApp from which the AI originates is stored in the AI.
  message AI {
    // ID is the identifier of this AI
    bytes ID = 1;

    // Creator is the address of the creator of this AI
    bytes creator = 2;

    // DAppAddress is the address of the DApp from which this AI creation occured.
    bytes dAppAddress = 3;

    // RollingAvgMarketCap is a rolling avg. (maintained as a rolling window) of the total market-cap of
    // this AI's gems
    repeated uint64 rolling_avg_market_cap = 4;
  }

AI

The AI data-structure will be populated each time a new AI is created, as indicated by an incoming RequestForCore. The creator will be updated with the address for which the Create action is attributed in the RequestForCore. The DAppAddress will be set to the address associated with the AppID of the RequestForCore

State Transitions

BeginBlock

The x/brahma module will interact with the x/mint's inflation as follows.

Last updated