As most people in the community are aware, front-running has been a significant and at times existential issue for the Synthetix platform over the last year. As we approach what we believe is likely to be a conclusive resolution to this attack vector we need to plan for the downstream impact of this change. We want the transition to be as orderly as possible, but there are after effects of the frontrunning that we will as a community end up paying for in some fashion. We want to ensure that the cost of frontrunning which has been borne to a significant extent by the community is absorbed by the Synthetix Foundation where possible.
One of the predictions we made when we released the spec for Fee Reclamation was that the front-runners would likely escalate their attacks as we got closer to resolving the issue. This is in fact exactly what has happened. And in spite a small lull due to the potential yet ultimately empty threat that these accounts might be slashed the trend has been significant growth in front-running volume.
This has forced many rational actors to exploit another attack vector in the system which is how the rewards are calculated. This has resulted in even more of the impact of frontrunning being borne by not all Minters but a subset that have not chosen to use the “snapshotting” attack. This creates a problem because the debt inflation caused by front-running is partially made up of fees and partially made up of the after fee profits. So we can observe that there is a large fee pool increase that has inflated the debt of minters who are staking during the week which would offset a significant portion of their losses to frontrunning. However, snapshotters come and extract some of these fees and put even more burden of the debt inflation on the users who mint throughout the week.
In addition to this debt has been inflation due to the skew of Synths being incentivised towards sETH via the Uniswap Pool. As the SNX/ETH ratio has fallen and users have burned debt there has been a preference towards keeping sETH in the pool and burning their excess sUSD. This has left us with a pool that is now 80%+ sETH/sBTC.
The final implication from front-running is that we have a transfer of debt from good actors in the system to bad actors, with snapshotters exacerbating this issue. We need a plan to make some reparations to the good actors in the system for the risk they have taken, and to absorb the debt that has accumulated in the hands of the bad actors within the system.
So we have a few issues to resolve:
- How do we stop the current escalation in frontrunning?
- How do we fix the skew in the debt pool?
- How do we make reparations for the debt increase to good actors?
Before outlining the proposed solution, we need to disclose the release date for Achernar as this is critical to the plan. The mainnet deployment date is Thursday the 20th of February, less than a week away. Once this date is announced it is likely frontrunning escalates further. However, it is critical we continue to observe some level of frontrunning post Achernar or we will not be able to determine the effectiveness of the Fee Reclamation changes. Ensuring the bots continue to attack the system in production will allow us to verify the system is robust against these attacks. It will also allow for parameter tuning to find the best trade-off between user experience and minter protection.
With that said the proposed plan is below:
- Raising trading fee to 2% until the Achernar release
- This will reduce frontrunning to essentially 0 but will not require the bot operators to switch off their bots.
- If 2% prove ineffective we will continue to raise fees until frontrunning declines.
- Burn the current fee pool
- This will immediately reduce the debt of the existing minters who are not snapshotting
- Burn the arb pool account (6500sETH)
- This will also immediately reduce the debt of the existing minters who are not snapshotting
- Create a trial liquidity incentive to cause some of the sETH pool LP’s to switch to an sUSD/stablecoin pool. This will run for 4 weeks and will be 50k SNX per week.
- This will cause some of the sETH to be converted to sUSD without reducing the sETH incentive creating a net demand for Synths while we likely absorb some of the frontrunners exiting their positions
- We run an SNX auction that sells locked SNX at a discount for Synths from the foundation treasury (the exact number will be determined after further research). The proceeds of this auction will also be burned to create a debt jubilee for minters.
- This debt reduction will absorb some frontrunning and snapshotting profit in Synths and will also reduce the impact that frontrunning has had over the last six months.
- Implement the continuous rewards system (https://github.com/Synthetixio/SIPs/issues/58) to remove the snapshotting attack vector.
- This will ensure that any future debt increases are shared by all minters proportional to the risk they are taking within the system and not allow for some users to freeride.
- Finally we will distribute 2m unlocked SNX to all minters who have continuously minted over the last three months and have not exploited the snapshotting loophole.
- This will help offset the debt accumulated by good actors in the system.
The impact of frontrunning over the last six months has been both direct in the form of debt inflation, as well as indirect in the form of sapping engineering and mechanism design attention. However, the protocol will soon emerge far more robust and well designed, ready to be scaled. The changes implemented in Achernar will allow the exchange to support billions of dollars worth of trading without exposing minters to frontrunning. While this has been a challenging period for the community we are confident Synthetix will be more resilient than ever after the next two releases: Achernar to add ETH collateral and end frontrunning, and Betelgeuse to end snapshotting.
One final note we have promoted beta.synthetix.exchange to synthetix.exchange ahead of the production release next week. We have also added a banner calling out the fee increase.
Thank you to the Synthetix Spartans who have continued to support the project during these challenging times.