On February 17 the users of PoolTogether became the governors of the protocol. As one of the core contributors I’m extremely excited to evolve the protocol as part of the community! However, there is one final step that needs to be taken in order to transition the current prize pools to being fully decentralized: decentralizing protocol operations.
The first operation that needs to be decentralized is the act of awarding the prize pools. Currently, all prize pools are weekly which means they can be awarded at most once per week. Anyone can trigger the award process, which consists of two transactions: startAward() and completeAward(). At current gas prices the two award transactions together cost about $1000 USD to execute. With four prize pools, that’s about $4000 per week. The awarding process is currently sponsored, but the sponsorship will not last forever.
What we need is to incentivize people to award.
Given that awarding prize pools is a core operation of the protocol, I think the simplest approach is to award the user with POOL tokens. The flow would look something like:
We deploy an “operations” contract that allows anyone to award a pool “through” the contract; in other words the user transacts with the operations contract which then transacts with a prize pool.
If the transaction is successful, then the user is given a certain amount of POOL tokens.
Governance would determine eligible operations and payout amounts per operation, and transfer POOL tokens to the contract for payouts.
Having a list of pools approved for operations also means that it would be easy to identify a “protocol pool” vs a “community pool”. Community pools are operated by third parties, while protocol pools are managed and operated by the protocol. In the future we can add additional benefits for protocol-operated pools.
I would love to hear everyone’s thoughts on this idea! This is one of the last steps towards decentralization.