Change the funding structure of Gnosis Impact markets

TLDR:

Gnosis Impact calculation is currently based on Omen markets.
Those markets primarily ask the question whether or not the decision will be voted for. Through comparing the different prices of the same market with different collateral (e.g. GNO and DAI) the implied impact can be calculated. Also traders can through a combination of trades enter into a “conditional investment” position. More here and here.

The issue is that a liquidity provider (e.g. GnosisDAO) that keeps the liquidity in the market will lose all money since once it becomes clear how the vote will turn out traders will buy all the winning tokens.

For a project like Gnosis with a market cap of ~$50 - 100m a meaningful signal market signal should at the very least involve $100k+. To enable those trades the Omen market would need to be funded with a multiplier of that which would be totally unreasonable since it would mean that this amount (e.g. $500k) would be lost/paid for decision making by the DAO.

Luckily there is a solution to how the GnosisDAO (or really anyone) can provide meaningful liquidity (enabling $100k+ trades) without taking enormous market maker risks.

The solution is to not do the market making of GNOyes <-> GNONo and DAIyes <-> DAIno (where always one side will go towards 0 and thus the market maker facing permanent “impermanent loss”) but instead do: GNOyes <-> DAIyes and GNOno <-> DAIno. Here for one side, BOTH tokens will, in the end, be worth 0 and thus not suffer from any impermanent loss while the other side will turn into a DAI<->GNO market where you just face the much smaller regular market-making risk.

To offer those markets there are different technical paths to go forward.

a) use the AMM used by Omen.
This was created by Gnosis. It uses the same math as balancer (constant product market maker) but it supports natively ERC1155 tokens. This allows trading to be more gas efficient. Unfortunately, 1155 is not widely supported at all - so those markets have far less visibility.

We already have the infrastructure to wrap ERC1155 into ERC20. This allows to use all the standard AMMS.

b) Uniswap
Clearly the largest userbase. However - those tokens would get very little visibility on https://uniswap.exchange/ because by default they would not be listed anywhere. Since those tokens are only temporary in use (e.g. during a 1-2 week voting period) it might be an uphill battle to try to get them into all the lists used by Unsiwap.

c) Sushiswap
In principal Sushiswap has fewer organic users and a fee that goes to Sushiswap holders which are both arguments against Sushiwap compared to Uniswap. On the other hand, the community seems very interested in experiments around decentralized governance and token incentives. So potentially a collaboration is possible.

d) Mooniswap
If we those more specialized markets to move more (regularly price jumps of a few %) - Mooniswap slightly changed rules could be interesting since they protect/favor LPs.

e) Balancer
Balancer is currently the only platform with a liquidity mining program eligible for GNO. This is why balancer currently has the best ETH/GNO liquidity. Potentially there are also ways to leverage the ability to have more the 2 tokens per pool but for the concrete use-case I am describing here it is actually important to not have all tokens in the same pool. (would otherwise cause the permant IL problem again)
One bonus of balancer is the ability to chose a fee (and not use the fixed 0.3%)

f) dxSwap/ SwaprEth
Gnosis and dxDAO have already a history of successful collaborations. Swapr is another Uniswap fork developed by dxDAO. The primary argument would be to work with dxDAO again - potentially, however, the feature to set custom fees could also be useful.

Midterm Gnosis Protocol v.2 is meant to be a layer on top of all those solutions. Liquidity can be in all those market makers but traders could submit orders as a GP order and it would be matched against whatever liquidity is currently best. More about GP v.2 here.

4 Likes

That’s a really interesting concept!
What are the disadvantages for providing liquidity in the new proposed manner?
If there’s a pool of GNOyes <-> DAIyes and I want to buy GNOyes with USDC, how would that work?
There must be a liquidity pool for bridging the outcome tokens to stablecoins or something?

In terms of which protocol to use, I think we should use the most flexible one (Balancer/Swapr)
And maybe have a simple frontend especially for this
Or just link from the snapshot page directly to the Balancer market and then users don’t need to import those tokens. Anyway I assume regular traders that are not involved in GnosisDAO wouldn’t trade those markets just b/c they are available in the UI.

1 Like

You would turn your USDC into “YesUSDC” and “NoUSDC” using the conditional tokens contracts (we have a web app for this coming soon), then trade your “YesUSDC” for “YesGNO”.

1 Like

Since we likely wouldn’t benefit from the liquidity or network effect of existing platforms, my preference would be for us to adapt the existing ERC1155 FPMM contracts that we have and build a UI for them. This could even be something that is built into Omen. Omen has already taken the first step toward reconciling markets with different collateral into one view, this could be another step in that direction.

1 Like

I currently don’t know whether or not we can use our market maker contract with outcome tokens of different underlying colleterals. @alanlu - can you comment whether or not that is possible?

1 Like

I think this is a great idea. The GNO/USD signal is valuable to GnosisDAO, but the “will it happen” signal is less valuable.

This change also makes it easier for users to engage in trading on the conditional prices of GNO/USD, and I wouldn’t be surprised if better UX also improved the conditional price information.

4 Likes

Just want to illustrate why this proposal is very important:

I think GIP-1 will barely change the price of GNO, but overall is likely to increase it by 2%.

  • It will dilute the circulating supply by 0.5-1%
  • it might lead to additional GIPs being passed in the first month of GnosisDAO
    • If there’s a good proposal in this month, it could add 5% to the price of GNO
      • I think such a proposal would probably be passed sooner or later anyway.
  • if several GIPs fail due to lack of quorum, there may be additional consequences
    • governance structure reform
    • distributing additional GNO to active voters
    • buying GNO from passive holders
    • overall, this possibility seems negative for the GNO price, but low confidence

Suppose I want to bet on this: If I think GNO price doesn’t change under GIP-1 I can make 1 DAI profit (!!!) by trading away the current price difference (which currently implies a 13% lower GNO price if GIP-1 is accepted). If I think it raises GNO by 10% (which is more than I actually think), I can make 50 DAI profit. I’m not even sure if this latter figure is profitable after I convert currency to place the bet and pay gas.

So there’s currently a big liquidity problem.

Providing liquidity for the YDAI/YGNO and NDAI/NGNO markets will mean much less “impermanent loss” and so much more liquidity can be provided for the same overall loss. This can make it much more worthwhile to trade on the conditional outcomes.

1 Like

I had a go at making a profit calculator for the two market making strategies. The comparison isn’t perfect because one strategy aims at a guaranteed win given known price impact while the other aims for a “win if yes/break roughly even if no”.

Spreadsheets are a terrible tool for the job, and I could have made some mistakes.

2 Likes

Feel free to make a copy of the spreadsheet so you can edit it, or let me know if you want edit access. I’ve set it to comment only as the link is public.

I made many adjustments to the sheet over the last two days. In particular, I’ve added an estimated cost of liquidity provision, and an expected value calculation of several trading strategies. I think of the “expected value” of optimal strategies as the bonus paid to traders for providing accurate GNO impact information. What I see:

  • The current approach loses about 35% of the provided liquidity assuming liquidity is provided at 0.5, pulled at 0.95, the market is wrong 5% of the time, 2% trading fees are levied and 10x the provided liquidity is exchanged (using GIP-1 markets as a reference).
  • Market making GNOYes/DAIYes can break even with trading fees of 0.1%, assuming again that trading is 10x liquidity, 7-day volatility of GNO is 10% and the price impact is also 10%
  • Low fees can have a very large impact on the optimal strategy expected value; “optimal strategy profits” can be 3 times higher for correctly predicting a 10% price impact with 0.1% fees vs 2% fees. This greatly increases the incentive for people to accurately predict the price impact.

I think this proposal is critically important. It’s plausible that DAIYes/GNOYes and DAINo/GNONo markets could be provided with 100 times the liquidity and greatly reduced trading fees for similar overall costs, and consequently traders would have a several hundred fold stronger incentive to provide accurate price impacts.

Incidentally, might other people or organisations be interested in trading or creating conditional markets if we got the infrastructure built? Imagine if it was possible to buy ETH for DAI iff EIP-1559 was implemented by April with similar fees and slippage to buying regular ETH for DAI Uniswap (I know there were Omen markets for this right now, but “similar fees and slippage” is not the case there!)

2 Likes

Yeah, this is a use-case I really want to advocate for.

With the launch of the conditional token explorer (which is great), it is currently possible to change markets to this structure. The model would be very similar to augur foundry. Traders would:

  • Split positions and wrap on conditional token explorer
  • Trade yGNO/yUSD on uniswap

GnosisDAO would LP for yGNO/yDAI and nGNO/nDAI on uniswap (or similar).

Currently augur foundry is providing liquidity for the Know Your Customer market.

As noted in the posts above, making markets in this way is much cheaper and makes it possible to provide much stronger incentives to discover the true Gnosis impact of proposals. On the other hand, the interface is quite bad - users have to split and wrap on CTE, look up the token contract address somewhere, discover it on uniswap then execute the swap. In addition, I estimate I spent about $40 on gas executing a trade on Augur foundry. Together, these might be a substantial disincentive to trade.

There’s been little trade volume on the Augur foundry market (check the price history, the volume doesn’t show up for some reason) even though there is substantial liquidity and I think the trade is quite profitable - I might have missed some news, but at the moment I think that this market has about a 95% chance to resolve no, while yes tokens can be sold for $0.31 (I have 1000 no shares and sold 1000 yes shares on uniswap). The low trade volume could be because the market is poorly advertised, because most people think it’s priced about right or because there is a lot of friction in the trading process.

Overall, I think if we want accurate Gnosis impact estimates it is probably beneficial to make markets in the yes/yes and no/no pairs even with the poor UX and higher gas costs, as I think the opportunity to provide more liquidity outweighs these considerations.

1 Like

We actually tried this recently with Trump tokens. Unfortunately, there were a couple of issues:

  1. the CTE wasn’t public yet, so there was no easy way for people to get their hands on the outcome tokens in large quantities.
  2. the current wrapper strips all of the metadata, so all outcomes look the same on most other interfaces (Uniswap, etc). I was able to get the metadata onto Coingecko (yes and no) and the Kleros list on Uniswap, but this only solved the problem for a fraction of users.
  3. Gas prices were pretty crazy at the time

Nevertheless, I think it’s worth experimenting with more. @david_albela and I will start working on some improvements to Gnosis Impact, including this, in the new year.

@auryn_macmillan @david_albela has there been any progress on this? Depending on where things are at, I am interested in having a go at building an interface for making trades like this. My concept is basically to try to stick Uniswap and the CTE on the same page and then figure out some way to make it easy for users to select a condition and find the appropriate tokens in the Uniswap trade interface. If I did this it would be my first crypto project and my third web development project, so I don’t anticipate doing it especially quickly.

1 Like

We haven’t made any progress on this just yet. But you might be interested in this new LS-LMSR AMM contract.

@david_albela is also working on an improved version of the ERC20 wrapper with custom metadata, which should make it much easier to properly identify conditional tokens on other interfaces.

1 Like

Yes, right now I’m adding the current 1155-to-20 PR on the CTE (develop branch) to be able to test it on rinkeby. I can return back with Impact after the integration.

1 Like