After recent news of SEC taking on EtherDelta and probably other decentralized exchanges, we have to ask ourselves – how truly decentralized, are they?
Decentralization is a wide term and ranges from true decentralization, where smart contact on Ethereum neither can't be changed neither can't be stopped to some joke decentralization, like USDC, where owners of contract can pause, blacklist and swap entire contract with anything they want.
We are going to analyze EtherDelta Ethereum source code to give the precise picture of how truly decentralized EtherDelta and what options SEC and other law enforcement agencies have to control or shut down EtherDelta.
EtherDelta smart contract is present on EtherScan and only 312 lines of code. Moreover, it has classes like SafeMath, Token, StandardToken, and ReserveToken, which are quite standard implementations and we are going to skip them completely.
The main contract is named EtherDelta and is 170 lines of code. Here you go. Complete decentralized exchange in 170 lines. The true power of smart contracts. The contract defines only one role – admin. Admin can:
- Change admin.
- Change account level for a user.
- Change fee account.
- Lower a make fee.
- Lower a take fee.
- Increase a rebate fee.
As we can admin role is a perfect example of a thoughtful smart contacts design. Neither of admin powers allows to pause or make entire smart contracts unusable in any way. I especially like that amin only can lower fees, but not to increase them. Because if he could that would be the easy way to stop exchange since no one can trade with 100% fees.
There are no any other roles or backdoors defined in EtherDelta smart contract. It has exceeded my expectations. I would say EtherDelta is a great example of how true smart contract should be designed. Unstoppable and truly decentralized. Well done EtherDelta!
In other words, regulators can't shut down EtherDelta, even if they get admin key. Certainly, they can claim all the profits, but that is not going to stop trading. What would probably happen, is they shutdown frontend website and people would move to other exchanges because of pure convenience.
EtherDelta is truly decentralized and can't be stopped.