andywan

Posted on Jan 11, 2022Read on Mirror.xyz

天王级项目:ve(3,3)

https://andrecronje.medium.com/ve-3-3-curves-initial-distribution-competition-building-a-protocol-for-protocols-79a1ff1cf1a1

ve(3,3): Curves, Initial distribution, Competition, & Building a protocol for protocols

构建一个为协议服务的协议

Curves

By now, most are probably curious what the new protocol is, while this article will not go into depth (that is reserved for a later article closer to launch) we will simply list some of the core features;

New AMM

  • Natively supports swaps between closely correlated assets via a new curve (stable swaps)
  • Natively supports swaps between uncorrelated assets
  • 0.01% fee
  • Fees are paid out in base assets, not converted
  • Uniswap v2 compatible interfaces (allows support for all existing analytics tools and interfaces)
  • Permissionlessly create pools
  • Permissionless support for Gauges & Bribes
  • Emission incentivizes fees instead of liquidity
  • Native support for adding third party tokens and incentives
  • ve(3,3) lockers accumulate all fees for pools they vote emission on
  • ve(3,3) lockers increase holdings proportional to emission, no dilution
  • ve(3,3) lockers vote on emissions with circulating supply decay, read more
  • ve(3,3) natively supports delegation
  • ve(3,3) locks are represented as non-fungible tokens to allow capital efficiency of locks
  • No DAO

Building for protocols

Current AMMs are primarily for LPs, this is natural because when most AMMs launched, token incentives did not exist. Today, AMMs are primarily for projects, either through token incentives, bootstrapping liquidity, or even protocol owned liquidity. Other protocols are the new AMM users.

Current AMMs need a few modifications to make it easy for protocols to leverage them;

  • Must be able to easily add token incentives to your liquidity
  • Must be able to easily bribe token emissions onto your liquidity
  • Must be able to accrue fees from liquidity you incentivize
  • Must be able to permissionlessly deploy your liquidity

All the above is doable without ever needing to message someone on telegram, discord, or twitter, and will never under any circumstance require a zoom call.

With the above in place, any protocol or project can easily incentivize their own liquidity, be it for their token, their stable coin, or even other derivatives, and while doing so, they fully accrue fees.

Competition

The AMM arena is quite saturated, we did not want to launch an AMM to compete with existing projects, for that reason it was designed with protocol 2 protocol architecture in mind. Existing AMMs can integrate the new AMM into their own design, still accruing all fees to their own systems without losing out any fees, volume, or liquidity.

Initial Distribution

Every week, a potential new 2,000,000 tokens are available as incentives on pools. These 2,000,000 tokens are distributed based on the current voting weights for pools. With an initial distribution of 0, that means no one can vote, which means no distribution can occur.

To kickstart the system, there has to be an initial distribution, we went through a few options;

  1. Auction / LBP, the primary issue here was we don’t want to raise funds nor sell any tokens.
  2. Create FTM/token pool and burn the LP tokens, this favors bots and whomever happens to be awake during that timeframe, this is not a fair distribution.
  3. We simply decide the first pools and votes, not very decentralized
  4. Airdrop, but for an airdrop to be successful, it needs to go to the correct participants, as we can see from CRV and CVX distribution, those participants are predominantly protocols

We ended up deciding on an ecosystem distribution, before launch, we will take a TVL snapshot off of defillama

Locked ve(3,3) tokens will be given to each project in the top 20, it is then up to each project to create their pools and vote for their initial distribution or have their communities vote for their initial distribution. It is up to them to decide what they will incentivize, be it their own token, stable coin, or other liquidity. The timeline for this will thus be 2 weeks post protocol launch until distribution starts.

这样一下子拉拢了Fantom 前20协议,其实有点类似Curve 投票贿赂治理

ve(3,3) Ouroboros: Part 1 - Fee Distribution

Fee distribution is a varied vertical within fee generating products.

Background

MakerDAO has buyback and burn. Fees accrued in DAI are used to purchase MKR off of the market, and then the MKR is burned.

Ethereum has “buyback” and burn via EIP1559. Buyback in quotes, since the fees are already accrued in ETH, so no reason to swap them to ETH, but in essence, this is the same.

Yearn has buyback and build. Vault fees are used to purchase YFI off of the market, and then used to incentivize builders.

Uniswap distributes all fees to LPs, none accrue to UNI holders.

Sushiswap distributes 50% of fees to LPs and 50% of fees to SUSHI holders who stake their SUSHI for xSUSHI. The 50% of fees is used to buyback SUSHI and distributed into xSUSHI.

Curve distributes 50% of fees to LPs and 50% of fees to CRV holders who locked their CRV for veCRV as stable coins.

Problem Statement

Token emission is considered a bootstrapping mechanism. When a protocol starts, it usually has 0 fees. In blockchains, you need security, this is provided via proof of work / proof of stake / etc, at the start of a network, it has 0 fees, now assume there were no block rewards, and only fees were distributed to validators, would you run a validator if you received 0 rewards? So instead, these chains are bootstrapped with block rewards, but the goal is for these block rewards to eventually stop, and fees alone should be enough incentives for participants.

Protocols are no different, they should use tokens to bootstrap whatever their incentivized goal is, for blockchains, this is security, for AMM’s, this is liquidity and/or fees (dependent on the design), for lenders, this is borrowing, and so forth.

The goal, is to align emission to incentives, the problem with a lot of current AMM designs, is that it is easier to incentivize liquidity, instead of fees.

If we consider popular AMM’s such as Curve or Sushiswap, they incentivize liquidity, however veCRV and xSUSHI holders receive fees.

At face value, this seems like a simple enough change, rather incentivize fees than liquidity, the problem is that this approach simply leads to wash trading, something we have seen in ~2018 with the iteration of “trans-fee mining” popularized by many exchanges at the time.

The goal itself though, is to simply give the most incentives (emission) to the liquidity with the highest fees. If we look at veCRV, as a veCRV holder, you will receive 50% of all fees, regardless of where you vote for emissions to go, so you might vote your emissions onto a pool that generates 0 fees for the protocol, but you still reap the reward of fees generated by other more active pools.

ve(3,3) ouroboros

We’ve established a few things;

  • Fees earned by the protocol should go to ve(3,3) lockers
  • Emission by the protocol should go to pools with the highest fees
  • ve(3,3) lockers decide which pools receive emissions

We want to align where ve(3,3) lockers vote, and ideally have them vote for the pools that generate the highest fees. To accomplish this, we simply need to add one modification onto the popular veCRV model;

ve(3,3) lockers receive fees only for pools they voted for.

This means, that ve(3,3) lockers will earn 100% of all fees generated, on pools they vote for.

This has a few benefits

  • It incentivizes fees for the protocol (and thus higher payouts for ve(3,3) lockers)

  • Emissions will promote the highest fee earning pools, which will increase liquidity on those pools to allow for better rates.

  • It aligns emissions with protocol incentives, allowing participants to self optimize the system.

    Part 1 explored the design of optimizing the protocol’s primary goal, however your protocol accrues fees, that’s what you want to incentivize, this can be achieved via ve(3,3) Ouroboros for any protocol by simply aligning fee claim with emission.

    If the protocol is a lender, and fees are generated by users borrowing, they will vote emissions on assets with the highest borrow rates, which will incentivize more borrowing due to increased incentives, which earns more fees, thus Ouroboros.

    If the protocol is an AMM, and fees are generated by trading, they will vote emissions on pools with the highest trade volume, this will incentivize more liquidity for that pool, which improves trade quotes, which increases trade volume, and thus earns more fees.

    The design itself can be deployed on any protocol to align emission with incentives.

    Background

    In part 2, we want to explore the fees themselves, how they are paid out, how this can be used by other protocols, and how to set them up to best maximize the (3,3) spirit.

    Fee assets; Token vs Stable

    Fees are often use for “buyback” models, while this seems positive for the protocol, this means the fees themselves are correlated to the protocols token price, this volatility is a blessing if prices go up, but a curse when prices go down.

    The veCRV model popularized paying out fees in stable coins, this in itself, changes how participants think about fees. This changes the thinking of owning CRV from a denominated value (such as USD) to instead as a percentage of fee ownership. If CRV prices go down, you can purchase a cheaper claim on a greater percentage of stable fees.

    So step 1, is to provide fees in an asset not correlated to the primary system asset. This means that by owning a % of supply, you are taking a bet on future fee growth of the protocol.

    Fee assets; (3,3) ethos

    The spirit of (3,3) for us, is simply “how can we work together”. One of my biggest regrets with yearn’s original design was that it sells the incentive tokens for the primary asset of the vault, at scale, we have seen how this parasitic nature can lead to depreciation of the underlying assets, in fact, killing its own source of income, instead I’ve always preferred mutualistic vaults, or (3,3) vaults. One where the underlying asset isn’t sold, but simply passed on to the user.

    With that in mind ve(3,3) does not distribute fees in the native token (buyback), or as a stable (sell pressure), but instead as the asset in which the fee was accrued, and these are simply passed on. We believe this to be in the spirit of (3,3) and hope to see more adoption of the distribution mechanism in the future.

    Fee claim / Third party project incentives

    Often when building new systems, you need to interact with another system, be this Sushiswap, Curve, Aave, or anything else. Let’s say you launch a new stable coin, and you incentivize liquidity for your coin + MIM in Curve, your protocol is paying for liquidity, however, your protocol doesn’t earn fees, Curve earns fees. Having additional fee sources can be a huge boon for early projects, it can help pay for audits, expand the team, or be distributed to token holders, as such the ve(3,3) fee claim system was designed with this in mind.

    Whomever owns the LP token, earns the fees, so as a new project, you can launch incentives on stable-mim, and simply have your LPs stake with your own pool, this means you earn 100% of the fees.

    By splitting out fees from the LP position, and allowing other projects to have a claim on these fees, it allows the base protocol to facilitate additional fee streams for new & existing projects, without any complex deposit/withdraw fee claim mechanism. Fee separation and streaming is natively supported by the protocol.

    Why incentivize liquidity and earn 0 fees, when you can earn all the fees.

    We hope this lets new projects bootstrap easier, and allows existing projects additional incentives to migrate their liquidity.