SIP-300: Synthetix V3

Author
StatusDraft
TypeGovernance
NetworkEthereum & Optimism
ImplementorDaniel Beal (@dbeal-eth), Leonardo Massazza (@leomassazza), Alejandro Santander (@ajsantander)
ReleaseTBD
Created2022-06-09

Simple Summary

Rebuild Synthetix as a more versatile protocol on efficient contract architecture to alleviate pain points of V2x.

Abstract

This SIP proposes a redesign of the Synthetix protocol built on top of novel smart contract architecture. At a high level, the proposed design will have a more modular underlying mechanism supporting features like multi-collateral staking, customizable debt positions, and permissionless synths, while also being deployed on new architecture that minimizes complexity and provides a novel way of overcoming the EVM's smart contract size limits.

Motivation

The current version of the Synthetix protocol suffers from a number of economical and technical inefficiencies. From an economical perspective, the capabilities of V2x are primarily limited by the fact that debt positions lack customizability. From a technical standpoint, the existing V2x architecture has become outdated and accumulated significant amounts of technical debt, making it difficult for developers to add new features to the protocol.

Specification

Overview

Differentiating the debt pool can address many of the limitations of V2x while unlocking many new features. SIP-303 proposes segmentation of the debt pool into individual markets endowed with the ability to facilitate exchanges, while minting/burning snxUSD and passing net accrued debt onto the stakers underwriting them. To address the technical limitations of V2x, SIP-305 proposes new architecture for V3 which is designed specifically to target these problems and produce a foundation that easy to build on.

Rationale

Differentiated debt pool

Synthetix currently utilizes a blended debt pool for all synths/markets supported by the protocol. A single unified debt pool consolidates liquidity, but adds significant complexity to the staking process by blending markets with drastically different asset classes, volatility, and leverage into a single debt position.

One potential solution is to silo collateral/debt according to market type. Single asset debt pools offer simplicity, but at the cost of liquidity fragmentation. Synthetix V3 proposes a framework that gives stakers flexibility to select which Synthetix markets to underwrite while preserving fungibility of snxUSD across markets.

This can be accomplished by modifying debt tracking logic to enable stakers to choose markets to underwrite and how much liquidity to provide to each. To optionally simplify the staking UX, pools (proposed in SIP-302) are introduced to serve as customizable credit delegation instruments within the protocol that manage market exposure profiles for participating stakers.

There are several significant benefits of this framework: (1) it allows stakers who do not want exposure to certain markets to opt out of them, and (2) allows stakers with higher risk tolerance or more sophisticated debt management to boost capital efficiency by underwriting certain markets (e.g. perpetual futures) with leverage, and (3) makes it possible for the protocol to allow any user to create a custom on-chain derivative for any asset with an oracle feed.

Router proxy architecture

The proposed architecture is centered around a fundamental "deployer" plugin. This plugin will identify a system's modules and automatically determine when a module's source code has changed and needs to be re-deployed. Instead of connecting the system's modules via an AddressResolver, modules are "merged" into a single super-contract that uses a technical workaround to overcome the EVM's contract size limitations. This means that no connections have to be made for modules to be able to interact with each other, which is one of the most fragile areas of the v2 architecture.

Copyright and related rights waived via CC0.