In the two years since the Ethereum blockchain’s genesis block, numerous decentralized applications (dApps) have created Ethereum smart contracts for peer-to-peer exchange. Rapid iteration and a lack of best practices have left the blockchain scattered with proprietary and application-specific implementations. As a result, end users are exposed to numerous smart contracts of varying quality and security, with unique configuration processes and learning curves, all of which implement the same functionality. This approach imposes unnecessary costs on the network by fragmenting end users according to the particular dApp each user happens to be using, eliminating valuable network effects around liquidity. 0x is the solution to this problem by acting as modular, unopinionated building blocks that may be assembled and reconfigured.
0x protocol token (ZRX) is utilized in two ways: 1) to solve the coordination problem and drive network effects around liquidity, creating a feedback loop where early adopters of the protocol benefit from wider adoption and 2) to be used for decentralized governance over 0x protocol's update mechanism. In more detail:
ZRX tokens are used by Makers and Takers (market participants that generate and consume orders, respectively) to pay transaction fees to Relayers (entities that host and maintain public order books).
ZRX tokens are used for decentralized governance over 0x protocol’s update mechanism which allows its underlying smart contracts to be replaced and improved over time. An update mechanism is needed because 0x is built upon Ethereum’s rapidly evolving technology stack, decentralized governance is needed because 0x protocol’s smart contracts will have access to user funds and numerous dApps will need to plug into 0x smart contracts. Decentralized governance ensures that this update process is secure and minimizes disruption to the network.