Skip to content

Commit

Permalink
Parameterize Pool Stake
Browse files Browse the repository at this point in the history
  • Loading branch information
PhilippGackstatter committed Dec 14, 2023
1 parent 4bf2f67 commit 38b1803
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions tips/TIP-0040/tip-0040.md
Original file line number Diff line number Diff line change
Expand Up @@ -554,10 +554,10 @@ The following section specifies how to convert the slot-level data into epoch-le

- Let `Validator Stake(i)` be the amount of IOTA coins staked by the validator with Account ID `i`, i.e. the
`Staked Amount` in the _Staking Feature_ of the validator at the end of the registration slot.
- Let `Pool Stake` be the total amount of delegated and staked IOTA coins by the validator pool which was determined at
the time of the pool stake calculation, i.e. the end of the registration slot.
- Let `Total Stake` be the sum of all `Pool Stake` values, that is, the total amount of delegated and staked IOTA coins
in the selected committee.
- Let `Pool Stake(i)` be the total amount of delegated and staked IOTA coins by the validator pool `i`, identified by
the validator's `Account ID`, which was determined at the time of the pool stake calculation, i.e. the end of the
registration slot.
- Let `Total Stake` be the sum of all `Pool Stake(i)` where validator `i` is in the selected committee.
- Let `Total Validator Stake` be the sum of `Validator Stake(i)` for each validator `i` in the selected committee.

#### Calculations
Expand All @@ -567,8 +567,8 @@ The following section specifies how to convert the slot-level data into epoch-le
- `Final Reward` if `n > Bootstrapping Duration`.
- The Pool Reward `Pool Reward` for an epoch index `n`, and pool `i` is calculated as follows:
- Let `Pool Coefficient` be
`((Pool Stake << Pool Coefficient Exponent)/Total Stake) + (Validator Stake(i) << Pool Coefficient Exponent) / Total Validator Stake`.
- Since both `Pool Stake` and `Validator Stake(i)` use at most 53 bits of the variable, to not overflow the
`((Pool Stake(i) << Pool Coefficient Exponent)/Total Stake) + (Validator Stake(i) << Pool Coefficient Exponent) / Total Validator Stake`.
- Since both `Pool Stake(i)` and `Validator Stake(i)` use at most 53 bits of the variable, to not overflow the
calculation, `Pool Coefficient Exponent` must be at most 11. `Pool Coefficient` will then use at most
`Pool Coefficient Exponent + 1` bits.
- Take the `Epoch Performance Factor` for the whole epoch `n` according to
Expand Down

0 comments on commit 38b1803

Please sign in to comment.