I will re-post my reply under another post here:
Thanks for detailed thoughts!
We know it’s controversial, that’s why we have been discussing it for a long time. The feature was implemented two years ago before mainnet was launched, but we have never enabled it until absolute necessary for network security.
Although the generate ID fee is called fee, it’s essential not a fee. All the “fee” will be deposited into MBA address and increase long term block reward. Let’s see some examples:
- Let’s assume there are 100k nodes in the network, each paid 10 NKN generate ID fee. So the MBA address pool has 1M NKN. If all nodes stay in the network forever, and no new node joins, then each node will eventually get back 10 NKN more mining reward on average.
- In a more realistic case, let’s say some nodes left, some more come, but the network size is still 100k nodes, and the MBA address pool has 2M NKN. Then nodes who stay in the network will eventually get about 20 NKN on average. This encourages long term miners which is exactly what we want.
You have thought a lot about miner’s convenience, but probably not from network security’s perspective. It a blockchain is not secure enough (i.e. attackers can gain unfair mining advantage by ID sybil attack), mining is meaningless for honest miners. As we have seen recent attempt to attack the network, this mechanism needs to be enabled ASAP before some attacker can successfully perform the attack and get most (if not all) mining rewards.
IMO this is an inevitable trend in public blockchain. PoW and PoS are the only two batte-tested category that can make a public blockchain safe, and many PoW chain are moving towards PoS (Ethereum for example) for better security, better performance and less resource consumption. Although NKN is using PoW-like relay for reward, such relay is not intended to saturate all your network or any other kind of resources, so it’s not enough for security alone. That’s why some kind of staking, fee, etc is necessary for network security. After all, security is the top priority for any blockchain.
Among all the similar proposals, the current generate ID mechanism has the lowest entrance barrier. Staking (NKP-0022), for example, requires a significant higher amount of NKN (usually 10x or 100x) in order to reach the same security level.
I know currently it’s not very convenient to purchase mainnet NKN for most people, but for the long terms things will be better:
- Many Ethereum scaling solution are working hard to lower Ethereum txn cost
- The ERC20->NKN swap system will basically be open almost all the time
- More exchange might support NKN mainnet token in the future
Eventually generate ID it will become as simple as nknx fast deploy, and it pays back in mining reward over the long term.