Open zaptrem opened 6 years ago
I think this is an excellent idea. The 0x smart contract structure is well thought-out, forkable if necessary, and rapidly becoming a standard. Moreover, although lots of 0x relayers have launched already, none I know of seem to intend to support the variety of tokens that Etherdelta did, leaving a spot open in the market - and regardless, there's plenty of room to compete on fees.
UX / Market
By my analysis, Etherdelta did well - in terms of volume - primarily due to two factors: first-mover advantage (the first DEX with a modicum of functionality) and willingness to list new tokens. First-mover advantage is no longer present - there are plenty of functional DEXs - but there is not yet anything close to a clear winner in the next round, so a community project with a solid strategy may have a shot.
I think that Forkdelta will need to do more than just list new tokens quickly. The most important quality of any exchange is volume, which has extremely strong network effects. Providing a seamless user transition from the currently still sizable Etherdelta volume to a potential intermediate new Etherdelta backend, then later an 0x relayer, could make Forkdelta a very attractive trading destination. It would also be possible to list orders from other 0x relayers - and pay their fees, at least initially - but post new orders to the Forkdelta orderbook, giving users access to plenty liquidity through the UI while slowly transitioning the order set to Forkdelta's own system.
Technical
IPFS is a very cool project, but I don't think IPFS hosting offers immediate advantages over Github Pages - it's still slow for mainstream usage, and security-conscious users should be running the site offline anyways. It would be easy to support a mirror of the Github repository on IPFS for the subset of users who would prefer that.
I had not heard of OrbitDB (I presume you refer to https://github.com/orbitdb/orbit-db) until now - it looks promising, but have they published basic benchmarks on transaction throughput and peer-to-peer average latency? That seems like a useful research project, but it may make more sense to implement it later, as it could be easily swapped out from a simple server-hosted 0x orderbook backend after OrbitDB is more mature.
Next Steps
I am presently working on another project that would benefit from an 0x relayer with these qualities existing (the Wyvern Exchange) and, if the community consensus is in favor of this plan, I would personally be glad to implement an open source relayer backend, supporting the 0x Standard Relayer API, with which the ForkDelta frontend can interface.
Wrote up a basic orderbook implementation.
The server follows the Standard Relayer API, which the ForkDelta frontend should only need to implement once in order to talk to this orderbook or other orderbooks also using the standard API.
Whenever the ForkDelta team wants to start integrating 0x in the frontend, I'm glad to write up client-side JS examples, help get the server running, etc - whatever would be most helpful.
@protinam
Whenever the ForkDelta team wants to start integrating 0x in the frontend, I'm glad to write up client-side JS examples, help get the server running, etc
Do you have samples of it?
Description
By using IPFS to host the site, and OrbitDB and ZeroX (decentralized exchange protocol, takes care of Solidity exchange logic) to create a separate order book on top of EtherDelta's, a 100% decentralized exchange where there are no hosting costs or scaling concerns becomes possible. Along with the normal green and red orders showing up in the order book, orange ones could appear that indicate an order that will cost the taker no fees and offer a significantly lower gas price than available through the ED contract. In the future, the ZeroX infrastructure could give us access to liquidity from other exchanges like Radar Relay in addition to ED.
OrbitDB is a decentralized database protocol built on IPFS, it will enable users to make and take orders off-chain without relying on a centralized service.
Rationale
A 0% fee would undercut the industry. Along with the increased trust that comes from an entirely decentralized and open source project, integrating orders that are free to all users on top of normal ED 0.3% orders would allow a smooth transition for users as liquidity eventually moves to the new system. Finally, EtherDelta's fee code wastes a significant amount of gas, so users stand to save even more than the fee itself. This system has the potential to leapfrog all other exchanges and create an industry standard that the entire Ethereum community can be proud of.