Gnosis, a blockchain-powered prediction market protocol, has announced that the team has successfully deployed the new DutchX 2.0 smart contracts to mainnet — those that govern the DutchX open protocol.
DutchX is a decentralized trading protocol invented, designed, and built by Gnosis that all developers are invited to build on. It’s a set of smart contracts and a backbone structure for both interfaces and integrations utilizing the prediction market protocol.
In the first version of the DutchX smart contracts, Gnosis relinquished its “auctioneer powers.” Which meant that neither Gnosis nor anyone else, had the ability to alter the parameters or logic of the contract. Gnosis did this to ensure that while working on a better governance solution, DutchX remained outside of central control.
The updated set of DutchX smart contracts have been subjected to lengthy internal peer reviews and also to an external audit by Solidified. No bugs were found in the audit. Gnosis also has an ongoing bug bounty (as of now, no bugs have been reported) that will run on the revised DutchX smart contracts.
DutchX was designed to operate as a fully-decentralized trading protocol, meaning that changes to the DutchX protocol must also be decided in a decentralized fashion…
[perfectpullquote align=”full” bordertop=”false” cite=”Christiane Ernst, Product Manager for DutchX” link=”” color=”” class=”” size=”16″]”Our primary aim with this new deployment is to provide the dxDAO (when it is ready) with the auctioneer powers of the DutchX. Until then, projects can already start integrating on this final version as the DutchX 2.0 will remain unaltered.”[/perfectpullquote]
- dxDAO – The dxDAO is a decentralized autonomous organization fully governed by the community that will be responsible for all changes to the new DutchX smart contracts.
- Auctioneer Powers – The auctioneer powers refer to the ability to change a number of modifiable parameters on the smart contract level. Most notably, this means changing the whitelisted tokens and upgrading the master logic of the DutchX contract.
Changes from DutchX 1.0 to 2.0
Below is an overview of the changes made from the DutchX 1.0 to the DutchX 2.0 smart contracts:
- Liquidity contribution goes down to 0.1%
- Magnolia tokens can only be unlocked at once
- Both sides of the auction each need a min. of $1,000 to start
- Closing theoretically closed auctions when posting sellOrders
- Claim and withdraw function for all auction indices together
- Proxy contracts for the Magnolia tokens
- Fix re-entry vulnerability
- Extract functionality out of the main contract
- Adapt migrations to Truffle 5
- Remove auctioneer check for upgrading the Price Oracle and Master Contract
- Add linter for Solidity
- Extract some getter functions from DutchX
- Upgrade to Solidity 0.5
- Make price oracle interface Read-Only
- Add clearing times
- Solve BadTokenProblem
DutchX and Upgradability
The decision from Gnosis to allow smart contract upgrades (via a proxy contract) has clear advantages and disadvantages. The main disadvantage of upgradeability is that it raises significant security concerns by adding another attack vector; changes to the core parameters could prove malicious. Yet, advocates of upgradeability suggest that it allows for bug repairs in contract logic, adjustments to changing regulatory frameworks, or general improvements to the protocol.
[perfectpullquote align=”full” bordertop=”false” cite=”Christiane Ernst” link=”” color=”” class=”” size=””]”In the case of the DutchX, these advantages far outweigh the aforementioned disadvantages. Why? The DutchX protocol derives much of its value from the fact that it serves as a global liquidity pool. No matter how the user interacts — e.g. via a bidder interface or a seller interface, via another smart contract, directly with the CLI or blockchain, or via trading bots, they all point towards one protocol, resulting in pooled liquidity. If upgradability weren’t possible, all these points of entry would have to be re-established upon every hard-fork — and the global liquidity pool could become split, resulting in a poor experience for users.”[/perfectpullquote]
Launching Soon: dxDAO
The community governance of the DutchX Protocol by the dxDAO will soon launch after a slight delay. It is jointly set up by Gnosis and DAOstack, eventually, both teams will step back and let the community take over when the dxDAO has officially launched.
With upgradability plus dxDAO governance, the DutchX protocol becomes self-sustainable and adaptable to a changing ecosystem and to regulatory frameworks.
The vote staking for dxDAO began this week, and will run until its launch on April 4th, 2019.