Decentralised exchanges have been a breakthrough in the world of cryptocurrency trading, an attempt to remove the inefficiencies and drawbacks posed by centralised exchanges. However, there still remain some lingering issues that still plague decentralised exchanges. A large number of decentralised exchanges running on Ethereum smart contracts have failed to generate any significant volume, due to the inefficiencies in the network. Recurring issues such as the lack of liquidity, higher expenditure, and compatibility issues with other exchanges, still continue to persist.
In the current scenario end users are exposed to numerous smart contracts which are not homogeneous in quality or security, requiring some unique configuration processes. As a result of this approach, the user is imposed with unnecessary costs, which eventually destroys valuable network effects around liquidity. Among the many projects in the “crypto-space”, the 0x project aims to solve such inefficiencies. It seeks to build a standard protocol of orders. The project implements a hybrid approach, which the 0x team refer to as “off-chain order relay with on-chain settlement”. The result of this approach allows anyone to act as an exchange via an application agnostic protocol.
What Is 0X?
Founded in 2016, the 0x project was co-founded by Amir Bandeali and Will Warren, with the aim to create an ecosystem on the Ethereum blockchain including fiat currencies, gold, stocks, digital game items etc. It should be noted that “0x” is a protocol in the 0x ecosystem, while the 0x OTC is the peer-to-peer exchange. It does not need a relayer, as long as the user connects directly using a counter party. The 0x project has its own Ethereum token, called ZRX, which is traded in a number of exchanges worldwide. At the time of writing, 0x is traded across 168 active markets with a total market cap of $102,840,337 USD as of 27/8/2019. It is available in exchanges like OkEx, Binance, Hubi, DigiFinex, Coinbase Pro, Exrates, Cointiger, MXC etc.
What Is It Trying To Do?
As mentioned before, the 0x project aims at addressing some of the lingering issues plaguing decentralised exchange in the crypto-market. It looks to expand the utility of the 0x protocol by introducing a wide range of use cases for both decentralised exchanges, as well as decentralised apps. The goals that the 0x project seeks to achieve are described in the points below.
- Tackling plaguing issues: Decentralised exchanges have been facing a myriad of problems such as high transfer fees, high costs, slow transaction rates, and the lack of liquidity. Much of this can be attributed to the DEX’s onchain, where its order book is operated. As a result each new order which is executed is limited by transaction speed. Consequently, this gives rise rising network transaction fees, which further contributes towards the growing costs.
0x has developed a standard protocol to relay orders in an off-chain environment, where orders go back to the blockchain after being settled, rather than recording each transaction. This allows trades to be executed significantly faster, while keeping transaction fees to a bare minimum.
- Lack of liquidity: The lack of liquidity on decentralised exchanges is a long standing problem which 0x seeks to address. 0x creates shared liquidity pools among disparate dApps built on its protocol, by incorporating an API framework. New entrants can thus access broadcasted orders from all the order books across the network, to bootstrap liquidity.
- Compatibility Issues: 0x aims to create a bridge between centralised and decentralised exchanges. The 0x protocol thus has the compatibility to work with both centralised exchanges as well as the influx of numerous decentralised exchanges that have started operating recently.
How Does It Work?
To understand how the 0x protocol works, we must first examine its underlying technology. The Ethereum network has long been suffering from scalability issues, which also takes a toll on the expenditure. The 0x project advocates the use of state channels by moving transactions offchain, to remedy this situation in a cost-reductive way. Users under the state channel can send and receive cryptographically signed messages. Intermediate state changes are thus recorded without the need of publishing them to the canonical chain.
In the 0x protocol, these cryptographically signed orders are broadcast off the blockchain, followed by an interested counterparty executing an order through a smart contract. Costs are minimized significantly as a result, especially for market makers. This is shown in the diagram below.
According to the above diagram, the arrows pointing towards the Ethereum smart contracts (marked by grey rectangles and circles), represent the function calls. The process can further be explained through a step by step process.
- The maker must approve the DEX contract for accessing the Token A balance
- The maker then creates an order to exchange A for B, by specifying a definite expiration time, exchange rate and a private key to sign the order.
- The order is then broadcasted by the maker.
- After viewing the order, the taker can decide to fill it
- The taker then approves the particular DEX contract which gives it access to the Token B balance.
- The taker then submits the signed order from the maker, to the DEX contract.
After the above steps, the maker signature gets authenticated by the DEX contract, which acts as a verifier. After verification, the tokens are transferred between the two parties at the maker’s predefined exchange rate.
0x has recently introduced a new 0x portal to increase the chances of discovering relayers on the network. It makes it easier to find newer markets and market places with new features such as improved WETH flow, localization, NFT support and linking directly into specific relayer markets.
What Kind Of Progress Do They Have And What Is The “V3.0 launch”?
0X recently intends to release Version 3.0 at the end of September , which is aimed at replacing the existing exchange contract which is the main storage space for the system’s logic for trade settlement. The transition to Version 3 is aimed at integrating multiple ZEIPs, flexible order matching, and improvements in leveraging meta transactions, among other modifications. A list of new features introduced with V3.0 is mentioned below.
- A new matching strategy aimed at accepting orders containing same asset pairs.
- A new Asset proxy called Static Call Proxy
- ZEIP-31 Staking Contracts
- ZEIP-40 Compatibility
- Support added for signatures utilizing ERC-1271
Since launching the 0x protocol, the 0x project has achieved quite a lot through the launch of a functional main net, with mainstream adoption steadily rising. Many dApps are already onboard the 0x protocol, including Aragon, Auctus, Augur, Blocknet, bZx, Coinbase Wallet, Coingecko, Dharma, District0x, Lendroid, Maker, Pixura, Request network, to name a few.
If you enjoyed reading this post consider following the blog for more updates on the market!