NEM Symbol Launch - Early Block Harvesting & Rewards

All,

There is a subject that we need to discuss as a community to ensure it occurs in a fair manner while maintaining security in the early blocks after Symbol launch: how early block harvesting should work.

There will be a few similar posts over the next few days on different subjects, I will add each to the Single Source of Truth post as they go up, for easy reference.

Summary:

  • At Symbol startup, it will take a small amount of time to get everyone’s nodes online and slighly longer to get the first round of voting nodes online

  • As a result, the early blocks would be harvested by relatively fewer people, so earnings will be disproportionately higher if we don’t do something

  • We think setting block rewards to 0 for first 120 blocks and not Voting Node payments for first Finality Epoch (720 blocks) is fairest but want input.

The Challenge:

When Symbol starts, the initial nodes are likely to be the Core Developers, NEM Core Team and NEM Group’s for a few minutes/hours until community nodes download configs and come online etc. Just due to coordination and it taking some time after network launch and configs are made available for nodes to start, download and general join the network.

This time will be reduced as much as is possible and details will be published as soon/early as possible to get more nodes on the network, but it will take at least a few minutes for people to bring nodes up, download images, sync etc

Additionally, Finality starting relies on having configured nodes selected to act in the Voting Group, or it won’t start. Once the first set of nodes are selected, it will take 1 epoch (720 blocks or ~6 hours) before they change. So the first voting nodes online after block 1 will be in the group for ~6 hours.

This means any harvesting, voting or other payments in the early blocks will be shared among a smaller group of nodes than later ones, just because it takes time to bring them all online. Many of those nodes will be run by a small group of people.

Recommendation

Our recommended approach is to remove rewards for those early blocks and pay them out in later blocks. This would work by:

  • Block Rewards: Set the first 120 blocks to have no block rewards; giving ~1 hour to bring nodes online and for people to delegate to the nodes.

  • Finality/Voting: The first Finality epoch paying no Voting Payment or Supernode Payments, the tokens would be paid in the second epoch - effectively doubling the second epoch payouts.

  • Transaction Fees Any fees that NEM Group, NEM Core Team or Core Developers nodes earn in the first 100 blocks are put into the SuperNode fund for redistribution as soon as practical (may take a week or two to organise).

The reason for this is that it gives everyone in the community time to bring nodes online and no unfair distribution of early block earnings - essentially it democratises those payments over anyone running a node after 1 hour and running a Supernode. However it allows easier co-ordination to ensure the network starts correctly and when nodes join that things like Finality are working already.

This is an open discussion and call for input, if we have missed anything, it doesn’t sound fair, there is a better option, then please do contribute, it is intended to start the conversation.

11 Likes

Hello.
I think they are great policies.

But I may not understand it well.
Why is it an hour?
Is 2 hours, 3 hours, or 6 hours not good?

In any case, I would like more room to prepare.

2 Likes

Thanks,

Sorry, actually there is a typo in the original post (I will fix it shortly)

  • 30 secs per block
  • 1 hour would be 120 blocks

There is no reason it couldn’t be a different amount of time, 1 hour was just a round number. Creating and synchronising new nodes on a very light chain is quick so 1 hour seemed long enough but if people think it should be longer, it can also be longer.

4 Likes

OK, thank you for your answer.
I will try to adjust myself to witness the historic moments.:raised_hands:

1 Like

Not everybody lives in the same timezone and somewhere it will be night when the launch is happening.
If it is however possible to set up the nodes beforehand so they would join the network when it is up, then that would be fine.

2 Likes

My first thought also, was why not bring the nodes up first so that they could become active from the first block?

1 Like

I really like the proposal and for me it shows again that the NEM team and especially core devs are really thinking first, what helps the NEM community.
Chapeau!

I also hope that those on the forum who bring up the topic “no longer trust” in NEM because of not announcing final launch date read that proposal and try to understand it.

As also mentioned by others,
Might there be, technically spoke, a chance to set-up nodes upfront?

But I am also fine with the original proposal.

1 Like

Thanks for the input so far all, the idea of bringing nodes online ahead of launch we have already been giving some thought to.

I will come back on this one in a few days on these, it needs some thought and testing, just didn’t want silence to appear like they were noticed.

1 Like

For the sake of contrary argument, what is the harm in providing full rewards in the first hour - especially when the NEM team is forfeiting anything they harvest so it cannot be said that they got an unfair advantage? I can appreciate the pursuit of fairness, but thinking back to NEM’s origins all those years ago, distribution was a tiered first come first served model. I see no harm in rewarding the earliest adopters, and the inflationary impact of 120 block rewards is negligible. Is a one hour window really worth the change to the block reward mechanism? Why not 6 or 12 hours to make it fair across all time zones, or even a week to give stragglers a fair chance? I certainly won’t be harvesting within the first hour, and I applaud those who are - why not reward the most motivated Nembers?

I’m 50% 50% on that matter.
From one side @zachamo has right but from the other side
if the NLG insists on fairness then i think the timeframe should be longer to allow all timezones.
Of course it is wise to check if such setup will require more technical changes and could pose
a security risk to the newly created block chain.

The decision should be wisely taken as when regarding NEM all decisions taken were causing lot of drama and price volatility an usually is hunting you for years to come.
Maybe putting this to vote would be the best option.

I want 24 hours if possible.

3 Likes

Thanks everyone for your input so far.

I am interested to hear more opinions and thoughts, there is no single right answer to this one.

I’ll leave it running for a few more days and then digest and see what the plan is.

A vote is a good way to answer it, input here is useful to make sure it is asked correctly if we do run one.

3 Likes

General Approach

Current thinking on this approach - and I’m interested in further input on it please, it is not yet fully decided is:

  • Disable block rewards for 24 hours (double the rewards up on second day)

  • Add a feature to bootstrap to allow nodes to be configured ahead of launch and then poll a known location for the genesis info, when it is found, download and start the node

  • Early node and Ecosystem Node bonus programmes will only be open to those people who have their nodes online in the first 24 hours

  • Supernode and voting rewards will start from day 2 to match block rewards

Some of these are from above, so thankyou to those who have suggested them

Finality & Harvesting Considerations

It is likely that the voting nodes in the first epoch will be Core and NGL nodes in order to ensure that Finality starts and continues running past the first epoch. As SuperNodes come online in the first few epochs, they will gradually enter the voting groups.

This is primarily a technical co-ordination challenge, but there is also a risk that if other nodes are allowed to register for voting before the network starts and then do not join in the first epoch, that finality will be unable to start, and will then never start - due to needing 67% voting power online for the epoch to work correctly

Harvesting will be possible from as soon as any nodes come online, harvesting in this sense will be block production and any transaction fees but not block rewards

Rewards will be disabled for the first 4 epochs (24 hours) so it has no impact on reward payments, but it does make the finality start-up process more robust.

I am interested in people’s thoughts and reactions to the above options, as I say, this is still a discussion and we are looking at options with the Core Devs and Test teams just now for how to do this in the most open, reliable, secure and low risk way.

6 Likes

It looks good to me.

1 Like

One of those:

But I’m afraid the first one would be an easy target for attackers.