TL;DR
We propose changing the tBTC reward calculation from a monthly to a daily (which we can extend to a seconds) eligibility model.
Background
Every few months, the core team releases a new version of the tBTC application, as seen in the release notes. Following each release, node operators are given a three-week upgrade window to remain eligible for rewards.
Currently, according to the reward script, a node operator must meet the following requirements to be eligible for rewards:
- Authorization of Random Beacon and tBTC app
- Minimum 500 pre-params in average
- Uptime ≥ 96%
- Eligible client build version
During the upgrade window, both the old and new client versions are eligible for rewards. Under the current monthly eligibility model, if a node operator misses just one day within the upgrade window, they forfeit the entire month’s rewards. This situation is particularly harsh and unfair to operators who might miss the deadline by a very short margin.
It is essential to highlight that this proposal is not intended to blame or punish node operators who may miss the upgrade deadline by a few days. Under the current monthly model, missing the deadline results in forfeiting an entire month’s rewards, which can be disproportionate and discouraging. The daily eligibility model will allow for a more forgiving system where minor delays in upgrading do not lead to significant losses in rewards. This change will support node operators in maintaining their participation and motivation to keep the network secure and up-to-date.
Proposal
We propose modifying the reward mechanism so that node operators’ eligibility is evaluated daily rather than monthly.
To ensure fairness, we also recommend reviewing past rewards eligibility and compensating node operators who may have missed out on rewards due to the previous strict monthly calculation model.
This proposal involves three key workstreams:
- Updating the Reward Calculation Script: Implement a pull request (PR) to change the reward calculation from a monthly to a daily basis.
- Calculating Retroactive Compensation: Review past releases over the historical data availability period (1 year at the moment) to identify affected node operators and calculate the difference in rewards they would have received under the new daily model.
- Reimburse node operators: If using monthly calculation scheme any node operator had lost some rewards while being eligible for rewards using new daily calculation scheme - then need to calculate the difference and reimburse such node operator during next calculation period.
For example, consider the following scenario:
- On May 1st, 2024, rewards are calculated for the month of April.
- A new version of the tBTC application was announced on April 4th, 2024, with a required upgrade by April 26th, 2024.
- StakingProvider1 and StakingProvider2 were fully compliant until April 26th, 2024.
- However, because they missed the upgrade deadline by a few days, they lost all of April’s rewards, resulting in an unfair situation where they received 0 T rewards.
Under our proposal, these node operators would be rewarded for the 25 days they were active. Their compensation would be calculated as (authorizedAmount * tBTCRewardRate * daysInDuty / daysInYear)
.
ineligible 5 days includes 26th of April
Rationale
Switching to a daily eligibility model ensures that node operators are consistently maintaining and updating their systems. This approach mitigates the risk of having outdated software running on the network, which can lead to potential vulnerabilities and reduced performance. The daily eligibility model will allow for a more forgiving system where minor delays in upgrading do not lead to significant losses in rewards. This change will support node operators in maintaining their participation and motivation to keep the network secure and up-to-date.
Historical Context
The community has seen several version announcements, such as:
This chart shows announcement of the releases might lead loss of rewards partially or fully depending on the announcement date.