While EtherDelta provides a fairly working decentralized exchange, there are also some major flaws evident with it. The order book processing (executing, modifying and canceling the order) in EtherDelta consume a very high delay time resulting in users having to wait for longer than usual.
In addition, some orders are being processed entirely “on-chain” which will increase friction costs since makers have to spend gas (a special unit for transaction fee used in Ethereum) every single time they create, modify or cancel their order. During system upgrade, EtherDelta will not be able to operate and users are forced to take their fund out of the smart contracts and give them to a trusted third party. This problem destroys the purpose of a decentralized system.
These issues existing in EtherDelta raised concerns for users and developers. This is where the 0x project comes in to address the problems evident in many decentralized exchanges. 0x protocol solved the problem with slow transaction evident in EtherDelta by allowing users to create their own decentralized exchange that runs on the 0x protocol. These users are called “relayers” (discussed later below). 0x also has its own token (ZRX) which is used to pay transaction and governance fees.
The major issues evident in EtherDelta were mostly due to its on-chain order book and scalability. 0x addressed these issues by the use of automated market maker (AMM) smart contracts and state channels.
- AMM smart contracts implement a price-adjustment model instead of a traditional on-chain order book where the asset’s (or token) price are gradually adjusted according to market forces and market participants. AMM smart contracts are designed to provide price stability with respect to liquidity. So in times of high or low liquidity market, the asset price will not vary much.
- State channels is simply a two-way communication channel between users, in this case between maker and taker, allowing peer-to-peer communication “off” the blockchain. This allows uncompleted transactions (value has not yet been transferred between users) to be moved “off” of the blockchain. This use of technology helps to scale the Ethereum blockchain, reducing unnecessary costs associated with transaction processes and decrease transaction time since transactions between users are no longer needed to be validated by a third party.
If you have any problems or concerns,
please seek assistance by any means below.
Tel: +66 2-032-9555