In the same spirit as @pedro 's log for nix, I will try to keep regular updates on the progress for the network incentivisation swarm.
Currently we are at the point where we have a proof of concept of the contract we would like to use: GitHub - status-im/network-incentivisation . This allows nodes to register and votes on other nodes, and the contract will handle membership.
An earlier version of the contract is already used in status-react Add reading nodes from contract by cammellos · Pull Request #7869 · status-im/status-mobile · GitHub to fetch the initial bootnodes/static nodes/mailservers.
The plan towards an implementation is to have a simple end-to-end implementation and iterate over that, slicing the planning horizontally rather than vertically.
Currently we have a simple enough contract that is usable, and we are now focusing on service nodes.
Upon start up a node will:
- register (or check if it is registered) with the contract (already implemented)
- it will post a ping on a whisper channel advertising it’s address (already implemented), which can also be used as a mean of discovery (not for bootstrapping clearly)
- it will check that other nodes in the contract do the same (already implemented)
- it will report periodically to the contract and get rewarded if has passed these checks
The plan for this week is to have the nodes report to the contract on the result of the ping checks and be rewarded. Ideally by the end of the week we will be able to have some docker-images that anyone can spin up and they will be registering with the contract, start servicing and get rewarded if behaving correctly.
Once this step is done we will likely focus on improving some of the parts, so adding better checks, better rewarding system, hardening the contract against sybil attack or adding a way for user of the app to contribute to the SNT pool of the contract, but that’s still to be defined.
Research notes here: https://docs.google.com/document/d/10ZVIkYkM8_YwpEbxLX05pIcL8ISuZZvDPV6L_t27xgw/edit#heading=h.b9h1jmb28d8t