There are massive spamming generate ID txn in the network and over a million ID has been generated so far. In the current mechanism, once an ID is generated, it is permanent and will use up some space not only in the block history, but also in account state.
We propose a mechanism such that a generated ID will be removed if the mining account is inactive for a period of time (e.g. a few months). A mining account is
active if it generates an ID or mines a block. Once an ID is removed, it will be removed from state and will reduce state size (thus db size). The account needs to generate ID again and the new ID will be different from the previous one.
This proposal, combined with the state pruning mechanism we are working on, will reduce chain db size by removing empty account. If we implement both this proposal and [NKP-0014] Use PoW to prevent generate ID txn spam, then it shouldn’t bring much trouble to normal miners because if they haven’t mined for quite a long time and ID has been removed, then they just need to wait for a couple more minutes before re-joining the network.
Note: this proposal will not affect non-miner account since only miner account will generate ID.