Version 2 of the 0x Protocol brings forward a high number of new developments and upgrades to a cryptocurrency landscape dramatically changing. With the launch of Version 1 in 2017, ERC20 tokens have moved from a small segment of the protocol. But as the year progressed, their use and application across the cryptocurrency community have exploded.
This isn't a surprise when taking into consideration that the number of blockchain startups between 2017 and 2018 has risen significantly. Already with the first quarter of 2018 concluded, the number of new startups looks to outmatch 2017 with ease.
What does V2 brings to the table for ERC-20?
Version 2 operates taking into consideration that the world's value is fast becoming tokenised. And that V2 needs to embrace and streamline that. Version 2 provides improved architecture for ERC-20 while also supporting other systems such as the non-fungible token, ERC-721.
Version 1 allowed for companies to develop their own token with a modest degree of support. But was significantly lacking in terms of potential for scaling.
Version 2 is different as it deploys new asset proxies, this allows for the provision of support for other token concepts that don't conform to other standardized asset types. Along with the Exchange system, v2 provides an Asset Proxy dispatcher which can redeploy assets instead of requiring the dedication of a whole other exchange.
V2 widens the scope of support from ERC-20 to include 721. This means that users will be capable of exchanging conventional Cryptocurrencies, Ethmoji's, Fan Bits, Cryptokitties and other unique crypto-based items.
0x will also allow for the transaction of other tokens as well.
“This new, modular architecture will also allow us to add support for new token standards without having to modify our smart contracts and force developers and users to upgrade.”
Improved support for EIP-712
One of the limitations that V1 users encounter when making and receiving transactions is the lack of information provided. The implementation of EIP-712 by Leonid Logvinov and Remco Bloemen added the additional information to these transactions.
Version 2 incorporates EIP-712 into its transaction system, regarding it as a standard for hashing structured data.
Taker Abstraction for safer transaction of cryptos
In V2, the taker in a transaction will be designated as msg.sender, but the system will also allow the sender/receiver to see the Ethereum address. This abstraction also allows users to only accept from a customizable list of ‘Whitelisted' addresses. With users able to add a multi-signature protocol in order to improve security.
The upgrade also includes the introduction of Trade Execution Co-Ordinators, developed to counter cryptocurrency exchange griefing against other users.
New Signature types
Users of v2 will be able to customise their signature, including adding new signature schemes such as Trezor and EIP-712. Users will be able to develop their own custom signatures, including multi-sig, BLS, ring signatures and others.
“Smart contracts can now generate 0x orders using a custom signature verification function!”
Atomic Order matching and batch fill settlement
With version 1, users needed to have . the capital available before completing any form of transactions via the system.
Version 2 allows for the system to Atomically fulfil any order requested, requiring ETH only as an expense to cover the transactions gas costs. This acts to break down the barrier of order trading and arbitrage trading.
Forwarding Contract development
“With the forwarding contract, users can simply send ETH and the orders they want to fill, and the forwarding contract will wrap the ETH and fill the orders in one single transaction, eliminating the need for WETH for takers.“
- New smart contract architecture; seamlessly support new token standards. Support for ERC-721 at launch
- More efficient order matching and cross-relayer arbitrage
- Support for new signature types and custom verification logic
- Open source framework for “forwarding contracts.” Easy user on-boarding, abstraction of WETH, and trade widget support.
- Ability to create “filter contracts” for permissioned liquidity pools
- Bulk order cancellations with a fixed sized transaction
- Projected launch: late July, 2018