It’s just an idea I had before I drifted to sleep. It would reduce the dependency on centralized services such as Cloudflare, Netlify or Fleek and allow dapps to pay for trustless infrastructure directly on-chain.
Data Nodes stake an amount of some token, and they can receive penalties for being offline or too slow as measured by the Liveness Committee.
Data Nodes are paid by the dapp via the Protocol for hosting their frontend. Different dapps may require higher stakes, or maybe one stake can be used to ensure many different dapps.
Registering as a Data Node should lock up funds for a minimum time period (maybe 2 weeks?). Deregistering would unlock the funds after this minimum time period has ended, but during that time it would make the Data Node ineligible for rewards and ineligible for penalties as well.
The Liveness Committee is a group of semi-trusted entities who are responsible for measuring the performance of Data Nodes. Once in a while, a Liveness Committee member will measure a random node’s performance (perhaps using a proxy or VPN)
If the Data Node is measured as being too slow (>2000ms ping, perhaps) or offline by a majority of the Liveness Committee, they receive a penalty, which increases exponentially as more LC tests are failed in a period of 1 month, and are barred from receiving rewards for the next 48 hours.
After a failed test, a node cannot be tested again until 24 hours later to prevent a colluding committee from causing too much damage.
This relies on a Committee test being indistinguishable from regular users. It would be easily noticeable if all the members of the Liveness Committee attempt to fetch chunks from that specific node at the same time, as it would appear as an unusual burst of traffic. Because of this, the Committee members should coordinate to test the node at different intervals.
The penalties should be sent to the DAO, so that bad incentives are not created by, for example, sending the penalties to the Committee. Committee members are paid a fixed salary by the DAO for their services and may stake a large amount, which can be slashed for bad behavior.
If the system is functioning perfectly, the DAO should not need to intervene in any situations. However, if the Liveness Committee is malicious and punishes honest nodes, then the DAO may vote to refund all Data Nodes affected, fire the Liveness Committee and slash their stakes (if applicable).
The DAO should have the power to:
Replace Liveness Committee members
Pause the protocol temporarily
Manage the protocol treasury
Change the salary of the Liveness Committee
Change the penalty formula
Perform an emergency shutdown (unlock all stakes, refund clients and distribute treasury across DAO token holders)
If the DAO has been captured by an attacker, then a fork may be executed by community members. The protocols which use the Protocol, assuming they are rational and wish for the best quality of service, would switch to a fork and refuse to do business with the captured Protocol.