Ethereum update: slow.trade is live on mainnet; Or: Why we build the slowest exchange on Ethereum.
After releasing the Gnosis Safe last week, we’re want to share yet another significant milestone on the road towards decentralized prediction markets: http://slow.trade, the first easy to use application on the open DutchX trading protocol, launched today! So what does this mean?
First let’s look at how this is relevant to Gnosis and the broader ecosystem. Prediction markets are all about trading and finding the right price (the price == the prediction). So in order for these prediction markets to operate we need trading mechanisms/ decentralized exchanges. But there are so many now – why don’t you use one of those already being built? In short: because so far these alternatives do the price finding in either a non-decentralized way OR they have significant problems with frontrunning or other attack vectors resulting in regular users not getting a fair price.
The first class are exchanges like IDEX and many 0x relayers. Here the PRICE FINDING mechanism is controlled by a centralized entity. Those entities are a great replacement for the existing centralized ecxchanges but they can not serve as a neutral base layer infrastructure component that we need for the web 3.0 we are building right now, including all the applications for prediction markets. Just to give one concrete example: for the foreseeable future a DAO will not be able to register on such an exchange and complete a KYC process to participate.
This brings us to the second category: mechanisms that fully operate on-chain. There are basically 2 categories a) on-chain order book (Augur and OasisDEX by MakerDAO) and b) bonding curves/ automated market makers (Bancor and Uniswap). Both suffer significantly from fruntrunning. This means that, as a user, you can easily lose on average a few % of the value they should get (depending on the liquidity). Here is some example code by Martin Holst Swende [how to perform](http://swende.se/blog/Frontrunning.html) such an attack against Bancor or Uniswap. The (on-chain) orderbook based exchanges suffer from the same attack vector and in addition the costs to maintain a liquid market (constantly update orders) are extremely high. And e.g Joey rightfully [mentioned that high cost](https://twitter.com/joeykrug/status/1047523742887247873) as the main reason why Augur so far only had few markets that were sufficiently liquid. More information about the flaws of existing trading mechanisms are in this [excellent talk](https://slideslive.com/38911605/smart-contract-security-incentives-beyond-the-launch) by Philip Dain at Devcon4.
So we claim that **the DutchX protocol at this point is the first and only trading system** on Ethereum that:
**a) is FULLY DECENTRALIZED**
**b) has no obvious attack vectors that result in a loss for the average trader**
This trading protocol has already been deployed by Gnosis some time ago, but today it finally becomes accessible to regular users through the first application that built on top of our DutchX protocol: slow.trade. Note that slow.trade is still a centralized proprietary website (that at this stage unfortunately also geo-blocks the US, China and a handful of other countries). We hope that over time more applications will emerge and give more user groups access to the DutchX trading protocol.
Short summary of the DutchX protocol: Alice wants to sell A-tokens for B-tokens. She deposits them in an auction and the auction system tries to sell it at as high a price as possible. It will start at 2x the market price (the price from the previous auction) and from there will fall until enough buy demand is found to sell all of the deposited A-tokens. On this note: slow.trade only provides an interface for the “seller”/”asker”. Buyers/bidders that act during the auction at this point have to use [bots/ command line interface](https://github.com/gnosis/dx-tools) tools. Full infos on our [blog](https://blog.gnosis.pm/tagged/dutchx).
So will Gnosis prediction markets be traded on the DutchX? Probably some. However – this system has of course a very significant disadvantage: trading speed – on average a trade will (6h!). Only a subset of users find that acceptable. Two example users might be a DAO/ or a samrt contract system that someone receives token A and want’s to convert them into their native token B (maybe to burn them). Such a system would not care about trading time – just about getting the best price. Similar a fund manager (or long term trader) that want’s to acquire a larger position of a token (or sell) it with a investment time horizon of many month/ many years should not care about trading speed/ only about getting a price as good as possible.
That being said – this is a demonstration that a fair/ FULLY DECENTRALIZED system is possible – [much more sophisticated ones are coming.](https://www.youtube.com/watch?v=r7WY0VUqfNU)
Summary of the advantages of the DutchX protocol
* Front-running resistance
* Possibility to do large MARKET orders (market maker can act AFTER the order is submitted, whereas on an order book they need to provide the liquidity all the time)
* This allows contracts to participate as actors
* The DutchX protocol can be a reliable price feed for #DeFi
* really really slow (6h per trade)
Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third-party interference.
Don’t forget to share the post if you love it !