After the Oraichain mainnet launch on February 24th 2021, we believe it is necessary to dive deep on the framework Oraichain uses to incentivise validators, delegators and ORAI token holders to become part of the network. This article focuses on two types of methods for rewarding: Block reward and AI request reward.
- Oraichain Mainnet is based on Cosmos-SDK and Tendermint.
- Two methods of reward: 1) Block Reward and 2) AI Request Reward
- Block Reward: 6,311,520 blocks/year | 5 seconds per block | 0.01069 ORAI per block at 29% est. APR.
- AI Request Reward: Based on reward validators successful execution of AI requests from users. Fees of an AI request are measured by accumulating all the fees required by the script providers and validators that execute the request.
Oraichain is based on Cosmos-SDK and Tendermint, which is a public DPoS blockchain. As a result, it has a mechanism whereby validators and delegators are rewarded after producing new blocks which can either be empty or not. However there’s more, validators and their staked delegators can also be rewarded through the execution of AI requests. The first type of rewards is common in most blockchains, but the latter is uniquely built within the Oraichain network by the Oraichain team. In this article, we describe and explain both methods in detail, so you can calculate how you can contribute to the network and the rewards you can receive after a specific time period.
Do you want to be part of the Oraichain Mainnet as a validator? Check the guide How to become a validator on the Oraichain Mainnet.
Method 1: Block reward
In order to know how many tokens a validator and delegator should receive, we need to understand some equations and parameters that affect the number of tokens released each block. Even though the Cosmos-SDK implements this method natively, we would like to explain how it works in detail. The block provision, which is variable is updated and minted every new block, which can be calculated as follows (assuming that every block has no transactions):
In the formula above the total supply increases gradually, while the number of blocks per year is set to 6,311,520 blocks/year (approximately 5 seconds per block). According to the formula that calculates est. APR, the block provision is about 0.01069 ORAI if the est APR. is 29% and each block is produced every 5 seconds. Assume that the initial total supply is 17,000,000 ORAI, then the inflation rate would be 0.39%. After a year, the total supply would increase to roughly 66,300 ORAI, which is not much, and the est. APR is almost unchanged.
Assuming there is no transaction in each block, the block provision value is used to reward validators and delegators directly. If there are transaction fees within that block, they will be accumulated with the block provision. We move on to the next step, which is token allocation.
Let’s assume that we have a new block and a proposer (the validator that produces that block). The proposer will first receive his reward before the remaining tokens get distributed based on the number of voting power each bonded validator has (including the proposer as well). The proposer reward depends on a value called proposer multiplier, which is calculated as follows:
In the above equation, base proposer reward and bonus proposer reward are two parameters (their default values are: 1% and 4% respectively). However, the other two variables change every block. Using the proposer multiplier, we can distribute tokens to the proposer reward.
Next, we distribute the remaining tokens to all validators voting for that block. The reward (called outstanding reward) for each validator and his corresponding delegators is calculated as follows:
The community tax is 2% by default, this number could be changed through governance voting. The rewards are not sent directly to the validator or delegator’s wallets. They are put in a pool of rewards and can be claimed anytime. In addition, the rewards are distributed according to the commission rate set by the validator as an incentive for them to help power the network.
If we are unable to allocate all the reward tokens, the balance will be put in the community pool for future funding.
The equations above can be hard to follow, let’s take an example with real values to have a better estimation:
Using all the default parameters, we assume that:
- The number of blocks per year is 6,311,520 blocks/year
- The total supply is 10,000,000 ORAI.
- The number of voting power from validators signing the last block is 700,000.
- The total voting power of the last block is 1,000,000.
- The commission rate is 10% for all validators.
- There are a total of three validators that signed the last block, the first has 300,000 voting power, the second has 250,000 voting power, and the last has 150,000 voting power.
- There are a total of four delegators, three of them are self-delegators while the last delegator delegates 50,000 ORAI (which equals 50,000 voting power) to the first validator.
- The current annual inflation rate is 16%.
Let’s calculate the reward for each validator and delegator:
- Block provision = 0.253 ORAI.
- Proposer multiplier = 0.01 + (0.04 × 700,000÷ 1,000,000) = 0.038.
- Proposer reward = 0.253 × 0.038 = 0.00963 ORAI.
- Remaining = 0.253–0.00963 = 0.24337 ORAI.
- 1st reward = 0.253 × 0.942 × 300,000 ÷ 1,000,000 = 0.071 ORAI
- 2nd reward = 0.253 × 0.942 × 250,000 ÷ 1,000,000 = 0.060 ORAI.
- 3rd reward = 0.253 × 0.942 × 150,000 ÷ 1,000,000 = 0.036 ORAI.
- Remaining = 0.253–0.071–0.060–0.036–0.00963 = 0.076 ORAI (this amount is sent to the community pool).
Since 2nd & 3rd delegators are actually validators, they can claim their full rewards. However, the first reward includes two delegator shares with a validator, so we need to calculate further. First, let’s calculate the actual reward for the 1st validator:
- Validator commission = 0.071 × 0.1 = 0.0071 ORAI.
- 1st delegator reward (self-delegation) = (0.071–0.0071) × 250,000 ÷ 300,000 = 0.053 ORAI.
- 2nd delegator reward = 0.071–0.0071–0.053 = 0.0109 ORAI.
Assume that the 1st validator is also the proposer, then the total ORAI the 1st delegator can claim is 0.0071 + 0.053 + 0.00963 = 0.070 ORAI.
Method 2: AI Request reward
We implemented this method to reward validators that successfully execute AI requests from users. Each validator has a chance to do so proportionally to his voting power, meaning that if one has high voting power he is more likely to execute an AI request. After executing, the chosen validators must send report transactions to the network to prove that they have actually run the scripts. These transactions will be collected to reward them and the script providers. If the number of reports of a request reaches the threshold parameter (defined by the community), then that request is considered finished with valid results.
The fees of an AI request are measured by accumulating all the fees required by the script providers and validators that execute the request. Assuming that the fees are 100%, then a specific portion of the fees will be allocated to the validators (this value is a parameter, which can be changed), while the rest goes to the script providers.
Since Oraichain rewards participants based on the validators’ reports, it is simple to calculate how many tokens a validator receives. Below is the equation to allocate tokens to a validator:
The data source fees and test case fees are accumulated fees of data sources and test cases used in the AI request, and such fees are defined explicitly by their providers. Oracle reward percentage is the parameter mentioned above, which is set at 60% by default. After receiving the rewards, the next step is to distribute based on the commissions similarly to the first method.
Meanwhile, on the user side, to create an AI request, a user needs to pay the following fees:
- The normal transaction fees charged by the validator that receives the transaction.
- The AI request fees, which are calculated according to the below equation:
where k is the number of validators that the user wants to execute his request.
We assume that the oracle script percentage is 60% as default, and an Oracle Script uses:
- Three Data Sources. The first two require 5 ORAI to execute, while the last one needs 3 ORAI.
- Two Test Cases. Both require 4 ORAI.
Next, let’s say a user wants three validators to execute his AI request given the above Oracle Script. Now, we can calculate the minimum fees that the user needs to pay to get his request executed:
- Fees = 7 ÷ 5 × 3 × (5 × 2 + 3 + 4 × 2) = 88.2 ORAI
We assume that three validators have the same voting powers as those in the first method’s example. The total voting power, however, is the sum of three validators that are chosen, not the total power of all validators within the network. As a result, their rewards can be measured as:
- 1st reward = 2 ÷ 5 × 21 × 300,000 ÷ 700,000 = 3.6 ORAI
- 2nd reward = 2 ÷ 5 × 21 × 250,000 ÷ 700,000 = 3 ORAI
- 3rd reward = 2 ÷ 5 × 21 × 150,000 ÷ 700,000 = 1.8 ORAI
- Remaining reward = 88.2–3 × (5 × 2 + 3 + 4 × 2) + 3.6 + 3 + 1.8 = 16.8 ORAI (this value goes into the community pool)
Oraichain has created two ways for validators and delegators to earn rewards. The first method is triggered every block, while the second one occurs when there are AI requests coming. As Oraichain is currently building its AI infrastructure, the second method — which is a custom and unique method — may be subject to changes to further optimize the ecosystem.
As always, we want to thank our community for their support. If you have any questions related to the two methods above, feel free to do so through our Telegram Oraichain Official Channel and Oraichain Technical Support. Please stay updated through our Telegram Announcements channel, Twitter and Medium.
Oraichain is the world’s first AI-powered oracle and ecosystem for blockchains. Oraichain data oracle platform aggregates and connects Artificial Intelligence APIs to smart contracts and regular applications. Founded by Dr. Chung Dao, Oraichain’s mission is to be the portal between AI and blockchain technologies, serving as a foundational base for the creation of a new generation of smart contracts and Dapps leveraging AI, aiming to revolutionize the Artificial Intelligence, DeFi, and Blockchain industries.
Unlike regular oracles using raw data, Oraichain’s AI oracle uniquely uses AI APIs to process and create data on-the-fly via virtual machines on smart contracts. Data quality, reliability and security are enhanced by using test cases, which help to avoid intermediaries, increase trust and open up unprecedented application functionalities.
Beyond data oracles, Oraichain interconnects Artificial Intelligence and Blockchain technologies. With AI as the cornerstone, the Oraichain ecosystem contains an AI marketplace, a Data & Request Hub, Publisher Service, Training Service, and Dapp Hosting.
Oraichain network provides the infrastructure and consensus mechanisms for Blockchain and AI training. These interconnected ecosystems accelerate the development of Web3, DeFi, enterprise and academia applications. yAI.finance is the first use case of Oraichain, a DeFi platform using unique AI-based features and strategies. Oraichain AI Marketplace offers AI products and APIs with the goal of becoming the one-stop-shop for Artificial Intelligence services.