 My name is Zach Coburn and I am here representing EtherDelta. I want to start by giving a little background about who I am. I started my career as a professional options market maker in Chicago for a firm called Optiver. And I quit that job in the middle of 2015 to pursue a career in entrepreneurship. Around the beginning of 2016 I started looking at Ethereum full-time and that's what I've been doing ever since. I am also a co-founder of First Blood which is a decentralized platform that lets eSports players challenge each other and win rewards using the blockchain for settlement. And then of course EtherDelta which I'm here to talk about today. EtherDelta really came from my realization that with the ERC-20 token standard it was possible to let anyone trade tokens through a smart contract and there really needed to be an interface to let people do that as easily as possible. So EtherDelta launched in July of 2016 and that was shortly after the Dow, the Asco and it was also months before the ICO craze even really started. When it first launched there were really only a couple of tokens you could trade. I think it was Maker and Digix and so it's really come a long way since then. It is a decentralized trading platform and what that means is that you don't have to trust a central party to hold your funds because they are held in a smart contract. And it is as of today the most used app on Ethereum by a variety of measures that I'll get into later in the presentation. Here's a screenshot of what EtherDelta looks like today. You can see there's basically a list of tokens you can trade. There is an order book depending on which token you're looking at. There's some basic charting functionality and there's this list of trades. So a question that's often asked is what exactly about EtherDelta is decentralized and what it really is is that when you go to deposit you are sending funds to a smart contract and they are held in a smart contract in such a way that you and only you can withdraw them. So you can think of it almost as a multi-sig but it's really a single-sig that only you can use with some additional trading functionality built into that smart contract. So that additional trading functionality is what enables trade settlement. Any time that you do a trade on EtherDelta you're sending a transaction to the smart contract and the smart contract decides is this trade valid and if it is it will actually move funds from you to your counterparty and vice versa. So the functions that I kind of went through already, you can deposit, you can withdraw and that includes Ether or ERC-20 tokens. Those are two separate functions meaning that when you deposit of course that's different than it would draw but also if you deposit Ether that's different than depositing a token but the user interface handles all of this for you. Then of course there's the trade function which is the core piece of functionality and order cancellation is also something that goes through the smart contract. So if you notice there's something missing here which is where is the order book and the order book is actually an off-chain construct and so whenever you go to do a trade on EtherDelta you are taking the volume that you want to trade the price you want to trade and also an expiry block number. You package all that stuff together, hash it and sign it and so what happens is when somebody else sees your order in the order book and they want to trade with it they will submit that order to the smart contract. The smart contract will check does the signature actually match the order that was created and also does the counterparty and do you have the funds available to actually complete this trade? If all those things are true and the order hasn't expired yet then the smart contract will do the trade. The expiration is of course a block number so if you'd like to have your order last forever you can choose a block number hundreds of years into the future or you can do a block number that expires tomorrow if you want the equivalent of a good for day order. This off-chain order book technology was pioneered by EtherOps which was sort of a precursor to EtherDelta that I worked on in the beginning of 2016 where it was basically a platform where you could trade options based on the Ether to US dollar price and it had a similar off-chain order book technology and the real point here is that as a former trader I really believe that you should encourage people to add liquidity and make it as cheap as possible and so when you add an order to EtherDelta it is literally as cheap as it can possibly be there's no gas fee because you're not sending a real transaction to Ethereum and there's also no trading fee so it costs you nothing to basically play the role of a market maker on EtherDelta. Every other operation that you do does involve a gas fee so if you are depositing, withdrawing, doing a trade, cancelling an order all those things involve a gas fee and then finally there is a fee for taking liquidity so if you see another order in the order book that you like and you want to trade it you'll be the person paying the fee for that and that's really EtherDelta's business model. Here's some statistics of how it's done to date there are a total of 90,000 addresses that have traded with a smart contract of course some of those might be, some people might have more than one address but it's a pretty good measure. There are 30,000 daily users using the site and it has processed a total of 3.4 million transactions in the smart contract this is a view from the site ethgasstation.info it basically lists all of the smart contracts and ranks them by how much gas is being spent on transactions going through that particular smart contract so EtherDelta is typically, it's most commonly in the first place and the percentage of gas that's going through EtherDelta tends to vary between 10 and 30% depending on the day. This next chart is a list of all the smart contracts this is from EtherScan and it's sorted by number of transactions that have gone through the smart contract since the beginning of time and so EtherDelta is in first place with 3.4 million transactions you can see a number of other names from Polonix, Bittrex, in the top 4 and 5 and then the first real DAP up there also is ENS with just over a million transactions to date this graph shows the total transaction volume since the beginning of May and it's in Ether so when the snapshot was taken at the end of October there was a total of about 1.8 million Ether that's been traded through the EtherDelta smart contract and this is really a testament to not only EtherDelta's success but really the explosion of the token economy in Ethereum you can really see June, July, that's when I would say the ICO craze really started I did a quick survey recently of EtherDelta users to get a sense for what do people think I collected some written feedback but also some numbers that I can actually show you today the first question is what is your overall opinion of EtherDelta and the plurality of people just over 20% actually love it I was a little bit surprised to see that it's so weighted to the right hand side I think a general impression of EtherDelta is that you hate it until you love it meaning you come, you're very confused, you've never used anything like this before you guys know and then five minutes later after a conversation in the support channel you figured everything out and you love it, it's the best thing you've ever used before I asked how frequently do you use EtherDelta? The majority of people use it either daily or hourly why do you use EtherDelta? So this is interesting, the top choice was tokens to choose from and so one of the things about EtherDelta is that because it's happening in a smart contract that supports the ERC20 token standard you can trade any token you would like there's no restriction some tokens end up being officially listed on the site meaning that the token has approached me and they want to actually appear on the list of tokens in the volume box whereas there are also tokens that trade just as custom tokens meaning someone imports the token address and just starts trading it and then the second place answer it's decentralized just under 30% and not the thing is that I sometimes talk to people, users of the site and ask do you know what's different about EtherDelta? and their answer is often not, oh it's decentralized there are a lot of people using it that don't really realize what are the benefits they're here because there are so many tokens they're interested in one particular ERC20 token that maybe they weren't able to participate in the crowd sale or they want to sell something and that's why they end up on the site so I'll go through a handful of lessons learned I think probably any decentralized application can have some takeaways from these the first one, maybe you remember this picture on Twitter this was a case where the URL for EtherDelta was changing from a GitHub pages URL which was etherdelta.github.io to the .com, etherdelta.com and the only way I could initially think to verify that the new domain name was actually associated with EtherDelta was to take this crazy picture late one night there was also a video the next day another thing about EtherDelta that I think is really important is there's this Gitter channel in the beginning there would be one or two users per day coming through this channel to figure out how do I use EtherDelta now there are 10,000 people signed up and it's really just a constant stream of questions and answers and I think this is really important there's actually a team behind this now so if you go on the chat room you'll see EtherDelta, Rep1, Rep2, Rep3, Rep4 they're answering questions during most hours of the day and I think this is really important especially when your DAP comes online and people actually have to understand things about how Ethereum works to use your DAP sure you can hide a lot of it in the user experience but sometimes the user is just going to have to understand how does gas work in order to really figure out what's going on this is a graph with daily volume on the y-axis and funds raised on the x-axis and I've highlighted EtherDelta here in the upper left quadrant what I'm really trying to say here is that you see a lot of these decentralized trading platform projects raising funds right now and they haven't really launched they don't get any of the volume EtherDelta is a prime example of your business model does not need to involve raising capital as a first step in order to succeed so more on that like when I was starting EtherDelta in July of 2016 and really starting to build it in late April I think I thought good and hard to myself how can I do this without first raising a boatload of cash and secondly how can I possibly monetize this without creating a token and I realized that all I really have to do is charge a fee and that's what EtherDelta has been doing for over a year now it is a respectable business model that I wish more people would do so here are some statements that I would make to new projects entering the space if your first step is to raise millions of dollars you aren't taking a real risk taking a real risk will make you work harder I mean I was a year ahead of the curve with this project but I was also working hard thinking there are probably other people who have had this exact same idea doing the exact same thing I could go in okay I didn't know it was a thing then I could have done some kind of an ICO or I could just work hard and build a product and finally having a pile of cash takes away your urgency I really think there are enough data points now that this is a very true statement and EtherDelta is a prime example of what not having a pile of cash can allow you to actually achieve so there are a handful of things that are new about EtherDelta that I want to bring up one you may have noticed that prior to the Byzantium hard fork there were a lot of transactions backlog in the Ethereum network I would sometimes look and see thousands, 6,000, 8,000 transactions pending in the Ethereum network and there would be half of them were EtherDelta transactions the Byzantium hard fork has helped a lot you no longer have to wait upwards of a day to get your trade done which is just completely unusable and you won't really as frequently find out that after you've submitted a trade it turns out someone else already did the same trade and your transaction failed wasting gas what many people don't know is that a new back and front end for EtherDelta went out the day after Byzantium and so also the front end itself is a lot more live prior to this update you may have noticed that the order book was on the 60 second refresh cycle which was pretty unbearable at times now the order book is real time and streaming into the front end and so you shouldn't have the situation anymore where there are stale orders and you can't really get a sense of where the real price is so the remaining bottleneck here is really Ethereum itself if EtherDelta gets the same level of growth that it has received since the beginning if more dApps start coming online and pushing significant transaction volume EtherDelta could be in the same spot again where there are lots of pending transactions and you can't get a trade done and so at this point EtherDelta is depending on Ethereum itself to scale to the next level if things continue as they've been going so along with this back and front end update there's a new API there was an old REST based API that people were using to do trades to present data a new socket based real time API should make it much easier to build things like trading bots on top of the EtherDelta API or things that can work with the data and display interesting graphs or things like that so there are two examples on the github there's a maker.js and a taker.js the maker.js is an example of how you can use the API to add liquidity meaning if you want to start market making by placing orders in the order book in an automated fashion maker.js is an example of how you can do that and then secondly taker.js is if you want to create trades through the smart contract itself there's an example of how you can do that so maybe if you want to build a bot that does both making and taking to potentially do arbitrages between EtherDelta order books or other trading platforms for these different tokens and those are of course available on the github and there's also a document describing the API and there is also the examples are in Node.js if you are interested in getting those examples ported to other languages there are a couple of bounties to port them to C-Sharp and Python those are the two most popular languages that people are asking questions about how they can do the same thing in a language of their choice so that's all I have thank you for listening