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 consumes 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 fees used in Ethereum) every single time they create, modify, or cancel their orders. During system upgrades, EtherDelta will not be able to operate and users are forced to take their funds 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 problems with slow transactions 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 books 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 traditional on-chain order books where the asset’s (or token) prices are gradually adjusted according to market forces and 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 are 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.
Interested to buy 0x (ZRX)? Check the Market Now: https://www.bitkub.com/market/ZRX