How the Gnosis Dutch Exchange Makes Token Trading Simple, Fair, and Safe

Nadja Beneš
ConsenSys Media
Published in
6 min readMar 13, 2018

Gnosis’ DutchX mechanism remedies the drawbacks of traditional order book based exchanges like price volatility, illiquidity, and high fees.

When we introduced the Gnosis Dutch Exchange, we showed that the current implementation of order book based centralized and decentralized exchanges face some major shortcomings. High risk of loss of funds, difficulties in less-liquid markets, and manipulative practices like front-running are major inhibitors of a mature token market economy.

We’ve demonstrated that the mechanism of the Gnosis Dutch Exchange remedies these drawbacks by enabling a fair price finding mechanism that encourages participants to reveal their true willingness to pay and by eliminating front-running, a major problem for both order book based centralized and decentralized exchanges. Front-running is when someone acts on information that is available to them first (e.g. miners who can decide in which order they are putting transactions into a block, and in which block they’re putting the transactions into).

In the first state of the DutchX, when sellers deposit their sellTokens, they potentially have more than six hours to do so. This reduces the emphasis on which block their sellOrder is mined. Bidders, being active in the second state when the auction is running, have a similar advantage: The price function decreases so slowly that the price will not significantly change over the course of a number of blocks. The price for all sellers and the price for all bidders will be the same — making it irrelevant at which point their transaction is mined. The exchange itself also cannot act on information ahead of time: the smart contract code of the DutchX matches automatically and on-chain.

Hence, with batched orders entering the block at the same time, the auction clears with the same price for all bidders and sellers. Neither miners nor other participants nor the exchange itself are able to game the system.

The traditional order book model of a centralized exchange — a continuous auction model that executes orders one-by-one — seems inadequate on the blockchain. It even amplifies the front-running problem. There is no continuous time on the blockchain; there is only block time. On the one hand, this leaves more time to front-run, but on the other hand, it also allows for more parties to front-run due to already publicly available information (before the transaction is executed).

The DutchX implements an entirely different design which is more suitable to the technological environment of the blockchain, and results in a number of additional benefits compared to other decentralized exchanges.

Reduced Price Volatility & Safe Market Orders

In the Gnosis DutchX, you may consider sell orders as slowly executed, safe market orders and bids as limit orders. As the smart contract batches sell orders and executes these at once, there is only one market clearing price. By batching market orders of varying size, the DutchX protects against the quick price movements that often trigger spikes, or “slippage,” in order book based exchanges.

Price volatility of a traditional order book.

Many decentralized exchanges do not match orders automatically, resulting in overlapping orders in the order book and thus creating arbitrage opportunities. This is often exacerbated by the time lag when cancelling orders. Again, due to the automatic on-chain matching with one clearing price, this cannot happen on the DutchX. On the DutchX, essentially, there is no spread between bids and asks.

Gas Costs

There is a lot to say about gas costs. To keep it short, gas costs on the DutchX are very similar to the costs on other live decentralized exchanges. However, two aspects make the Gnosis DutchX attractive from a gas point of view:

  1. Participants can choose a low gas price. Sellers, and in many cases bidders, are not in a rush to execute their trade given the slow execution time.
  2. No cancellation. All orders are executed, so users will not incur transaction costs based on having to cancel a slow or standing order. With other exchanges, the “slower” order usually has to be cancelled, but the user still incurs gas costs.
Example of some failed orders on another decentralized exchange. Transaction costs still occur!

Use of Other Smart Contracts

One particularly unique aspect of the DutchX is that it enables participants to use other smart contracts. Concretely, smart contracts may also have the need to convert a specific type of token into another. Most other decentralized exchanges require participants to either sign an order off-chain or receive a signed order off-chain and then submit it to the blockchain. A smart contract can do neither. Even with a decentralized exchange based on an on-chain order book, the smart contract would need to implement a strategy on how to place the order. This might be challenging on-chain. On the DutchX, everything is done on-chain, from placing to executing orders. Participation does not require any special strategy.

Illiquid Markets

While order book based exchanges, both centralized and decentralized, work quite well for liquid markets, they aren’t an optimal model for illiquid markets. Within an order book based exchange, an order will only be fulfilled if a bid price matches an ask price or vice versa. Hence, traders may end up unable to make a trade since their highest bid might still be lower than the lowest ask.

With illiquid markets, order book based exchanges result in large spreads and high slippage (quick price movements), on top of the regular volatility that already comes with cryptocurrencies. Because of the batching of sell orders in the DutchX, prices are less volatile and the exchange may be more suitable for less liquid markets. However, even the DutchX mechanism isn’t well equipped for very little liquidity, which is why we have introduced thresholds.

Match a Market Order with Multiple Limit Orders

Some decentralized exchanges have difficulties matching one market order with multiple limit orders. The mechanism of the DutchX is designed in a way that the batching of sell orders (and bids) with the execution of one single clearing price circumvents this problem altogether.

Fee model

As described in detail in our post on the DutchX’s fee model, fees paid in the participating token on the DutchX remain in the DutchX. Fees are redistributed within the exchange’s ecosystem, and do not go to Gnosis or any other specified party. Frequent and high-volume traders will become the main beneficiaries of the exchange: They are able to 1) reduce their fees, and 2) receive part of the total fees thanks to a redistribution model. They effectively gain ownership of the exchange.

Beyond the Exchange of Tokens

Finally, the DutchX may even add value beyond the mere exchange of tokens: The DutchX may function as a reliable, on-chain price feed. As mentioned, the mechanism should lead to a fair market price for tokens. Price stability increases due to batching orders and executing them with a single market clearing price. The DutchX could thus be used by other smart contracts as a price oracle.

The sound mechanism design and many benefits of the DutchX of course come at the expense of speedy trading: high frequency traders will surely not be one of the DutchX’s user groups. Stay tuned for our next blog post on the exchange’s different user groups and their unique advantages in the Gnosis DutchX.

Visit gnosis.pm to learn more about our revolutionary market-driven forecasting technology, and follow us @GnosisPM to stay updated on our progress.

Disclaimer: The views expressed by the author above do not necessarily represent the views of ConsenSys AG. ConsenSys is a decentralized community with ConsenSys Media being a platform for members to freely express their diverse ideas and perspectives. To learn more about ConsenSys and Ethereum, please visit our website.

--

--