With the increase of cryptocurrencies into different blockchain markets (Ethereum, Bitcoin, Waves…), the demand for exchanges has exponentially increased, causing the launch of several portals like Bitfinex, Bittrex, Kraken, Poloniex, Liqui and many others. While they are each a little different, the one thing all these exchanges have in common is that they are all centralized.

Centralized exchanges assume the responsibility of matching users bids and asking users to buy cryptocurrency token. In order to do that, they manage customers’ funds and as a result, hold a huge amount of tokens in cold and warm wallets. This represents a single point of vulnerability where a centralized exchange can easily be targeted by attacks like MtGox and Bitfinex, which lost 650,000 BTC and 120,000 BTC respectively — hundreds of millions of dollars at the time.

Decentralized Exchanges

According to Waves Team, “Decentralized blockchain tokens are being traded on very centralized exchanges. Essentially it’s a contradiction in terms, that manifests itself in these exchanges being hacked all the time. You just can’t trust a centralized service with your decentralized tokens.”

Although we have seen exchanges like Bitfinex taking responsibility for their flaws and paying clients back from their pockets, it’s inevitable: Waves has a point; we should invest in quality, effective decentralized exchanges.

Decentralized exchanges do not hold funds; instead, they just manage trades by users that sign their transactions directly to each other’s wallets, meaning that there is no centralized agent controlling those assets.

I personally had experience trading tokens on Etherdelta. In contrast to Waves, it doesn’t use server-side logic to match orders on the orderbook. Even when you have equivalent orders on both sides, users are the responsible for choosing one of them and executing the trade. Despite the disadvantages of not having an automatic match in the order book and the slowness inherent with the onchain/offchain communication, one cannot help but appreciate the advantage of using your metamask wallet directly within the app. Every order is a free signed transaction; you only pay if you are the one executing the order, which brings a high level of transparency and offers individual user control of funds.

Etherdelta Screencast

Another decentralized exchange that has been building a big community is 0xProject. In fact, 0x is a protocol for exchanging ERC20 tokens in a decentralized way. According to their blog, “Relayers will be able to build exchanges on top of 0x and start earning fees immediately”. Protocol development like 0xProject facilitates the implementation of more complex platforms that demand token exchanges different from ethereum.

For example: consider Aragon, a DAO that acts as a digital jurisdiction which all kinds of companies can operate, using a decentralized court system. Aragon has its own token, ANT, that is used to rule aspects of its environment. With an ERC20 token, it would be impossible for companies to accept anything but Ethereum, and that would be inflexible. As a result, they have decided to partner with 0x to “allow Aragon organizations to accept and operate with any token.”

Another good example is ChronoBank, which is a decentralised recruitment solution on the Ethereum blockchain that also decided to use 0x protocol to improve their solution. According to their CEO Sergei Sergienko, “ChronoBank relies on good liquidity and deep order books to ensure people get paid what they are supposed to, and this is one way we can help ensure that happens.”

It’s not hard to imagine the benefits of implementing this kind of protocol across a wide variety of blockchain solutions. As most develop their own tokens, but have users which would most likely prefer to receive all kinds of payments in mostly adopted currencies (such as bitcoin), having a solution for trading assets is no brainer. Auctus itself is a probable candidate to implement 0x protocol next as it deals with token trades daily and wants to offers their users flexibility.

Areas for Improvement

Being a new implementation of a new technology, smart contract-based exchanges naturally have room for improvement. As mentioned on The Cost of Decentralization in 0x and EtherDelta article, a few such areas for improvement include:

Exposure to arbitrage, vulnerability to miner frontrunning and exposure to exchange abuses are without a doubt, real issues; however, these issues exist when the protocol is used to build decentralized exchanges. They do not affect the usability of other protocol applications, i.e. when it is used in platforms which exchange tokens internally.

Decentralized governance, side deals and maker griefing were pointed as 0x specific weak points. It’s easy to avoid a 51% attack (with an onchain or offchain implementation); we strongly believe this is already in 0x project team’s plans.

Maker griefing — an attack where an order maker moves the tokens that were supposed to be involved in a order, causing it to fail — is definitely an implementation flaw, but for now the technology challenge for performing this kind of attack leaves in the protocol’s scalability plans.

Disclosure

With the evolution of blockchain technology, the need for modularization has become clear. Every day applications are being developed and often times, common functionalities between the applications are reimplemented with no patterns. They key for a robust evolution of the blockchain community lies in having many areas for improvement which support modularization protocols. Lots of systems can benefit by a decentralized exchange protocol and as the adoption increases, we will be able to contribute to its constant improvements.

To keep up with our progress

Twitter||Facebook||Github||Site||Reddit||Linkedin