PSP-EPΔ06: Epoch 3 Distribution Mitigation Strategy
3. Simple Summary
To allocate the existing DAO treasury funds (80.6 ETH) and $ARB treasury reserves (6.36 wETH) to compensate stakers affected by the Epoch 3 distribution error totalling 86.96 ETH
Due to an involuntary human mistake in the epoch distribution process, 86.96 wETH were sent from the Ethereum GovCo Multisig to the wETH contract, resulting in a loss. These funds cannot be recovered unfortunately, and an alternative course of action must be chosen to compensate stakers and let them get access to the epoch 3 rewards.
Compensate stakers affected by this distribution error as quickly as possible.
To ensure the rewards are distributed as soon as possible, we propose the following:
Use the existing ~80.6 wETH in the DAO treasury to fund the distribution.
The remaining amount (~6.36 wETH) to be covered using the $ARB the DAO treasury
Return the 80.6 wETH to the DAO treasury by converting part of the $ARB airdrop that was allocated to the ParaSwap DAO.
The proposal will be successful once all stakers of epoch 3 receive their corresponding wETH amount relative to their ParaBoost score during the epoch. Additionally, the proposal will be considered complete once the DAO treasury recovers its 80.6 wETH .
To avoid this error from happening in the future, more automation, such as the ones proposed by Mimic could be put in place to minimize human error. Additionally, the implementation of public DAO-facing checks, such as onchain automatic voting will ensure more voters can verify the validity of the distribution.
Starting from Epoch 4 distribution, those steps should be respected:
Publicly sharing the list of rewards (address, ETH rewards) in order to allow DAO members to verify the correctness of the Merkle Root (the compressed param for rewards distribution)
Reducing the MultiSig role by automating the distribution through a new smart contract, where its sole purpose will be transferring WETH from the MultiSig to the Distributor and updating of the Merkle Root.
Providing a public link to a full simulation of the distribution using Tenderly.
Fully automating rewards “bridge & transfer” of WETH to the Distributor contract.
Adding more automation to data correctness verifications.
Other potential long term solutions:
Using a third party to run the data generation scripts (Gelato & Co)
Putting the final Merkle Root data on an express vote of 24h pre-distribution
Having an independent watchdog, where their job is to double check the technical correctness of all MultiSig proposals.
9. Implementation overview
Bridge all DAO treasury wETH to Ethereum mainnet
Distribute the wETH to Epoch 3 stakers
Return wETH to the DAO treasury during the next 3 epochs
I support the principle that rewards distributions to PSP stakers should be protected, as this is the core value proposition for PSP 2.0. Based on that principle, part of the DAO treasury funds being used to backstop the rewards in cases like this are warranted.
I would however argue that given this mistake, which at current prices cost US$156.6k, was the fault of a ParaSwap Core Team member, whose role in this process is the responsibility of the Foundation, the Foundation should contribute more to mitigate the impact on the DAO Treasury, and should not receive a refund from the DAO’s ARB allocation:
The DAO, and its PSP tokenholders, are being double penalized (losing the entire PSP 2.0 ETH allocation so far, plus part of its ARB allocation), because the Core Team member, and by extension the Foundation, didn’t put into place appropriate safeguards to avoid human error from destroying a large amount of value.
The DAO, and its PSP tokenholders, had zero responsibility in this mistake. The only reason why I also think its appropriate for the DAO to contribute is because it’s a self-interested actor in protecting the principle of staking rewards distributions.
The fact this is an “involuntary human error” does not absolve the Foundation of the responsibility to contribute their fair share to filling this hole. Especially since the Foundation received all of last year’s PSP revenues, which are substantially larger than the volumes we’ve been doing this 2023.
I haven’t seen a reasonable argument made as to why the Foundation isn’t contributing its own funds as restitution for this, and I think that needs to be made here at a minimum.
Take note I am NOT calling for the firing or the scapegoating of the GovCo/Core Team member who made the mistake. But the institution on whose behalf said member this acting can’t act as if it’s washing its hands of financial responsibility for this loss of DAO funds. After all, what happens the next time some mistake happens outside of the DAO’s control? We’re setting a precedent here in the early days of the ParaSwap DAO, and this needs to be thought through.
EDIT: I was under the impression that the Core Team Member represented the Foundation on the GovCo, but I’ve been informed that’s wrong. With that, I withdraw my objection to the proposal and will vote in favor of taking it from the DAO Treasury. I’m leaving this entire post here in case anyone has a similar line of thinking so we can avoid another round of discussions.
I disagree that the foundation should necessarily refund the losses, unless they chose to. The MS proposal was initiated by a Team Member, but it was approved by the 4 GovCo members, who were voted and assigned by the DAO, so GovCo = The DAO. In anyways, foundation or DAO, it’s the same thing. If the latter refunds, it will impact its treasury, thus less engineering, less dev for the ParaSwap DAO, I don’t think that this is what we want…
That plan for automation is the right approach instead of pointing fingers. The current setup is fragile and we should be glad that the loss wasn’t significant and we have more than enough funds to recover it.
I was under the impression that the Core Team Member represented the Foundation on the GovCo, but I’ve been informed that’s wrong. With that, I withdraw my objection to the proposal. I’m going to leave it up there in case anyone else makes a similar mistake so they can follow this discussion, and I’ll add an edit in there too.
I am for the proposition. Rewards should be fully automated to minimize human errors. I believe that the restitution of lost funds should be up for vote on what benefits the dao, future rewards, and continued development of PSP. This error should be restored by the efforts of the Core Team.
I am in favor of the proposal but still find it aberrant that such an error has occurred (although the human factor is always a source of fault). We evolve in a field that is governed by smart contracts and therefore this process could have been automated from the beginning and avoid this significant loss.
Now that the mistake has been made, it is important to move forward in building a much more reliable process for the future and to use this event wisely to ‘avoid’ any future errors.
I support this proposal.
We should also push mimic proposal to vote ASAP (as it was already discuss with the core team and no more interaction). Their part could be done before the end of epoch 4 regarding their roadmap.
This incident is rather unfortunate and arguably avoidable. It’s a good thing that the team made a clear announcement acknowledging the mistake and promptly proposing a solution that mitigates the stakers been penalized for this mishap. As costly as this mistake is, I do not think it is fair to put the blame on a single individual or even the GovCo because that will clearly do us no good. Now is not the time to pass blame but a time to take lessons.
Looking at the bright side, this incident has afforded us the opportunity to understand the risk associated with centralization and human errors and the importance of complete decentralization in the future which has always been the goal of Paraswap.
Mistakes were made and lessons were learnt. As painful as this occurrence is, what is more important is to take measures that guarantees that a reoccurrence doesn’t happen in the future.