This is somewhat similar to a "Proof of Node" concept I was working on years ago. One thing you might want to consider is forgetting the idea of using IP address and instead adding a "Relayed by" address to each wallet. The longer a node is active, the more reward is given. Also running a full node would add multiplier.