Are DEXs truly decentralized?


#1

Hi DAO enthusiasts!

I want to start a discussion regarding the levels of decentralization in DEXs.

We are seeing several DEX projects wrongly or perhaps imprecisely claiming to be fully decentralized, while others are taking what they call a “pragmatic” approach to decentralization.

Both of these groups tend to offer a non-custodial trading environment, open source code, auditable trade history, and censorship resistance.

These features are great, and I think essential for DEXs, yet their rejection to full-decentralization limits the benefits decentralization truly brings.

I strongly believe that to make the most out of decentralization, DEXs should have the following features:

  1. On chain trade matching: this is crucial for the validity of trades and an available record of them. Though it has made some DEXs slower and prone to front-running, this will be mitigated by upcoming scaling solutions and by implementing innovative mechanisms, as, for example, the use of the Dutch Auction model on the DutchX protocol.
  2. Avoiding Domain Name Systems (DNS) and centralized servers: these creates obvious central points of failure for DEXs. This step can be mitigated by substituting DNS with the Ethereum Name System (ENS). Eventually, centralized servers may be substituted by using Interplanetary File System (IPFS).
  3. DAO governance: giving control to the user-base/community is essential. I believe this is the most important aspect of decentralization. An infrastructure to vote on and implement protocol changes will give true “life” to the protocol, enabling changes to represent the true will of users.

So, there goes my stance on decentralization in the context of DEXs. What is your stance?

Looking forward to a thoughtful discussion!


#2

Your “stance” is fairly comprehensive, but I would add that in order to achieve “full decentralization” without falling into the trap of “pragmatic decentralization,” DEX’s need adoption.

Adoption means:

  • Simple UX/UI, including metatransactions
  • Speedy order matching
  • Asset trading other than cryptocurrency*
  • Sufficient liquidity and volume

* Why non-crypto assets? Commodities, securities, and derivatives markets dwarf the size of the crypto market. 99% of adoption is decentralizing the CMEs and NASDAQs of the world; utility tokens and cryptocurrencies don’t matter all that much in comparison to creating decentralized markets for these bigger fish.

Why is adoption important for decentralization?

Right now, the biggest hurdle to blockchain and decentralization generally have proven to be state actors. Adoption – measured in quantity of unique agents and total DEX volume – offers a clear strategy to sidestepping this issue:

  1. The more agents within the system (ideally spanning multiple legal jurisdictions), the more decentralized it is, thus the more resistant the DAO becomes.

  2. The more volume processed by its deployed DEX’s, the more money the dxDAO can collect in fees, and the more likely it will be ‘welcomed’ in various legal jurisdictions. Binance can get away without having KYC processes because it makes enough money to barter with Malta. Money permits the ability to buy friendly state actor legal frameworks.

  3. The wealthier the agents trading on a DEX, the more likely it is to be welcomed by state actors, as there is substantial overlap between policy makers and the rich in today’s ubiquitous global financial capitalism. Commodities, securities, and equities markets are huge, with many wealthy traders. There’s an additional sub-point here: wealthy traders may also possess Reputation, effectively co-opting them into becoming decentralization advocates.

What should the dxDAO’s ‘adoption strategy’ look like with these points in mind?

In no particular order:

  • The dxDAO should offer a metatransactional subscription service so ‘mainstream’ traders don’t need to deal with MetaMask or any of the more infuriating aspects of the blockchain.

  • The dxDAO should facilitate markets of tokenized commodities, securities, and equities.

  • The dxDAO should seek to co-opt with Reputation large liquidity providers and global, capital rich agents.

  • When Ethereum 2.0 is released, the dxDAO should quickly develop a speedier trading interface.


#3

That might be of some interest to mention out an emerging SEC approach to determine decentralized exchange in the EtherDelta case. At the moment it seems like not defining any distinction between centralized and decentralized exchanges. Nevertheless one can find there some prones to pay attention to when trying to fix who excersises control over exchange`s operations: (1) who wrote and deployed a smart contract code? (2) who has an access key to alter a smart contract? (3) who charges the fees?

Brief overview: TLDR )

Unlike some of the most well-known cryptocurrency platforms like Coinbase and Gemini, which generally operate as custodians, EtherDelta never maintained accounts for its users’ funds. Instead, parties could transact directly with each other using the EtherDelta smart contract. Though the EtherDelta smart contract by itself is merely code that runs on the Ethereum blockchain, the Commission found that the activities taken by its creator to bring together buyers and sellers to transact through the smart contract constituted an “exchange”. (https://www.steptoeblockchainblog.com/2018/11/sec_etherdelta_order/).

Order claims:

" 9. EtherDelta’s business operations are defined and executed by EtherDelta’s “smart contract” that runs on the Ethereum Blockchain. The EtherDelta smart contract consists of coded functions that allow for, among other things, the trading of any Ether/ ERC20 token pair. On July 8, 2016, Coburn deployed the code for the first EtherDelta smart contract, written in the programming language Solidity, onto the Ethereum Blockchain. When it was deployed, the EtherDelta smart contract created an Ethereum Blockchain address, where the smart contract “resides.” "

footnote to par.9: " Only the person with access to the private key for the “administrator account” identified in the EtherDelta smart contract can alter the EtherDelta smart contract; this access was limited to changing the permissible fees or the address of the fee account. At all times during the Relevant Period, Coburn was the only person with access to that private key and therefore, was the only person that had the ability to alter the EtherDelta smart contract. "

“21. In posts on Reddit, Coburn explained that: “[a]t a high level, EtherDelta functions just like a normal exchange” and “[l]ike any other exchange, EtherDelta has an order book of resting orders.” However, unlike a traditional exchange, “[t]here is no ‘exchange owner’ holding your funds. Hence, [EtherDelta is] decentralized […]”

“24. […] a functional test to assess whether a trading system meets the definition of exchange … if such an organization, association, or group of persons: (1) brings together the orders for securities of multiple buyers and sellers; and (2) uses established, non-discretionary methods (whether by providing a trading facility or by setting rules) under which such orders interact with each other, and the buyers and sellers entering such orders agree to the terms of the trade.”

"26. … EtherDelta operated as a market place for bringing together the orders of multiple buyers and sellers in tokens that included securities […] "

“28. During the relevant period, Coburn founded EtherDelta, wrote and deployed the EtherDelta smart contract to the Ethereum Blockchain, and exercised complete and sole control over EtherDelta’s operations […]”

At this stage in the development of platforms trading digital assets, it would be helpful if the Divisions’ staff could be more precise in delineating between exchange and non-exchange activities, such as what types of algorithms would—and would not—constitute a trading facility, or how the exchange definition applies in a decentralized environment, in which the various functions of bringing together multiple buyers and sellers of securities are provided by distinct, unaffiliated third parties. (https://www.steptoeblockchainblog.com/2018/11/sec-orders-airfox-paragon/?utm_source=Steptoe+%26+Johnson+LLP+-+Steptoe+Blockchain+Blog&utm_campaign=1fecaebdf2-RSS_EMAIL_CAMPAIGN&utm_medium=email&utm_term=0_ce3296c335-1fecaebdf2-73421429)


#4

Agree with your points 2-3 but am still a bit hesitant about on-chain order matching. Its a beautiful idea in practice but I worry when it will actually be viable! We keep hearing about scalability solutions but I still haven’t seen much concrete improvement.


#5

Hi! Thanks for your comment. If you look at the DutchX, on-chain matching is already working. While designing the DutchX, we decided to ditch the traditional order book-based model and opted to use the Dutch Auction mechanism (Price starts high and decreases, bidders place their bids, auction closes at the same price once the whole volume has been bid upon) because it permits on-chain trade matching at Ethereum’s current state. If you want to see this “concrete improvement”, try placing some trades here: https://dutchx.readthedocs.io/en/latest/cli.html