Sunny : So could you go ahead and maybe walk through us a little bit about how the DutchX system works and like you know the mechanisms of this exchange and how I feel most people might if when they think of exchanges they’re probably usually thinking of order books that’s about what most people are familiar with. So how does this compare to a traditional order book mechanism.
Martin : Right. Right. So it’s kind of suggested to do to preface that the Dutch Exchange is, yeah I would make the claim it’s right now the only fully decentralized mechanism that cannot be attacked by front running especially from miners. So and we had to do like compromises for that. So how does it work. Yeah it uses the Dutch auction model so let’s say something you want to sell what tokens you want to sell.
Sunny : Let’s say some maker tokens.
Martin : Maker tokens right. So. So there is a pair maker and that’s actually one of the pairs that’s quite active on the DutchX maker Ether let’s say. And roughly the system starts every six hours in auction. So there is a period before the auction where everyone who wants to sell maker tokens. Like puts their maker tokens in this pot. And at some point as the auction starts. And basically the optic mechanism is now trying to sell all those mega tokens that are all in one pot for as a high price as possible. So what it will do is it would start a Dutch auction so that means it starts at a high price. And high ins in our case is defined as two times the previous price. So the previous price is roughly the market price. So it starts at two times the previous price and then the price or you can if it offers this to the to the market to anyone who can do Ethereum transaction on the auction at a dropping rate. So the price continuously drops and now as someone who wants to buy maker you can as the price reaches the level where you are comfortable with you can make a bid. Or you can send Ether. And at that point you know you have the guarantee that you will get that price. Or if the auction continues and unless you clear it it will continue. You then eventually get the final price and the clearing price is the price where there’s enough buy demand at that price to clear the full auction and the pricing function goes like after six hours. So it since it’s a 1 divided by X function after six hours it reaches the previous price and it goes all the way to zero. So after twenty four hours it basically goes to zero. So then there will we definitely expect that they will then be shortly before zero there will be a buyer. I mean obviously ideally around after six hours when it reaches the market price roughly the market price it should close the auction.
Sunny : And so how often does this cycle begin again and again.
Martin : What more or less every six hours. So as the auction is cleared there’s just a 15 minute delay period. And if then there is enough volume and in the current design enough volume means at least one thousand dollars. The next auction would start immediately. So on a liquid on a somewhat liquid pair that has enough demand for his thousand dollar trade every six hours at least. Yeah it would more or less every six hours have a cycle.
Brian : And so is the idea here, like how do you think about liquidity in this context this is something that you think will just naturally come. Because there will be arbitrage opportunities if there isn’t enough liquidity or….
Martin : So I would say the Dutch auction is a good mechanism or there are two use cases I would say. Or maybe more. So one for just very illiquid tokens where you hardly have a market at all. So finding a price every six hours is already like good enough. For liquid tokens, why would you use the Dutch Exchange? For liquid tokens I would say you would only use it for large or you would only want to use it for a large enough volume so that on on the if competing liquid market then you would already moves the price significantly. Because there is slippage. So one experiment we are doing just the 10 days before the DAO would start to do demonstrate this claim and we will for 10 days each day put one hundred thousand dollar and die order in. So we are each day selling or buying Ether, so selling die for Ether. So Gnosis will basically just buy some more Ether with dye. And yeah we are very curious what the final price will be and how the final price will will compare to what the market price at the time. So our claim would be there is no Dex currently that can handle a hundred thousand dollar market order. The DutchX should be one that can do that and roughly the reason is because. Because it basically gives market makers the perfect the perfect setting to do arbitrage or to kind of trade everything where they can get liquidity because it’s totally predictable. So this order is coming in. They can see that hundred thousand dollar. It’s starting at this high price and they see over six hours they slowly see it coming. And during this time they can do all the market makers all the arbitrage people can like compete against each other to give that order the best price. Compare that to if you would just put the market order on a normal exchange and then you only get the price that is available at that moment. So here the market maker can act after they see or it has a guarantee that this volume is incoming.
Sunny : That’s really cool. So a few weeks ago we actually had James Prestwich on with a project called Summa One. And so they were actually using sort of a cross chain Dutch auctions where they were selling Ether in exchange for Bitcoin. And so it is actually very interesting to see that on all of their auctions that they’ve been running they’ve been doing something similar where they’ve just been putting up their own Ether and it’s always been being sold almost out like a 10 to 20 percent discount every time from the market price on centralized exchanges. So like you know while reading your documentation I read about this like Magnolia token and stuff like these things that will help incentivize liquidity. Can you talk a little bit about what these mechanisms are.
So liquidity is of course the biggest the biggest challenge to to get the liquidity running. And so basically the DutchX has a built in mechanism that will only kick in on February 18th and like in parallel to the DX launch. And that will basically it’s a simple strategy that as those who trade earn in the new token the and then kind of fits there’s no pre mine or whatever. So all the tokens that are purely created from trading on the DutchX and for one Ether worth of trade. You kind of every time a new Magnolia token is minted. And the magnolia token is the token intrinsic to the DutchX and it. We have this fee. This liquidity contribution so now you can think from from each auction the fraction is taken in the in the order of magnitude of 0.5%. So in something that’s somewhat comparable to fee 0.5% is taken out of an auction. And it’s like put into the next auction as an incentive to start this auction. So basically this liquidity contribution is put into the next auction and will be distributed among those who participate in this auction. So if you have a lot of Magnolia you basically have to pay less for it for this liquidity contribution but you still benefit from others paying this liquidity distribution contribution because it’s always distributed among all all traders.
Brian : Okay so that means if I’m like a market maker I do a lot of trading I get a lot of Magnolia. And then I guess it’s like when a centralized exchange rate. If you traded a lot maybe your fee goes from 0.3 to 0.1. And so here also the liquidity contributions would go down from 0.5. You know I don’t know 0.1 or something too because I have a lot of Magnolia but then I still get the distribution each time from those who have less. So it can actually mean that even if I sort of traded the same price every auction that’s actually profitable for me. And then you ensure liquidity that way.
Martin : Correct. Correct. So the fee is the your effective fee is basically the fee rate the liquidity contribution you’re paying. It’s plus the average liquidity contribution everyone else is paying and if everyone else pays a higher liquidity contribution you are a net gainer of that fee. So you get to pay a negative fee if you want to put it that way.
Sunny : What if I just wanted to try trading with myself. And just like earning Magnolia tokens so could I create a bunch of like fake tokens and just like do auctions where I’m the only buyer and seller.
Here we come for one of the reasons why we need DAO. Yeah so anyone can add any token to the Dutch Exchange protocol anytime. But only whitelisted tokens will generate magnolias for specifically that reason. Otherwise you create a Sunny token and you have 100% supply of it and you make a lot of fake trades Exactly and that’s why we need to DAO to curate such a whitelist.
Brian : But could you still have to sort of fake trading and generation of like me trading with myself.
Martin : Yeah sure. I mean as soon as you use a real token, well a token that’s whitelisted you can of course put it on the sell side but also put it on the buy side. The thing also I mean you put it up for sale and then you participate yourself during the auction. The thing is that doesn’t hurt the DutchX. It would even benefit the DutchX because you are nevertheless providing real liquidity because or at least to some extent. So on a order book you can specifically fill your own order and then you mean then you can even fake it by pretending or in some orders you can fake it by pretending you broadcasts in order but in reality you didn’t and you just like matched it yourself and you can completely it’s completely worthless to the exchange. However here remember all funds are put together into an auction. So unless like there’s no activity and this is the only one putting funds up for sale. If you then participate as a buyer you also have to well give everyone else basically in this auction that price. And if you want to make sure that you don’t lose funds, bottom line is every trading activity provides really quantity for those who who just want to trade.
Brian : Right. But couldn’t I still I find some token that nobody cares about. I mean it’s whitelisted. I mean some people trading it but now I’m doing like I don’t know five hundred thousand per every cycle and I’m just trading it myself.
Martin : Then at least that token will be very liquid on the Dutch Exchange. If you put in five hundred thousand. That means I or a random trader can easily put in ten thousand and you are very very much incentivized to do not like keep the price dropping too much because you risk your five hundred thousand so. So you are like very much committed to give the ten thousand that that kind of piggybacked on your five thousand order a very good price because otherwise you risk that others can buy your five hundred thousand below below market price.
Sunny : Yeah so I guess you could think of it like you know the assumption is that if a token was white listed there exists like some other someone else out there willing to buy or sell it and so therefore that DutchX auction mechanism will work properly because of that.
Martin : Yeah. Or at least they would say there is there is utility provided by having sufficient liquidity on the DutchX.
Sunny : So I remember a few months ago when we were in Berlin you and I were talking about like threshold decryption and stuff. So he’s got something that’s like in the current version of the DutchX protocol or is this like a future improvement.
Martin : No. So diffusion exchange is its own topic in a way. So the DutchX should really be seen as a demonstration and it’s live now and everything to say it’s possible to do something fully decentralized and game theoretically sound but I mean six hours that that’s of course a big tradeoff. So we are working on a much more sophisticated exchange auction using snarks for scalability using threshold encryption to combat like for running it and whatever but that’s more still in the it’s getting out of research stage and into development stage. But it’s at least nine month ahead or until that would see the light of main net. .
Brian : Well let’s move to the topic because of the DAO. So why does the DutchX need the DAO.
Martin : Yeah so the Dutch Exchange is really meant to be the infrastructure component for Ethereum. So for example many many smart contract systems need at some point the ability to just simply exchange one token for another or convert, they get some income in some token and they want to convert it in another token. And the DutchX should be a mechanism also for smart contracts to do that. So remember for example the smart contracts they can’t sign order they can’t have a strategy for it to kind of to participate in an order book. So they need such a simple way and they still want to get a fair price and so on. So it should be an infrastructure component. And if it’s a smart contract, the smart contract can’t easily upgrade itself or change itself. So the DutchX needs to provide a high level of reliability extremely high level of reliability. Ideally you would have the guarantee that if you kind of use it you have the the very very high guarantee that in the next 10 years ideally in the next 100 years you can just use that thing. And now you are of course you you can do a trade off so to either you make it completely unchangeable with no upgrade functionality whatsoever you just deploy contracts, they are immutable which of course is the disadvantage that you can’t approve it and you can’t like everything you every parameter you said is whitelist. Everything has to be like correct in the first try and then you can never do anything about it. The alternative is of course you have a centralized entity that can make an upgrade but then you also lose the strong guarantees because you now dependent on this central party that has the keys to it. So we think DAO is the most reasonable middle ground between but can still provide given that the DAO is widely distributed and has like ten thousand reputation holders it can provide strong guarantees that you are not reliant on a single entity anything that point to failure if you want so. But it still is agile and and can make upgrades and improvements and yeah and provide a better system.
Brian : And so you mentioned that the Dutch Exchange has been running for six months. So does the dxDAO take over the Dutch Exchange smart contractor can you can you talk a little bit about how this transition is going to work.
Martin : So when we deployed the DutchX we throw away the key or that there is no way to upgrade it. So the DutchX instance that is live right now on mainnet will be in this form as long life on the mainnet as long as mainnet exists. And maybe storage rent will eat it at some point but whatever. We have to deploy a new one. We have to deploy a new version of the Dutch Exchange which as owner and the DAO will obviously be the owner and the owner has like the ability to whitelist tokens to upgrade to contract through the update mechanism basically to arbitrary changes.
Sunny : So why can’t you you know use the same mechanism actually forever where instead of having to have a proper upgrade path we just keep on leaving the old version of the DutchX sitting on Ethereum and just keep deploying new versions and ask people who want to switch over to the new version they can move their liquidity over to the new version.
Martin : Right. I think I think that would be a sensible strategy if that thing would be its own like like DEP and an end users would directly like trade on it and then the end users could just decide to switch to the new version or stay on the old version. However if you really want to build many layers on top and you see this this exchange more as again infrastructure component you want to build all the decentralized finance applications. Say for example does those things or the margin trading that needs the price feed and the DutchX by the way should provide quite reliable or hard to manipulate price feeds. They need to price feed. They need a liquidation mechanism. And you want to put smart contracts layers on top and maybe another smart contract lay on top and then only in application then it becomes really messy if all of those layers and layers have to have their own upgrade mechanisms or then. So I do think there are fundamental infrastructure components where ideally you can build on top of them and have the guarantee that they will run and be maintained. Yeah. Will run and have continuous liquidity for for a long time and just assume there would be this fork and everyone would move to the new one but there’s one contract it’s still running on the old one. And then suddenly there’s the old one runs out of liquidity and it’s then really not anymore a very reliable price feed or you get to the prices.
Sunny : On the other hand out isn’t this also can be seen somewhat as a security vulnerability as well which like you know what we’re doing programming this is why you do package locking where you don’t want your underlying libraries to just like to swap out from under you break interfaces etc.
Martin : Of course of course. I mean absolutely. So the dxDAO is a radical experiment and it has to prove itself that it can provide this level of reliability and it has to prove itself on many levels. The dxDAO has to prove itself on a technical level that the contract needs to be secure. Obviously. It has to prove itself on a social or on a game theoretic level that kind of the the the actions of the DAO or the value system off the DAO. Yeah there are many ifs and things that first need to be proven. But eventually I would say DAO might be able to to provide those strong guarantees that it keeps things going. Does updates does like stays on top of the well most recent technology but doesn’t. Yeah but again you are not dependent on a single sector but on this collective just 10000 people or maybe more maybe to add add some thoughts on this.
So basically. Well fork rules is good. So first these two things fork rules is one only good for upgrades but it’s not good for any other kind of decision that the DAO can can make the DAO can make decisions that the fork cannot make. But I think more importantly fork rules is a great governance mechanism. It’s the best decentralized governance mechanism for decisions that are very very infrequent. So if you need to make a decision once in a year I would say that probably yeah fork rules is probably the best decentralized governance mechanism. But once you want to make many many small decisions and now we can kind of like enter like what contracts including in the upgrade situation what do we call upgrade token whitelisting an upgrade, do you want to fork every time you know whether to list a token or not. So once you are starting to speak about tens and hundreds and eventually thousands and tens of thousands of decisions a year then fork will just make absolutely no sense and you will have to have a DAO to collect decisions at scale when I am saying at scale I means at scale in terms of throughput of decisions but then scale of throughput of decisions correlate with natural scale of DAO itself. So if you have you know thousands of people they will have thousands of ideas to execute on. And that’s something that simply you have to have a DAO if you want to harvest that potential.
Sunny : Yeah I guess that kind of actually makes a lot of sense. So I’ve had this similar discussion a lot with Will Warren from 0x about like you know does your X protocol really need a governance mechanism. And I was kind of making a similar claim there saying that okay look you can just launch your 0x V2 and then all of the relayers who can just point to 0x V2 but I guess like sort of the big difference here is that my perception of that works for 0x because it’s centralized relayers and they can like individually just choose to point to the new version of the 0x contract. But if you’re really trying to focus more on like the whole a larger decentralized finance ecosystem it’s kind of who knows it might not be centralized relayers who are pointing at the DutchX. It could be other decentralized apps that are pointing at it. So you do need a more coordinated system than you would in something like 0x for example.
Matan : Yeah I mean I would even try to argue that even in 0x the minimal feature that you need which is maybe an upgrade once a year. Yeah I would say I agree with you like that fork is just just as good. But if I also think that for 0x you can think of many more things that you could do in the similar fashion and for these you need DAO’s as well.
Brian : So Matan you mention this ultimate ambition right that something like the dxDAO could make ten thousand decisions a year or maybe more. And I guess that ties into very much what we spoke about last time right to holographic consensus and so you know the mechanisms of DAO. So can you explain a little bit how is that going to work. And I was specifically curious also about you know reputation. Right there’s this thing called reputation which is going to have a key role into the dxDAO.
Matan : Sure. So firstly reputation. I mean it’s a sensitive word and you know some people interpret it differently and even more so when you compare it with the REP of Augur. So let’s just get clear the definition when we say reputation we simply mean voting power like the weight of your voting is your reputation it is just a number. But the way that this reputation is allocated to you can be anything you think of it can also be related to some tokens such as locking of tokens and we’ll probably speak about that but reputation is we just mean your voting power. The second thing about reputation is to say so often people talk when they talk about reputation what they mean, and again that’s very different from the REP token of Augur what they mean is that reputation is not transferable. Now it is partially true but then we need to decide what we mean by transferable. But I think that there is what people usually do not speak about is a more important feature of reputation which is rotation is slashable, it’s deductible. So I can in fact while in the reputation contract itself it is non transferable so we cannot transfer your reputation directly from an address to an address. You can do that indirectly so I can hold my reputation in a smart contract and then have a token owning that smart contract and then I can transfer the ownership token to another address and indirectly transfer the reputation to a different owner. But still my reputation score that is tied one to one and solidly to this address, in this case the smart contract address can be deductible by the owner of the rotation system which in this case is the DAO. So if I’m making something which is socially unacceptable the DAO can decide to slash my reputation and in fact that’s a critical element I would even say boldly that I think that’s the only way to fight with for example on chain bribery attacks. So this is roughly about reputation and maybe just really quickly about holographic consensus. I mean the whole problem. Well I think the biggest problem of DAO that was triggering this line of thought is that well basically you get into it into a scalability problem right from the beginning just as much as you get the scalability problem with consensus protocol with blockchain in the same way in fact you get a scalability problem with decentralized governance and it seemed naively you cannot make many decisions that are also resilient so this started the line of thought of holographic consensus which is basically allowing you to make decisions by relatively a small amount of reputation out of the DAO. So that is scalable but in a way that guarantees that small group is actually representative in the sense that decision made in those groups actually reflect what the entire reputation system would think if they would just have the attention to consider those decisions. So does resiliency. So as far as I know that’s the only current mechanism I’m aware of that resolve this the tension between scalability and resilience in the domain of general governance.
Martin : And that may be the one element that brought our two projects together is that that is achieved more or less through prediction markets. So you have prediction markets for the proposals that ask the question will that proposal be accepted by the vote. And that serves as a filter or a way to prioritise or boost proposals. So if the market has a high confident that this proposal will be accepted then it might be fine to lower the thresholds or the requirements for the vote mechanism to accept this proposal.
Matan : Yeah maybe just to comment on that, for a long time this big question was on the table and people have realized that governance systems, you know the regular notion of governance system, you know voting with static reputation, they’re relatively resilient but are very not scalable. At the same time markets are usually in the more effective but they’re very not resilient you can easily manipulate them. So the solution eventually was to actually combine the two. So the decisions are made by reputation holders only. But then in order to scale their capacity there is another system in prediction markets of people who only make predictions. They are not making decisions, in this manner the predictors do not make a decision but they just predict what the voters will say, and by doing that prediction they will basically scale the capacity of things that the voter can decide about.
Brian : So I have a question here. Now Martin, Gnosis is all about creating markets for like everything. And you guys made the point that reputation can be sort of transferred, it could be held by the smart contract and then maybe that controls reputation and then you could sell shares in this smart contract. I mean why not just make reputation like fully tokenized and transferrable. It seems like almost making where naturally a market could be you don’t allow a market.
Matan : Yeah. So firstly again the important point is less whether it’s transferable or non transferable. And as I said in some sense it’s indirectly transferable. That’s a conversation Martin and I had for the past three years. So it is transferable but it’s it’s deductible. And that’s really what matters. So it’s true that making it directly transferable in a way potentially opens up more problems and we don’t see the reason to do that. But it’s not the main point, the main points the deductible. And I would say that you probably can transfer and that you can sell your reputation in a very very small scale like maybe to your brother but you will not be able to scalably have it like an auction marketplace where you can buy as much opposition as you want or sell as much as you want. So it’s similar to the situation where for example often you know people talk about bribery in DAOS’s. Often bribery I would not create an attack vector so often bribery is something that is very hard to coordinate and scale up. But onchain bribery is super attackable. It’s a huge attack vector. So you want to make sure that these things are not scalable and unchainable.
Sunny : If I understand correctly, the main reason you are trying to avoid the transferability is so you have stuff be slashable. And so if someone does something not according to social consensus they can be slashed by the DAO. We have a similar problem as well in the proof of stake world and we solve this using on bonding periods where why not have a system where if you want voting power you have to bond the tokens and then you have to go through a long on bonding period. But once you go to the on bonding period then they’re transferable again. Isn’t that also a potential solution.
Matan : This this an equivalent solution and I’m just representing a more generic than that. So basically the relevant way for the DAO but more generally one of the ways to have reputation is indeed locking some tokens so you lock some tokens and then the reputation score is simply the number that reflects how much voting power you got from locking the tokens. And then you can actually play with the formula much more generally. For example it can be the amount of tokens that you locked but it can also be the amount of tokens that you locked down the time that you lock it for or many other formula and more generally you can also have reputation systems that are not coming from tokens so yes the answer is that it is equivalent but much more gentle than that.
Martin : And well maybe to jump in, that is actually one of the main mechanisms how the reputation of this dxDAO will be distributed. So one thing that’s super important to us is we tried to set up the initial distribution of this reputation or the ownership or the stakeholder ship of the DAO to be really brought and to be kind of this fair decentralized. No pre allocation to Gnosis or to DAOstack. So there will be mainly two things or three things you can do. So one is trade on the Dutch Exchange and earn those Magnolia tokens that will distribute 50% of the reputation. 30% would be given to those who locked down tokens and that will be all tokens, we expect currently a number of like 50 year situated tokens it would be whitelisted on the Dutch Exchange so any tokens that’s white listed and traded on the Dutch Exchange, holders of those tokens can just like lock down this token for up to a year and depending on how much value they lock for how long they will get a fraction of that 30 percent, 8% or 10% to Ether, the same for just locking down Ether. And the last 10% will be auctioned off for Gen tokens. That’s the DAOstack tokens. So the DAO would start having those Gen tokens and they are used to kind of subsidize the governance mechanism. So in a way the DAO will pay out those 10 tokens for successful proposals or more specifically it will use those Gen tokens to incentivize the prediction markets or to incentivize for people to make predictions that can find good proposals.
Sunny : Is there a cap to the amount a reputation. So what is the initial supply of reputation. Because it seems to me that like the 50% that’s distributed by Magnolia as well as the 30% that’s distributed by locking ERC20s both require the whitelist but it seems that the whitelist doesn’t exist until the dxDAO exists. So it seems to be like a circular situation.
Martin : That’s one of the few things we unfortunately have to predefine. So yeah we have to predefine the whitelist. We basically tried to do where it’s somewhat random but most of the top fifty, maybe we can extend it to one hundred tokens and if anyone wants to be on the White List they can contact us and then we will make sure that that’s also added. But I mean it just works fast because we have to evaluate each token, is it actually a real token in the sense that I mean each token is in some way can be an attack vector if if there is one malicious token then someone could grab way too much.
Matan : Yeah. If you’re going to put your sunny token and then control the sunny economy then you’ll maliciously generate a lot of Magnolia and basically wipe up the value of Magnolia. So yeah we want to make sure that there is no sunny tokens and the DAO will be the guard for for for later on.
Sunny : Yeah. Do you need price oracles for each of these tokens as well then.
Martin : Well Dutch Exchange.