Solution to the problem of the initial rate of id generation

Possible solution for the initial ID generation fee

First of all, I would like to thank the NKN team for thinking about network security, I am grateful to be part of this revolution.

With the new update, we can see that the dissatisfaction among all miners is evident. This new update is supposed to solve the security problem, but creates several other problems.

Will miners have to be twice as lucky?

Currently the algorithm chooses nodes mainly for ping and connectivity with its neighbors, but we know that not all nodes are always “successful” and this is normal, everything is fine.

The biggest problem

There is no certainty that this fee paid initially will return to the miner who paid it. It is very likely that this fee will return to some lucky miner, and the miner who paid it will have to rely on luck.

We know that luck is not kind to all of us, right?

Big bad consequences could become reality due to this detail:

  1. Poor distribution of fees between nodes
  2. Miners unhappy with profitability, and many will abandon the project for lack of financial incentive.
  3. Many miners will see little percentage of the fee paid initially due to bad luck

So I propose a fair update on behalf of all the miners :grinning:

The update will be deployed normally, this update is to correct security flaws and this is completely correct. But this update should have some changes, including:

  1. The initial fee for generating a new ID must be returned to the address of the beneficiary who paid for it.
  2. The return of the initial fee to the address of the beneficiary who paid it will be mandatory.
  3. The initial fee will be returned to the beneficiary’s wallet little by little within 30 to 40 days
    3.1. Example: 10/30 = 0.33 a day or 10/40 = 0.25 a day (per node)…

There are several benefits to this decision:

  1. Better distribution of initial fees
  2. Miners will be satisfied, with a lot of luck or little.
  3. It is a fairer and more appropriate distribution
  4. This decision does not hinder network security
  5. The network will become more secure, and miners will continue to be motivated to create new nodes.
  6. It will encourage long-term miners, because the fees paid will return to the beneficiary’s wallet in 30 to 40 days.

What do you think @zbruceli and @yilun ?

Thanks for your detailed thoughts!

So I think your proposal is basically staking. The only difference is that, the stake is returned to miner over a period of time. However, this proposal has the same disadvantage as staking security-wise:

Let’s say I’m an attacker who is trying to perform sybil attack or eclipse attack. (It’s OK if you don’t know the details about these attacks, but you just need to know one thing: attacker needs to generate a lot of ID he needs.) Then I will do the following: I just need to have or buy some NKN token initially. Then I use all those token to generate ID, wait for those token to come back, then use those token again to generate more ID. I can generate as many ID as I want given enough time, without contributing to the network at all. Before I want to actually perform the attack, I can sell all those tokens so I don’t even have anything to lose.

Now let’s compute the attack cost: since all token come back eventually, the only cost is the opportunity cost of the token used to generate ID (you can think of it as how much can I earn if I deposit those token into a saving account). If the returning/staking period is 1 month, let’s assume the opportunity cost is 1% for that 1 month (which is already way higher than most saving account). In order for the cost of an ID to be the same as current value (10 NKN), the staking amount needs to be 10/0.01 = 1000 NKN per node! This means it would take 100 million NKN to stake all (~100k) nodes in the current network, and the network can never reach 1m nodes given 1b max supply.

The core difference between staking proposal and the current mechanism is that, in the staking proposal, generate ID is a pure financial mechanism and is completely separated from mining, anyone who has money can get back the fee he paid, and a generated ID does not need to participate in mining in order to get fee back. But in the current mechanism, only miner can get back the fee he paid, so attacker has to spend a significant more amount of token to generate ID, or has to contribute a large amount of nodes into the network (same number as the ID he generates) for years before he can get the fee back. That’s why the current mechanism can make the network a lot more secure using a much lower fee.

Another technical concerns worth mentioning: refund a small amount of token per block will give HUGE pressure to nodes because for each block, a node needs to scan around 120k blocks (assuming 30 day period), and I don’t think it’s even feasible with the current data structure. It will also create a lot more states in the database, making the ChainDB even larger.

1 Like

For a future honest miner things get complicated. By bad luck I discover Nkn in this situation, I planned a few days ago to launch 100 nodes, today I have to invest 500$ apart from the VPS to do it. I think I’m going to rethink this!
Moreover I have the feeling that the management doesn’t care about the miners community!

1 Like

On the contrary, we made this decision because we want network to be more secure and miners to get more fair mining rewards. This change will make the network much more secure, and no one will benefit from the generate ID fee pool except miners.

I understand your point of view, why NKN miners will earn more than other crypto, it must be balanced . Security is always an argument to make firm decisions!
But you should also know that there are announcements that help a project to develop and stand out from the crowd and announcements that divide the community and their motivation.
If I want to mine a corner it’s because I want to be profitable, profitability motivates and enlarges the community, the ideas and the solutions…
Otherwise I hold I do not mine and I do not register on a forum and I lose hours… here it is :slight_smile:

1 Like