Skip to content

Commit

Permalink
Merge pull request #3055 from iotaledger/devx/add-quizzes-to-tokenomi…
Browse files Browse the repository at this point in the history
…cs-section

feat (devx) - Add Quizzes to the About IOTA > Tokenomics Section
  • Loading branch information
Ginowine authored Oct 25, 2024
2 parents 6b93657 + e030fcd commit 26f0e0f
Show file tree
Hide file tree
Showing 15 changed files with 290 additions and 15 deletions.
27 changes: 14 additions & 13 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions docs/content/about-iota/tokenomics/gas-in-iota.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ title: Gas in IOTA
description: An IOTA transaction must both pay for the computational cost of execution and pay a deposit for storing the objects a transaction creates or mutates.
---

import Quiz from '@site/src/components/Quiz';
import {questions} from '../../../site/static/json/about-iota/tokenomics/gas-in-iota.json';

An IOTA transaction must both pay for the computational cost of execution and pay a deposit for storing the objects a transaction creates or mutates. Specifically, [IOTA Gas Pricing](gas-pricing.mdx) is such that any transaction pays the following gas fees:

`total_gas_fees = computation_units * reference_gas_price + storage_units * storage_price`
Expand Down Expand Up @@ -75,3 +78,6 @@ These examples showcase the importance of the gas budget. The minimum gas budget
| Simple transaction storing 10 bytes and deleting data | 500 NANOS | 1,000 | 75 NANOS | 1,000 | 100,000 NANOS | 500,000 NANOS | 475,000 NANOS |
| Complex transaction storing 120 bytes | 1,000 NANOS | 5,000 | 200 NANOS | 12,000 | 0 NANOS | 7,400,000 NANOS | 7,400,000 NANOS |
| Complex transaction storing 120 bytes and deleting data | 500 NANOS | 5,000 | 200 NANOS | 12,000 | 5,000,000 NANOS | 2,500,000 NANOS | -100,000 NANOS |

## Quizzes
<Quiz questions={questions} />
6 changes: 6 additions & 0 deletions docs/content/about-iota/tokenomics/gas-pricing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
title: IOTA Gas Pricing
---

import Quiz from '@site/src/components/Quiz';
import {questions} from '../../../site/static/json/about-iota/tokenomics/gas-pricing.json';

The IOTA gas-pricing mechanism achieves three outcomes: delivering low, predictable transaction fees, incentivizing validators to optimize their transaction processing operations, and preventing denial of service attacks.

This enables you to focus on using the IOTA network to provide the best user experience without needing to forecast the current market price of gas fees. Since validators agree on a network-wide reference price at the start of each epoch, you can use the reference price as a credible anchor when submitting transactions. Moreover, the price setting mechanism rewards good validator behavior, thus aligning incentives between IOTA token holders, the network's operators (validators), and its users.
Expand Down Expand Up @@ -45,3 +48,6 @@ Overall, when you submit transactions with computation gas prices at or close to
After IOTA enables horizontal scaling, validators can add more workers as demand for on-chain activity scales. This increases their costs linearly at the same pace of network activity and lets them process more transactions at the same low gas prices. In cases of extreme network congestion where validators cannot scale fast enough, the tip presence provides a market-based congestion pricing mechanism that discourages further demand spikes by increasing the cost of transacting on the IOTA platform.

In the long run, the IOTA gas price mechanism creates incentives for validators to optimize their hardware and operations. Validators that invest in becoming more efficient are able to honor lower gas prices and obtain a stake reward boost. IOTA validators are thus encouraged to innovate and improve the experience of end users.

## Quizzes
<Quiz questions={questions} />
10 changes: 8 additions & 2 deletions docs/content/about-iota/tokenomics/iota-token.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
---
title: IOTA Token
description: The native asset on IOTA is called IOTA.
description: The native asset on IOTA is called IOTA.
---

The native asset on IOTA is called IOTA.
import Quiz from '@site/src/components/Quiz';
import {questions} from '../../../site/static/json/about-iota/tokenomics/iota-token.json';

The native asset on IOTA is called IOTA.

At the launch of IOTA Rebased, **4,600,000,000** IOTA tokens were migrated from the previous network called Stardust.
There is no maximum supply of IOTA - the total supply will fluctuate over time according to the combination of a given inflation rate and the burning of fees.
Expand All @@ -24,3 +27,6 @@ The IOTA token serves four purposes on the IOTA network:
The tokenomics must support all economic activities to scale as more and more people migrate to the IOTA platform. In addition, the presence of storage deposits creates important monetary dynamics, reducing the amount of IOTA in circulation.

All original IOTA Tokens are represented as a `0x2::iota::IOTA` type of object on IOTA Rebased, accessible on the same (Hex format) addresses from the Stardust based network. No manual migration is needed to access these tokens.

## Quizzes
<Quiz questions={questions} />
6 changes: 6 additions & 0 deletions docs/content/about-iota/tokenomics/proof-of-stake.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
title: Proof of Stake
---

import Quiz from '@site/src/components/Quiz';
import {questions} from '../../../site/static/json/about-iota/tokenomics/proof-of-stake.json';

The IOTA platform relies on delegated proof-of-stake (DPoS) to determine the set of validators that process transactions.

## IOTA token staking
Expand Down Expand Up @@ -60,3 +63,6 @@ Consequently, the IOTA gas price mechanism and DPoS system encourages a healthy
## IOTA incentives

The IOTA economic model bestows IOTA users with an important monitoring role. On the one hand, users want their transactions processed as quickly and efficiently as possible. User clients, such as wallets, encourage this by prioritizing communication with the most responsive validators. Such efficient operations are compensated with boosted rewards relative to less responsive validators. On the other hand, IOTA token stakers receive the same boosted or penalized rewards as their selected validator. An unresponsive validator is thus doubly exposed to IOTA incentives: they lose directly through slashed rewards and indirectly through reduced user stake in future epochs as stakers move their tokens to more responsive validators.

## Quizzes
<Quiz questions={questions} />
6 changes: 6 additions & 0 deletions docs/content/about-iota/tokenomics/staking-unstaking.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ title: Staking and Unstaking
description: Staking and unstaking IOTA with validators earns a percentage of rewards they receive from gas fees.
---

import Quiz from '@site/src/components/Quiz';
import {questions} from '../../../site/static/json/about-iota/tokenomics/staking-unstaking.json';

IOTA uses a Delegated-Proof-of-Stake (DPoS) system to secure and operate the network, meaning that the voting power of a validator in the network is determined by the amount of stake delegated to them by IOTA token holders. The more stake delegated to a validator, the more voting power they have. In exchange for processing transactions and performing consensus, validators earn rewards based on a given IOTA inflation rate. These rewards are then shared among stakers as staking rewards.

## Staking
Expand All @@ -23,3 +26,6 @@ When you stake on IOTA, you have to choose a specific validator you would like t
- Validator performance: a validator with bad performance might be punished according to the [tallying rule](./gas-pricing.mdx#computation-gas-prices). Punished validators receive only a fraction of staking rewards for the epoch during which they are punished, and you also will receive a fraction of that epoch's rewards when you withdraw your stake from that validator.

IOTA-compatible crypto wallets and explorers typically provide validator information such as commission and APY. See the respective documentation for these tools for information on how to retrieve this data.

## Quizzes
<Quiz questions={questions} />
6 changes: 6 additions & 0 deletions docs/content/about-iota/tokenomics/tokenomics.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
title: IOTA Tokenomics
---

import Quiz from '@site/src/components/Quiz';
import {questions} from '../../../site/static/json/about-iota/tokenomics/tokenomics.json';

The collective ideation that the term tokenomics encompasses includes a wide range of concepts that define the science and behavior of blockchain economies. In basic terms, tokenomics are the financial foundation of blockchains. Much the same way a building with a poor foundation is doomed to fail, a blockchain without a well-researched, extensively planned, and painstakingly implemented token economy eventually crumbles.

IOTA tokenomics are based on sound financial concepts informed by extensive blockchain research. Designed for scale, the IOTA tokenomics structure is designed to support the financial needs of web3 now and into the future.
Expand Down Expand Up @@ -30,3 +33,6 @@ The IOTA economy is composed of four core components:
The following flowchart presents the tokenomic flow of IOTA at a high level. Referring back to this chart after you learn concepts in this section should provide additional clarity.

![IOTA tokenomics flow](/img/about-iota/tokenomics/iota-tokenomics-flow.png "Flowchart showing the tokenomics structure.")

## Quizzes
<Quiz questions={questions} />
5 changes: 5 additions & 0 deletions docs/content/about-iota/tokenomics/validators-staking.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: Validators and Staking Pools
---

import StakingPoolReqs from "../../_snippets/staking-pool-reqs.mdx";
import Quiz from '@site/src/components/Quiz';
import {questions} from '../../../site/static/json/about-iota/tokenomics/validators-staking.json';

Each IOTA validator maintains its own staking pool to track the amount of stake and to compound staking rewards. Validator pools operate together with a time series of exchange rates that are computed at each epoch boundary. These exchange rates determine the amount of IOTA tokens that each past IOTA staker can withdraw in the future. Importantly, the exchange rates increase as more rewards are deposited into a staking pool and the longer an amount of IOTA is deposited in a staking pool, the more rewards it will accrue.

Expand All @@ -22,3 +24,6 @@ $$
$rewards(i, E)$ is then adjusted to consider potential slashed validators who have not met minimum quality requirements. Additionally, validators earn commissions on the staking pool's tokens. IOTA keeps track of the rewards accrued by both validators and delegators using a single global exchange rate table.

<StakingPoolReqs />

## Quizzes
<Quiz questions={questions} />
33 changes: 33 additions & 0 deletions docs/site/static/json/about-iota/tokenomics/gas-in-iota.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"questions": [
{
"questionText": "What components make up the total gas fees in an IOTA transaction?",
"answerOptions": [
{ "answerText": "Computation units and transaction time.", "isCorrect": false },
{ "answerText": "Computation units and gas price.", "isCorrect": false },
{ "answerText": "Computation units and storage units.", "isCorrect": true },
{ "answerText": "Storage units and network traffic.", "isCorrect": false }
]
},
{
"questionText": "What happens to storage fees when data is deleted in an IOTA transaction?",
"answerOptions": [
{ "answerText": "The storage fee is partially rebated.", "isCorrect": false },
{ "answerText": "The storage fee is fully rebated.", "isCorrect": true },
{ "answerText": "The storage fee increases with every deletion.", "isCorrect": false },
{ "answerText": "There is no rebate for storage fees", "isCorrect": false }
]
},
{
"questionText": "Why does IOTA use a bucketing approach for computation units?",
"answerOptions": [
{ "answerText": "To discourage validators from optimizing smart contracts.", "isCorrect": false },
{ "answerText": "To simplify gas cost calculations and avoid marginal gas cost optimizations.", "isCorrect": true },
{ "answerText": "To reduce the computational load on validators.", "isCorrect": false },
{ "answerText": "To increase the complexity of transactions.", "isCorrect": false }
]
}
]
}


32 changes: 32 additions & 0 deletions docs/site/static/json/about-iota/tokenomics/gas-pricing.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"questions": [
{
"questionText": "What are the two types of gas prices that make up IOTA gas fees?",
"answerOptions": [
{ "answerText": "Reference price and storage price.", "isCorrect": false },
{ "answerText": "Computation price and storage price.", "isCorrect": true },
{ "answerText": "Computation price and reference price.", "isCorrect": false },
{ "answerText": "Storage price and validator price.", "isCorrect": false }
]
},
{
"questionText": "What is the purpose of the tallying rule in the IOTA gas pricing mechanism?",
"answerOptions": [
{ "answerText": "To survey validators for their gas prices.", "isCorrect": false },
{ "answerText": "To incentivize validators to honor the reference gas price.", "isCorrect": true },
{ "answerText": "To set the storage price across the network.", "isCorrect": false },
{ "answerText": "To increase the gas price during congestion.", "isCorrect": false }
]
},
{
"questionText": "How does the IOTA gas pricing mechanism ensure low, predictable fees?",
"answerOptions": [
{ "answerText": "By allowing users to submit arbitrary gas prices.", "isCorrect": false },
{ "answerText": "By setting a fixed gas price per transaction.", "isCorrect": false },
{ "answerText": "By surveying validators and encouraging healthy competition through incentives.", "isCorrect": true },
{ "answerText": "By removing tips from transaction pricing.", "isCorrect": false }
]
}
]
}

32 changes: 32 additions & 0 deletions docs/site/static/json/about-iota/tokenomics/iota-token.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"questions": [
{
"questionText": "How many IOTA tokens were migrated from the Stardust network during the IOTA Rebased launch?",
"answerOptions": [
{ "answerText": "1,000,000,000", "isCorrect": false },
{ "answerText": "4,600,000,000", "isCorrect": true },
{ "answerText": "5,000,000,000", "isCorrect": false },
{ "answerText": "2,500,000,000", "isCorrect": false }
]
},
{
"questionText": "What is one of the key purposes of IOTA tokens in governance?",
"answerOptions": [
{ "answerText": "They are used to mint new tokens.", "isCorrect": false },
{ "answerText": "They grant the right to participate in on-chain voting.", "isCorrect": true },
{ "answerText": "They allow users to store more data.", "isCorrect": false },
{ "answerText": "They reduce gas fees for transactions.", "isCorrect": false }
]
},
{
"questionText": "How did the number of decimals for the IOTA token change after the Rebased release?",
"answerOptions": [
{ "answerText": "From 4 to 9 decimals", "isCorrect": false },
{ "answerText": "From 3 to 6 decimals", "isCorrect": false },
{ "answerText": "From 6 to 9 decimals", "isCorrect": true },
{ "answerText": "From 9 to 12 decimals", "isCorrect": false }
]
}
]
}

34 changes: 34 additions & 0 deletions docs/site/static/json/about-iota/tokenomics/proof-of-stake.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"questions": [
{
"questionText": "What mechanism does IOTA use to determine the set of validators that process transactions?",
"answerOptions": [
{ "answerText": "Proof of Work.", "isCorrect": false },
{ "answerText": "Delegated Proof of Stake (DPoS).", "isCorrect": true },
{ "answerText": "Proof of Authority.", "isCorrect": false },
{ "answerText": "Proof of Space.", "isCorrect": false }
]
},
{
"questionText": "How long are IOTA tokens locked in the staking process?",
"answerOptions": [
{ "answerText": "For a fixed period of 1 month.", "isCorrect": false },
{ "answerText": "For the entire epoch.", "isCorrect": true },
{ "answerText": "Until the validator processes a transaction.", "isCorrect": false },
{ "answerText": "For one day.", "isCorrect": false }
]
},
{
"questionText": "How are validator rewards distributed in the IOTA DPoS system?",
"answerOptions": [
{ "answerText": "Validators keep all rewards.", "isCorrect": false },
{ "answerText": "Validators share rewards proportionally with stakers after taking a commission.", "isCorrect": true },
{ "answerText": "Rewards are distributed equally among all validators.", "isCorrect": false },
{ "answerText": "Rewards are only given to validators who perform the most transactions", "isCorrect": false }
]
}
]
}



Loading

0 comments on commit 26f0e0f

Please sign in to comment.