New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

J3 SAY 08 Christiane Ernst Gnosis Dutch Exchange and the mechanism design of this decentralized e

Ethereum ParisTue, Oct 9, 2018, 12:00 AM

Transcript

hi everyone hello everyone last talk for the day it's nice of you to be here rather than you must have all not realized that it's sunny outside and it's quite hot in here but it's nice that you're all here so my name is Chris and I'll be speaking I'm from gnosis and I'll be speaking about decentralized exchange that we're currently bidding so let's get into that so what are we or what are we building we're building a decentralized exchange for ELC 20 tokens and we're using a auction mechanism a Dutch auction mechanism to find the fair value for tokens so decentralized exchanges at the moment are quite hyped and they're popping up more and more so at this point in time I actually want to go into the mechanism we are using and why we think it's slightly different than all the other decentralized exchanges obviously I don't have to go into detail why we all think decentralization is great and there's no central storage of trust there's no intermediary and I think ELC 20 tokens is quite self-explanatory at this stage as well so I would like to go into the mechanism we're using and to do that I would like to start off by telling you what the traditional exchanges decentralized as well as centralized actually look like today so traditionally they're all order book based and we will go through a few of the advantages at the end that we find we have with our model and that's why it's important to quickly look into what a order book looked like like so this is what I've copied this from another extra decentralized exchange it's an order book and let me see if this works so basically these here are the accumulation of all the limits orders so you have all the people who are willing to sell and all the people who are willing to buy so limit orders gets placed into the order book so you have the the bit it's a specific amount to buy basically the maximum amount you're willing to buy you have to ask specifying the minimum amount that you're willing to sell it so you have your you have your bits and you have you ask then you have this gap in between which is called the spread so what does then market are to do a market order is an immediate execution of what you want to sell or buy just let's say these are willing oh no sorry these are willing to sell and then if somebody wants to come in and buy the specific volume they will just buy at the best available price so what is an order book an outer book is actually a continuous auction meaning that bits and asked are actually processed as they come in leading to the price discrimination where everybody really obtains that price that they're willing to buy and to bid Eady it's called this criminal discriminatory pricing so we see a few problems with this traditional model which we're trying to solve with the mechanism that we're applying so let's go into detail what these problems might be so the first and actually major problem is front running what is front running front running is of a party who has information ahead of time to make use of that information and execute a trade and before any other party is is actually able to do that some might call it insider information front running actually comes from in the traditional stock exchanges when a trader wanted to hurt something and wanted to have it executed before somebody else's and was running to another trading desk with a piece of paper and head and from getting cutting in front of another person in line basically but it's very much a problem on centralized exchanges anti centralized exchanges another problem we see is the high frequency trader which actually skim the market so basically these are automated computer programs actually probably very large computer capacity built very close to a actual exchange to obtain information with a speed advantage so we see high-frequency traders actually extracting value from the market another problem you have is a overlapped order book or crossed order book which you might not see very well let me try this so basically I explained what the order book looked like before and then if the order book actually overlaps somewhere here you might have somebody fulfilling trying to have so say these are willing to and to sell you might buy and then sell again using that arbitrage for your own advantage so you have that problem of overlapping other books we're just actually magnified if you take this to the to a decentralized version because canceling orders is actually quite there's a time lag and canceling orders but you also have in illiquid markets is you have a big spread which I explained let me keep that up which I explained is when you have your other book if there are a very limited amount of people you have a big spread and you might only have you know a few offers on either side so if a market order comes in it can very well be that the market order actually buys off this side of the order book leading to huge fluctuation in price what do what do exchanges also do they copy other books from other exchanges to make it look like they have more volume on their on their other book so basically what we're saying is taking this traditional order book model and applying it to blockchain doesn't really work especially also in the sense of front running because it magnifies there are more parties to front run there's more time to front run there's really only block time there is no continuous time the continuous auction model shouldn't be applied to the discrete space we have on blockchain okay so kind of our value proposition here what are we doing we let me just get into the auction models we're using so the first one is and what a discreet auction it's also called a batch auction it basically means before you execute trades one by one or you don't execute trades one by one you batch them together so this could even be seconds really am disallowing high-frequency traders who make use of milliseconds in their markets high-frequency traders really have a cannot be active very well when you match the orders together before you process them leading to a single price clearing all or uniform and price all the participants in that batch will obtain the same price what are we using specifically in our model until you might have guessed by the name can also start exchange we're using the Dutch auction model what is the Dutch auction many of you are might might be aware from some of the ICS you start with the really high price and it's falling bidders are active during that time and when the price is right for them they will bid when the auction closes all bidders will actually obtain the same price the same closing price what does that do that incentivizes the bidder to bid at the point in time when the price is right for them at the highest willingness to pay because they will either obtain that price or a lower price if they don't if they wait longer so there's really no better strategy than to really reveal your true willingness to pay if you get it ahead you might overpay if you get in too late you might also not be part of the market ok so how are we using these to auction mechanisms in our design we have two stages let me get into that as well so prior to the auction let's go through a example where you have token a versus token thought being exchanged for token B sellers deposit token a ahead of the auction so we are batching them together as you can see here bidders are that stage currently not active we then enter the auction phase where sellers are no longer active and bidders will take part so you actually have I keep switching my sorry you have a fixed auction volume that's being auctioned off so that doesn't change and then you have the bidders that are active during the auction phase revealing their true willingness to pay you then have a auctioneering price actually I would like to get into this part a little bit more so there's another graph just magnifying this so what is this this is the price function we start with the really high price and the price is dropping over time then you have here the bits coming in I think this one is in ether so you see here the first person values it at this price then there's another bit coming in another bit goes multiple bids and then here you see the option is cleared at where these two functions meet so when does a particular auction pairing so you have a B you have BC you have kind of any token pairing when do these start first of all if you have a B a being the sale token B being the buy token you also have the BA auction running at the same time right where B is the sell token and a is the token that is used to buy to bid they would start the earliest 10 minutes that the prior auction has closed and there is a threshold a liquidation threshold of 1000 u.s. dollar for one of the auctions to actually start this is because I mean it might be a better model for illiquid markets but you still need some liquidity for buyers to actually be attracted to be active in the market and as I said we start with a really high closing price and that is twice the prior closing price and when does an auction then and so there are really three conditions where an auction can end let me go back to this one so one of them is that enough bids have come in we're a bit actually closes the auction so imagine this bit actually was a little bit more of ether coming in then then the prize that would be for token a would actually be higher it would cross here and close the auction imagine there are no more bids coming in at this point so this volume here will remain equal and meet the price function here then that means it's closed by the prize function but because the price for a kept dropping until the volume that is already in that auction buys off or the or the a at that price and then there is a third possibility of an auction closing which is if there are no bids then an auction closes after 24 hours economically that's not expected to happen because as soon as the price is right there will be bidders or at least that's what market theory dictates if not it's probably a token of value 0 so how long does an auction take and we've designed the price function such to reach the last closing price after 6 hours so 6 hours would a good would be a good estimate obviously with the volatility it can be much more it can be less so we don't know how long an auction will take so how does this look like over time so I kind of explained to you what one auction does look like but really it's on repeat so what we've just seen is one of these so sellers deposit bidders bid then obviously the third step is that a payouts are being made and then as I mentioned once there is a closing price here we will start 10 minutes after that with twice the again and have this whole set on repeat so there's only always one auction for the same pairing at any point in time okay so many people ask me so what do I need to be active in the Dutch exchange the quick answer there are no tokens needed to be active in the Dutch exchange so gnosis the Jian out Hawkins they are not needed to be active in the Dutch exchange you may probably not all of you are familiar with our owl are those fee reduction coupons that are being created by locking down your mg no tokens they may be used to pay up to half of the fee of the Dutch exchange and then there is a another token currently called tulip but for obvious reason we're actually changing that to be called Magnolia so you will see the old slide here so tulips are also not required to be active on the Dutch exchange but they're intrinsic to the system meaning they're actually being generated by you trading on the Dutch exchange so for every ether worth of whitelisted token you will receive one tulip you can use these tulips they're locked by default and you can use them to make use of a fee reduction which I will get to in a minute so they're locked by default you may unlock them and then you may not use them for free reduction but then they're tradable and can be relocked so they're really only the inflationary we create them for every ether worth of trade and your fee reduction depends on how many tulips you hold in comparison to the entire tulip market so let's see what the fee reduction looks like so it's a step model step function sorry and the fee starts at 0.5% is the highest at 50 or 5% for both sellers and bidders if you hold 0.001 percent off the tulips of the entire tulip markets you already only have a fee of Europe point four percent this actually goes down to zero percent if you hold ten percent of the tulip market you pay no fees for trading on the Dutch exchange so to get into a little bit of a more detail on the fees as I mentioned they are by default at 0.

5% both for buyers and for for bidders and for sellers and they should be paid in the participating token the exception being participants may pay up to half in hour why would they want to pay an hour so on our exchange one owl is worth one u.s. dollar worth of fees and they might be tradable for less in the market so there might be an incentive to pay an owl but nobody has to pay an hour so then there's the reduction based on the lakh tulips as I mentioned earlier I'm going to be rebranded locked magnolia and who benefits from the fees so let me stress this the fees do not go to closest and fees paid in owl actually burned they're sent to a smart contract with no no private private address so they're they're consumed and fees paid in any token remain in the ecosystem of the Dutch exchange okay okay it's gone off here but that's okay and so what does that mean fees paid in one action in a particular token will be attributed as a sell additional cell volume for the next running auction of the same pairing so we re distributing fees within the ecosystem because we want to incentivize people who use the Dutch exchange a lot to actually benefit from the fees so yeah okay let me go let me go into some of the advantages of the Dutch exchange mechanism as I've explained it right now so the first one is that there is no front running possible by any party in this mechanism potentially the seller has over six hours to deposit their token so they're not really relying on when their transaction is being mined the bidders on similar point because so that the decreasing price function is designed such to decrease very slowly at the critical points that many blocks are actually mind and with around the same price so it's not super critical for the bidders to be in a certain block so then the auction also clears were the same price for all the sellers and all the bidders so there's really no information advantage or advantage of your transaction being in there first so on the front running obviously here any party could potentially front run on a decentralized exchange because the information is available ahead of time especially - because they they're in charge of the order the transactions are mine and which transactions at all to put in that those blocks um also because the smart contract of the Dutch exchange that matches automatically and on chain that's really also no Trust needed into the exchange and the exchange the Dutch exchange cannot front run either I've grouped some of the other advantages loosely under the title volatility and fairness so one is it's a fair mechanism to find the value for tokens and why is that that's because of the Dutch auction that we're using you really incentivize bidders by using the optimal strategy for them which is to actually be active when they are willing to pay and the highest willingness to pay also it's safe to include any sell orders of any size without slippage so slippage basically is what I kind of explained here when the order book leads to high volatility in spikes in the other book because there are so few others already accumulated in the other book as as such so what we do is the Dutch exchange it as I said has a single clearing price it matches automatically and on chain so there is also no overlapping other book and I was explaining that before that that is one of the problems that traditional models faced with that other book so there's no really no arbitrage also we are batching the orders so it's a little bit of a better model for a liquid markets and some decentralized exchanges have the problem of fulfilling one market order with many limit orders which is also not a problem here so regarding the volatility this is just another decentralized exchange and I think every every one of these is one hour and I think just one of these is a volatility already of 8% so traditional order books have a very high volatility in some cases another advantage which we see is regarding gas costs so one let me say that gas costs obviously incur and they're quite similar to other decentralized exchanges out there I can go into detail if we have a little bit of time at the end but there are three additional advantages that we see with our mechanism one is there is no cancellation of orders or no gas costs incur because you want to cancel your others because there is no cancel of cancellation of orders because we actually execute all orders and also as I mentioned before it's relatively so slow so it's not so supercritical when your transaction is smile so you may well choose a low gas price also there's no risk of incurring any gas costs because your order has failed it's been tried to being fulfilled but many traders who try to fulfill the same order leading to the fact that only one order can be processed which looks kind of like this so you can see here that these orders actually are failed orders on I think I took this from ether scan from another decentralized exchange and you can see here maybe you can't see but transaction costs still occur right there's a whole set of other advantages that we see one critical one is the usability of this mechanism for other smart contracts meaning there's no offset chain signing needed and also there is no off chain receiving and submission to the blockchain needed additionally there is no strategy that is needed for your orders to be fulfilled so in another smart contract may just deposit them into the Dutch exchange which we think is really great for other smart contracts who have the need to convert a token into another token what we will strive to be is also a reliable unchain price Oracle as I mentioned before it's all quite relatively slow so likely there will be a less volatile price and we consider this mechanism to actually be a mechanism to find the fair value of tokens meaning that we will hope to be a on chain price Oracle having mentioned so many advantages obviously this comes at the cost of speedy trading so there's actually the high frequency traders would invent to be on this model but we consider this to be a good thing some might disagree but we consider this to be good okay I I was told I can't do a live demo so I have some screenshots of what the interface could look like for the seller so let me just run you through that so you would see it's meant to be very simplistic so I tell you a little bit more detail about who we expect to be a seller and who we expect to be a bidder in this mechanism but we really expect anyone to be a seller because there's no specifics needed to know other than depositing your token so if you're familiar with shapeshift it might look a little bit like that so you may here pick what you would like to sell and D token that you won't like to receive for it the seller may then continue to order book details here you may enter you the only thing you will have to end us actually the amount that you would want to sell we will show you the estimated amount of getting based on the last price available the last closing price of the prior auction however obviously that's only an estimate and you will continue to your wallet details so your whatever you have your meta mask is plugged in here from from the beginning you will see your options and where you have still claimable tokens you continue to your other details the meta mask will pop up and you will submit your order into the next running auction okay you will be showing this because the auction will not have started and at some point you would want to come back to a specific address to claim your tokens okay right let's go a little bit into potential users so as I mentioned the seller really we've designed the interface to be super simplistic and for anyone to be used for the bidder we expect a little bit more traditional more professional traders because they actually have to be active at the point in time where the prices right for them and they will need to know what they consider to be the right price for them specific user groups or use cases is quite interesting so I don't know how many of you are familiar with listing processes on other day on other centralized or decentralized exchanges it's quite a pain for new token projects it can actually cost up to millions and the whole process is very cool so this is quite cool because anyone can can use the same mechanism and we don't take any fees to list your tokens on the on the exchange you can also throw token projects sometimes are in the need of buying back tokens so this is one way of of publicly announcing the way you would want to bite back may that be over a course of several actions it's really up to how you would want to communicate this and there's a lot of transparency in the mechanism lots of funds often have the problem that they don't know what the fair market price is they need to trust their fund managers so if they might be trading or exchanging their tokens on the data exchange they can see that this is really a fair or they can vouch that it's a fair value they've received for the exchange of that token as I mentioned earlier and smart contracts may use the exchange and also there are market makers particularly there might be interested in having zero fees to pay and still obtaining fees from the ecosystem that we redistribute in the Dutch exchange so the next logical question that you might have is then why are you bidding this and canosa's obviously it's a prediction market platform and not really in the business of decentralized exchanges also as you have might have gathered we don't really gain anything from us so essentially if you if you were at the talk yesterday we're building a platform for prediction markets and currently we're using a automated market maker to find the price for the market essentially we would like to move to a point where it's tradable and the price can be find on a market place so it gets really a the outcome tokens created in the prediction market should become tradable and this is a very neat mechanism to find the right market price so it's very our own motivation that we would like to have a decentralized exchange because we were needed in the end for our prediction market platform speaking of which we are launching a competition next week called kenosis X you might find some Flyers on your seats as well and you can come find the team and me afterwards as well if you want to hear more about this specific project so basically we are launching three categories and R&D talking diligence and blockchain and project integration and in each of these categories you can win a total of $100,000 worth and Gino tokens so the the idea is really to incentivize others to build on some application on top of our prediction market platform and it's quite cool we have a great jury so we have our co-founders in the jury we also have Joe Lupin and Robin Hanson who can decide which project will be so I think I take some questions I have some backup slides of your but I think I just want to open up exactly so the bright the bits times the price are the cell volume right okay at that price so I as a seller can I basically if I know is any auction any of my auctions for free at any time by submitting the rest for the seller so the seller is such doesn't really have an influence on the price and is reliant on the mechanism to work to find the true value for the token however there is a fallback strategy where you might buy back your own tokens and obviously you can be in any auction active as a seller and as a buyer and you may also close in that auction as a buyer okay and so isn't a possible strategy to wait for the first bit and then finalize the auction right away and then restart it again and it doesn't this remove the same price for everybody so basically so the auctions are running at the same time right the AP auction and the BA auction will run at the same time and the condition for the next one start they always start at the same time it's when the letter one closes so essentially you may view it as this so if if this is can everybody see this okay so if this is the price function we were looking at at the whole time before and this is after six hours it reaches the prior price of one so this is six hours and then the opposite action expressed in the same exchange ap actually Smith start also at twice the price but in the BA which is half the price expressed in a B so it'll start at 1/2 and then it will kind of look like this little B at the same price after six hours and so essentially if your closes really early as you mentioned because you're closing it here right this is what you're saying then the other auction will likely only close after a longer duration say 9 hours for example okay and then the next pairing will only start 10 minutes after that is that does that answer your question I think we'll post some more information after the talk as well I think they're more questions yeah you have two Mike thanks is there a reserve price possibility so you find the seller and I don't want to sell at zero or a very close to zero can I actually know so in our so the way we view it is that being active as a seller is actually entering the market as a safe slowly executed market order so there's really no reserve price in this MVP however you may buy back if you think it's dropped too fast so there's a safety possible yeah twice sure next question yeah sure so in terms of the price moving down slowly you would think if there's a lot of say arbitrage is arbitrage in between this exchange and in different exchange yes then as soon as the price gets within the same ranges that are the exchange do you not think there's a risk of a ton of transactions just coming in during that short time yes and we would appreciate market makers making use of that arbitrage to provide liquidity to our exchange yes yeah but in that scenario is there not some kind of timing risk in that front running would still be possible not to get a better price but to the volume well I think arbitrage is not really a front running problem but there are different prizes obtained on different markets may that be because the fee is higher or the registration process is more hassle at some but there are reasons why there are different prices on different exchanges but I don't think that's considered front running I think that's making use of arbitrage which is a very similar question so like normal strategy will be that there will be some robots or something yes that will basically wait based on the to the price based on the other exchanges or it would be profitable and just beat or start beating around that price or below that price in fact is it possible to have some stop so to protect them so this is fully decentralized we don't do anything with this and actually we would like to have market makers because they will provide the liquidity that we're needing this is a two sided market decentralized yes but on the smart contract you can you can make a stop function or a function if you're bitter and dis option and the auction takes six hours is there not like a lot of risk there in terms of you can't sell it for six hours so your bid is probably gonna be I would imagine Lord and what you would pay I guess if you could immediately sell resale unlike a regular exchange and is that not disincentive for that so the seller actually has to wait for the auction to finish but we assume a seller is really interested in more like a long-term investment rather than using market fluctuation for the own gain and but the buyer then so the buyer right in the sense that they will have to wait for the price to be right to buy at that point but we will facilitate that they actually because when the buyer is active here they know how much they're getting minimum right so they actually may withdraw that minimum part and then all the increments until the auction closes and then the remainder at that point in time so they have the liquidity immediately is the I guess the incentive for like a miners the sensor transactions greater in this system so or significantly greater is it a concern if sensoring like minor censoring transactions is it can like a significant concern in the system for example like let's say someone purchased nearly all of the the volume that was available for sale and then had a smart contract that paid out a certain amount to every miner that successfully mined a block but without a transaction towards the like buying up kind of I'm not I'm not certain but there is kind of a risk that if people are bidding too high and you are active as a seller then there's an incentive to close the market early but that's very unlikely if they're more if there's not a dominant seller but I'm not quite sure I understand come come find me afterwards so we can discuss is it okay if I can yeah sure okay I so I'm more I'm more interested in if there's a significant risk of the market ending too late let's say because that miners could be potentially incentivized not mine transactions that would finish the volume and then potentially you could even like drive the price down to zero and then whoever submitted the highest bid but wouldn't then be a buyer found who were was willing to pay but to take on a high gas price to close early and get get a good price I don't know I'm asking you know I think the incentive ation on that site is kind of correct that it's a buyer you really do want to take part because if the if it keeps dropping then the better strategy of another buyer is to be active before you so you kind of intent device even if it costs you more you might factor that into your bid but then at that if there are multiple bidders who act rationally it is actually rational to close the auction at that point in time but this is like the the bidders would be unable to close the auction because the minors won't process those transactions they won't add them to the chain because because somebody is like a bribing system and they would and they would pay this through the tokens that they got for basically free I guess that's possible but the price function really is designed to be so slow that there are multiple blocks around the same price may be alleviating that problem that's all I know about the the details of that are there any more questions thank you [Applause]

Automatic transcript — names and jargon may be misspelled.