AIP: 21 Title: Incentivize Relays (aka. ARK Masternode) Authors: galperins4 Status: Draft / Open Discussion Type: Standards Track Category: Core/Protocol Created: *2018-09-29* Last Update: *2018-09-30*
Status: Draft / Open Discussion
This AIP proposes the creation of ARK Masternodes
With the current version of the ARK protocol the only nodes that are incentivized are Forging nodes. As such, there is no significant support outside of delegates to maintain a strong relay network to further decentralize and create and more resilient ARK network. This AIP proposes the following:
- Establishment of a new incentivized relay type (e.g., Ark Masternode)
- Change to block rewards to support ARK Masternodes
- Mechanism to check ARK Masternodes for performance
- Mechanism to reward ARK Masternodes
Type 9 (masternode registration, 1-256 bytes)
Description | Size (bytes) | Example |
---|---|---|
length | 1 | 0x80 (minimum 0x03) |
username (utf8) | 3-255 | 0x6669786372797074 |
- Masternodes will have a similar registration process as a delegate. The main difference is that there is a collateral requirement to run a masternode. To have a successful registration it is required that the account registering maintain the minimum collateral requirement.
- If the minimum collateral is not in the account at time of registration, the transaction will fail.
- The initial collateral requirements is proposed to be 2000 ark (which can be staked).
- A Type 9 transaction will cost 1 ARK. This means a balance of 2001 ark will need to be in the account at time of the registration transaction.
- Block rewards need to be adjusted to provide funding to masternode owners.
- Two possible suggestions: Increase block rewards to 2.2 (an increase of 10%) or reduce delegate share of block rewards to 1.8 (to maintain 2 ARK blocks).
- Masternode rewards per block initially set at 10& of current rewards (0.2) and a new database field (mn_reward) will be needed.
- Masternode rewards will be sent to the ARK masternode address after each block is created.
- New transaction type will need to be handled by the Ark Wallet.
- New "configure" relay option will need to be created to link the relay node to the masternode account.
- Same options used for configuring forger node and protection of passphrase would apply.
- Masternode setup would also automatically set up arkstats on relay node.
- Similar to forging rounds, a masternode round will need to be created to identify slots of randomized masternode accounts.
- The round will not be limited to x masternodes. It will vary depending on the amount of qualified/registered masternodes.
- The round size will be determined by the # of masternodes where collateral in account >= requirement (2000ark).
- Similar to forging, nodes will need to cycle through each round of masternodes concurrently with forgers.
- The same algorithm that decides if a forger can forge can be leveraged to determine if the masternode in the slot is eligible and can be awarded the masternode reward.
- 10,800 blocks (assuming perfect 8 second blocks in 24 hours) are created each day.
- Maximum rewards for masternodes will be 0.2 X 10,800 = 2,160 ark per day.
- Rewards will be distributed each block to the eligible masternode.
- For example, if there are 500 masternodes eligible for payment, they will get an equal share of 0.2 per round. At a constant round of 500 that would equal approximately 4.32 ARK a day.
- At current prices, this would reward each relay owner with approximately 130 ark per month (~90$ USD) which should be profitable to maintain a reliable relay node at most VPS providers.
- Masternode distribution would need to be on a n+1 block basis. This is to avoid awarding a masternode award to a relay in the same round that a forger fails to forge (e.g., reward never exists). Mechanically it would look like this:
- 2 rounds are in progress. Forging round is 51 delegates and Masternode round is 500 delegates.
- slot 1 of forging is at the same time as slot 50 of masternodes. Delegate successfully forges. Block reward with first masternode reward is forged.
- slot 2 of forging is at the same time as slot 51 of masternodes. Delegate successfully forges, and masternode 51 passes checks and is awarded reward from slot 1.
- slot 3 of forging is at the same time as slot 52 of masternodes. Delegate misses block, and masternode 52 passes checks as is awared reward from slot 2.
- slot 4 of forging is at the same time as slot 53 of masternodes. Delegate successfully forges, and masternode 53 passes check, but not reward available due to prior block not being forged by delegate in slot 3.