V2x Revisited
There's a feeling I get when I look to the west
Led Zeppelin
A few weeks ago we wrapped up the first Core Contributor offsite since December 2019, with almost all Core Contributors from the Western Hemisphere attending. While it would have been great to get all 30+ Synthetix CC’s in one place, unfortunately, travel restrictions are still impacting many people. We are hoping early 2022 will give us enough time to arrange a global offsite. But even though we were missing many people, the energy in the group was incredible, some CC’s had been working in isolation for almost two years and had never met anyone else from the Synthetix community in person. One of the critical outputs of this gathering was to finalise the split into V2x, V3 and Kwenta working groups. We now have clarity on which CC’s are working on each aspect of the protocol, and who is being spun out into Kwenta.
When I laid out the Hopium Plan the most important component was finalising the scope of V2x to ensure a smooth transition from L1 to L2. This process has been progressing organically and I’m fairly happy with the general direction several recent SIPs are taking us. We have even launched exchanges via SIP-121. However, some new scope emerged recently that has a significant impact on the existing SIPs creating a web of interdependencies that frankly is challenging to reason about without a clear roadmap. This post will therefore attempt to clarify the existing scope of V2x.
At the bottom of this post will be a list of SIPs currently proposed to be included in the V2x scope, but the primary reason for this post is to contextualise these SIPs rather than just provide a list with descriptions. To help with this context I will split the open SIPs into functional areas, these areas are:
- L1 improvements and tech debt
- Optimism migration
- New mechanisms
- Governance
L1 improvements and tech debt
The SIPs in this category are either modifications to existing mechanisms that will improve the security or UX of the protocol, or they are deprecating legacy functionality. Most of them deal with deprecations. However, we introduce a new wrapper that supports LINK (SIP-153). There is an improvement to fee reclamation on L1 proposed by @andrecronje that allows AMM pools to absorb the risk of fee reclamation and support semi-atomic transactions (SIP-171). Additionally, a new process for purging synths is proposed (SIP-174), which will significantly improve the UX for removed or frozen synths. This is important as (SIP-158, SIP-166, SIP-169) all require a way to handle Synth deprecations. Particularly as we begin the process of transitioning most Synths to L2. The most important SIP in this category though is an upgraded liquidation mechanism (SIP-148). This SIP proposes a new MEV resistant liquidation process, that socialises all liquidations across the protocol. The challenge with this SIP is there is currently no mechanism for distributing rewards based on the instantaneous debt pool composition. Such a mechanism is critical to ensure liquidation rewards are distributed fairly and avoid gaming of the system. The solution to this will be covered in the following section on new mechanisms.
New Mechanisms
Once we understood the need for instantaneous reward distribution we did some R&D and came up with a proposal to create a new staking rewards contract that tracks the debt register. We call this the debt shares contract (SIP-TBC). This contract uses a form of tokenisation to track the ownership of the debt pool by all stakers in real-time, it also accepts and instantly distributes any liquidated SNX rewards in the block they were liquidated. This ensures a fair distribution of rewards when the new liquidation mechanism (SIP-148) is enabled.
About a week later we were doing further R&D into the debt pool oracle (SIP-156). This is a proposed change that will leverage Chainlink to sync the debt pools between L1 and L2. This proposal has been around for almost six months, but unfortunately, as we began a deeper feasibility study it became obvious the debt register architecture that tracks debt on each chain would not be compatible with such an oracle. The issue is that the debt register tracks every mint and burn and allows for them to be rolled up without needing to iterate over every state change in the debt pool. Given this incompatibility, we propose a change that would replace the debt register with the debt oracle + debt shares contract (SIP-TBC). Tokenised debt was already a planned upgrade for V3, but this interim solution will allow for the debt pools to be merged ahead of V3.
It is worth reiterating why the debt pool merge is such a critical component of the V2x roadmap. Until the debt pools are merged, synths on L1 are not fungible with L2. This means liquidity on each network is siloed, impacting volume and composability on each network. As fast withdrawal bridges like Hop launch, this will become an even more pressing issue as it will not be possible to bridge Synths between networks until they are fungible.
There are a number of other new mechanisms proposed for V2x. The first is the launch of Futures on L2 (SIP-80), this will represent one of the largest mechanism changes in the protocol since late 2018 when the multi-currency system went live. With the launch on Kovan imminent, this is an extremely exciting time. We will also see the launch of TWAP exchanges (SIP-120) on L1 which avoid the need for fee reclamation allowing for atomic transactions to be performed for cross-asset swaps and other use cases.
Finally, two changes to the risk management of the protocol are proposed, the introduction of supply caps (SIP-146) which will reduce tail risk for the protocol by constraining the total open interest in lower liquidity Synths. This is combined with a new exchange functionality called simulated liquidity (SIP-TBC) which attempts to mirror the overall liquidity profile of a Synth during an exchange rather than offering a static price from the oracle. This means large trades will get filled based on both the size and direction of the trade reducing toxic flow through the debt pool.
Optimism migration
The Optimism migration is the most important aspect of V2x, thankfully two critical components have already been launched, with both staking and exchanges having gone live this year. Shorting (SIP-135) and Futures (SIP-80) will follow soon. However, the two versions of the Synthetix network running on L1 and L2 remain completely separate. To finalise the Optimism launch, we must unify the networks. This unification will allow for Synths to be fungible across both L1 and L2. There are several components required to support this.
The Debt Pool Oracle (SIP-156) was already discussed earlier in relation to the new liquidation mechanism. This combined with (SIP-165) Debt Pool Unification, will allow us to restore fungibility between Synths on L1 and L2. This unlocks the remaining changes required in the Optimism Transitions. Synth Teleporters (SIP-TBC) will allow Synths to be burned on one network and minted on another network while ensuring the total value of the debt pool remains constant. This will allow Synths to move between networks wherever liquidity is needed most, by adding fast withdrawal bridges we will have a highly liquid debt pool that flows across both networks. Once fungibility is enabled between all Synths we will be able to enable Debt Migration (SIP-TBC). This will mean anyone with a debt position on L1 can migrate it directly to L2 without needing to first burn their debt. Once this is enabled the inflation from L1 can be fully migrated to L2 without risking a liquidity crisis on L1.
The final phase of this process will be to disable staking on L1 and begin raising the liquidation threshold for L1 stakers, this will ensure all staking positions on L1 are cleared out and that all staking is occurring on L2. The expectation is that a number of Synths will continue to be supported on L1 for exchanges, but a much wider range of Synths will be enabled on L2. Alongside these changes, we expect to deploy an ETHwrapper contract to L2 (SIP-TBC) to ensure there is sufficient liquidity on the Optimism network as this transition takes place.
Governance
The transition to decentralized governance has been constant within the Synthetix community for a number of years, and V2x contains many changes that will prepare the project for the transition to V3 governance early next year. Firstly the synthetixDAO (SIP-155) will be deprecated, this proposal recently passed and a vote for the new Treasury Council is expected to be initiated soon. (SIP-161) establishes the Core Contributor Committee, this is a crucial component of governance that was sorely missing as I stepped back from the project earlier this year. One of the most pressing aspects of governance that I set out to address was coordination within the CC’s. I believe this SIP is the first step in that direction and look forward to seeing it presented to the Council soon. (SIP-167) allows the current L1 governance process to also control L2, this is crucial as the value of SNX on L2 increases. Finally, V3 Governance (SIP-172) takes a lot of the learnings from the last 18 months and identifies numerous improvements to the governance process in a holistic way.
Conclusion
Many of the proposed changes above have been voted on and approved by the Spartan Council, but there are a number of SIPs still being assessed for feasibility that will need to be presented and voted on. The purpose of all of these SIPs is to establish a foundation for the transition to V3 early next year while ensuring critical mechanism changes are progressing in parallel to the V3 R&D. As the scope above is deployed members of the V2x working group will migrate to V3 to ensure resources are balanced. Broadly the approach to V2x has been to split the scope into two phases, phase one includes most of the scope, while phase two includes the remaining SIPS to enable Debt Pool Unification.
Below is a list of the SIPs and categories. Needless to say, there are a lot of SIPs in flight, but with the new streamlined CC structure, we are confident we can get these wrapped up in time for most of the engineers to transition onto V3 before the end of the year. With a few people remaining to keep the V2x lights on, sorry @Justin!
Below is a draft critical path diagram that factors in known resourcing and technical dependencies within the V2x scope.
L1 Improvements and tech debt
SIP-142 - Deprecating EtherCollateral loans (Phase One)
SIP-148 - Upgrade Liquidation Mechanism (Phase Two)
SIP-153 - LINKwrapper (Phase One)
SIP-158 - Deprecate iSynths (Phase One)
SIP-166 - Removing sCEX, iCEX and adding sCEFI (Phase One)
SIP-169 - Deprecate low volume synths (Phase One)
SIP-171 - Partial Fee Reclamation (Phase One)
SIP-174 - Deprecated Synth Redemption (Phase One)
New mechanisms
SIP-80 - Synthetic Futures (Phase One)
SIP-120 - TWAP Exchange Function (Phase One)
SIP-TBC - Debt Shares Contract (Phase Two)
SIP-146 - Add Synth Supply Caps (Phase Two)
SIP-TBC - Simulated liquidity (Phase One)
Optimism migration
SIP-135 - L2 Shorting (Phase One)
SIP-156 - Debt Pool Oracle (Phase Two)
SIP-165 - Debt Pool Unification (Phase Two)
SIP-TBC - Debt Migration (Phase Two)
SIP-TBC - Synth Teleporters (Phase Two)
SIP-TBC - ETHwrapper L2 (Phase Two)
Governance
SIP-155 - Deprecating the synthetixDAO (Phase One)
SIP-161 - Core Contributor Committee (Phase One)
SIP-167 - L2 Bridged Governance (Phase One)SIP-172 - V3 Governance (Phase Two)