You say that 25% of all the neon will be given to active nodes over 4 years. How can the client detect which nodes are active?
This can never by verified by all nodes because all nodes cannot be in connection with each other all the time. Even if you managed to make 100000 nodes connect to each other new nodes would have to trust older nodes. Doing this centralized is not possible.
Can you tell me how you have solved this problem? Will everyone have to place their trust into a decentralized entity who will dictate between whom the node reward is distributed?
The ability to reward fees to nodes for the protection they give to the network would be the best idea ever. Unfortunatly this is not possible and that is the reason why it hasn't been done before.