Idena hard fork announcement: Mining rewards based on Quadratic staking
Dear Idena community,
We plan to release a new version of the Idena node on August 23, 2022
This will be a hard fork that includes the following changes.
1. IIP-5Change the block reward distribution so that instead of a fixed mining reward, the block proposer and block validators are paid in proportion to their stake to the power of 0.9. The proposed change affects only mining rewards distribution and does not affect the consensus mechanism, which implies equality of votes when verifying blocks according to the principle: one node = one vote.
- Increasing the number of validating nodes
- Increasing the yield of Quadratic staking through the additional mining rewards that can be earned by running the Idena node
- Amplifying the positive effects of Quadratic staking described in IIP-4
- Reducing mining rewards of pools which do not replenish the stakes of their accounts
2. Disable “kill invitee” transactions for NewbiesTermination of an invited user with Newbie status will be disabled. At the same time, termination of an address with the Invite or Candidate status remains possible.
Until now, the inviter could terminate a validated invitee with the Newbie status if they did not plan to come to the upcoming validation. Thus, the inviter could take 1/6 of the stake and compensate for the loss of the invitation rewards. After the introduction of stake replenishment, this feature may be used fraudulently.
Termination of Invite and Candidate remains possible as it still prevents the sale of invitations.
3. Oracle voting changesSeveral changes will be made to the Oracle voting smart contract.
1. Owner deposit
As before, to launch an Oracle voting, you must deposit some amount of iDNA which depends on the specified committee size. After these changes you won’t need to set up the Owner fee to get it back. The Owner deposit size will be calculated automatically and will always be refunded to the Oracle owner address.
Owner deposit prevents spam via the Oracle votes. However, to get the Owner deposit back the Owner fee = 100% was used. Now you don’t need to use the Owner fee for that purpose. The Owner deposit will automatically be returned to the owner address.
2. Oracle owner address parameter
For Oracle voting, you can specify the Owner address which can be different from the Oracle author’s address. The Owner deposit will be returned to the specified Owner address. By default, the Owner address is the address of the user who created the vote.
Creating, launching and funding votes can be done by different addresses. For example, the Oracle deposit can be sent from a multisig community wallet address. It can be specified as the Owner address to get coins refunded after the voting is finished. In addition the community wallet can collect the Owner fees when the Oracle rewards fund is provided by the community members.
3. Oracle rewards fund parameter
The Oracle rewards fund parameter will be introduced. This makes it possible to explicitly specify the amount of the Oracle rewards fund. The specified fund will be fully distributed to the oracles if there are enough coins on the smart contract balance.
- It’s not necessary to have the Oracle rewards fund deposited to launch the Oracle voting. Oracle rewards fund can be deposited even during the voting. Once the Oracle voting is finished there are two cases possible:
- If the Oracle rewards fund is not fully deposited, then all the available coins will be distributed to oracles
- If there are more coins than the Oracle rewards fund, then the fund will be fully distributed to oracles, and the excess will be distributed to oracles excluding the Owner fee. The Owner fee will be paid to the Oracle owner address.
An Oracle owner may earn a percentage of the collected oracle rewards that exceeds the specified amount of the Oracle rewards fund. This may happen in some of these cases:
- There are users supporting the process of specific voting who excessively contribute into the Oracle rewards fund
- There are other smart contracts that send coins to the Oracle voting smart contract
4. Early Oracle voting finishingWith the disclosure of 100% of the oracle votes, the Oracle voting contract can be finished without waiting for the end of the public voting period.
When moderating the ads if all the votes are revealed, then you can start your ad campaign faster.
5. Saving a hash of oracle launch parameters
The hash of the Oracle voting parameter values will be saved on-chain after the voting is terminated.
The consistency of the Oracle voting parameters that were used to start the voting can be verified by any client or smart contract even after the termination of the Oracle voting smart contract.
4. Bug fixes
The node stuck bug fix
Read more details here: github.com/idena-network/idena-go/issues/969
Accounts cleaning bug fix
For users with an undefined status caused by their validation failure or invite termination, the account profile containing ads will not be deleted. At the same time the profiles of the non-validated addresses that have been inactive during the last epoch will be deleted.
How the hard fork will be activated
- The new node version will support both the current blockchain protocol and the upcoming protocol changes.
- By running the new version of the node you vote for the upcoming protocol changes. By running the previous version of the node you vote against the protocol changes. To publish your vote you need to keep your Idena node online with the activated mining status during the hard fork voting period.
- The hard fork voting period starts on August 29th at 8 am UTC. The hard fork will be activated once the voting criteria is met. Otherwise, the hard fork update will be blocked on September 5th.
- The hard fork update will be activated only when more than 80% of the non-discriminated validators who run their nodes support the upcoming changes
- Newbie and delegated address votes are discriminated against and not counted. Pool owners are counted once.