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.
IP address is not a key element of my design, so I am not focusing it.The gatherer nodes don't represent any group of users and they are usually a piece of code running on the client applications owned by a provider (miner). So the gaterers are not rewarded during the accumulative process. The main purpose of a miner is to capture voting signals with those subordinate nodes.