EOS – The Decentralized Operating System
After Bitshares and Steemit, Dan Larimer’s latest project EOS has also gathered lots of attention. Their record-setting crowdsale has already raised $300m and is continuing for another year. Dan joined us to discuss his journey in the industry, what connects the different projects, how EOS works and how the EOS crowdsale works.
Topics discussed in the episode
- A history of Dan’s previous projects Bitshares and Steemit
- How Dan knows when the time has come to move to the next project
- Why they describe EOS as a decentralized operating system
- The EOS approach to scalability
- Benefits and downsides of the EOS fee model
- EOS’ Delegated Proof of Stake consensus
- How EOS handles malicious validators
- Addressing criticisms around EOS’s crowdsale terms and governance structure
Brian Fabian Crain: We’re here today with the Dan Larimer. Anybody who’s been around the blockchain space for a long time probably has heard of Dan and knows Dan or has certainly heard of some of the projects that he has been involved in. So he is the guy behind BitShares. BitShares is one of the first project that was trying to do something more sophisticated with blockchain and cryptocurrency use cases. I think probably started around 2013, but we can get into that in in a minute. And then Steem, he was also a key part of the co-founder and key person behind Steemit. Of course, Steemit, many will know, which I think is a probably today one of the most widely used kind of nonfinancial use cases for blockchain. And now EOS is the last thing he does. It’s another well decentralized operating system, they call it, but we can get there a bit. You’ll see the crowdsale in just recently and they raised enormous amount of money. I think around $200 million and its price is actually keep going on for almost another year. So there will most likely raise the biggest crowdsale ever at least, you know, until the next month comes, which probably not going to take very long. And certainly, an enormous crowdsale. So he’s also the CTO of BlockOne, which is the company kind of behind EOS. So yeah, thanks so much for coming on, Dan.
Dan Larimer: Thank you for having me. It’s good to be here.
Brian: So yeah, you’ve had a long journey in this space, but maybe you can start in the beginning. How did you originally learn about blockchain Bitcoin? How did you become involved in the space?
Dan: Well, a long time ago, I started looking to question everything in my life to find the truth in everything, and that started me down the rabbit hole of free markets and Austrian economics and Ron Paul and all that. I realized through that journey that I wanted to create systems that would actually give us freedom, that entirely nonviolent. So I’ve made it my mission in life to find free market solutions for securing life, liberty, and property. And one of the very first things that you need to do if you want to secure your life, liberty, and property, we need to have the money that’s not controlled by the people who can print it and debase it and use it to enslave us. So I started trying to find alternatives to gold and silver because they were just not very easy to transport. And that’s what I discovered Bitcoin way back in 2009 when it’s possible to mine entire blocks on an average PC. So I’ve been in this space for a really long time. In 2013, shortly after MtGox had their US bank accounts seized by the US government, I realized that all the exchanges were a vulnerability in the crypto space and that there was a very real possibility that the governments could shut down the exchanges and then cuts off the flow of money in and out of cryptocurrency.
So that’s why I set out to create BitShares, a decentralized exchange with the primary feature being pegged assets that can be tracked the value of gold, silver, dollars, yen, and then it can be used to trade against the cryptocurrency. So those who need price stability would have it. In the process of building a decentralized exchange, I realized blockchain technology just wasn’t up to the tasks. Bitcoin ten-minute blocks is way too long for trades. The potential for blockchain reorganizations, the usability around account names and permissions, even the the fee structure and performance. So all those things had to be addressed. So over the course of two years, 2013, 14 and I guess, 15, I created and launched, BitShares 1 and BitShares 2 and BitShares was the first blockchain to achieve tens of thousands of transactions per second on a live blockchain nodes distributed around the world. So what I’ve been doing for the past several years is really pushing the envelope of performance toward real world use cases. BitShares is also one of the first blockchains to have named accounts and built in governance for self-funding of new proposals funded by the blockchain. People are actually directly hired by the blockchain to do work and that allows us to repurpose all the money that’s been wasted on mining and toward actually doing work that adds value back to the underlying token. So that’s what I did with BitShares, but BitShares still had the trouble of mass adoption. Most people, it was really hard sell to convince them to take their money and put it on this risky blockchain platform. It still suffered from the problem of transaction fees. You have a decentralized exchange that charges you every time you create or cancel an order even if it’s not filled. And that was a roadblock to adoption.
So after I was working on BitShares for a while, we started to run out of money to fund development and we were in the blockchain recession, so I had to come up with a plan to onboard users to get viral marketing and discovery. And that’s when I came up with the idea of a social media platform on a blockchain, a platform that would reward users for producing content. And then the content would drive organic search results to Google with onboard users. Users wouldn’t have to put any money into the system. Here’s the first blockchain that realized that you can contribute work and labor in addition to money. They’re all forms of capital that add value to the underlying token. So Steem was an exercise in massively decentralized budget allocation. We wanted the ability to have the masses allocate the block rewards, the billions of dollars that currently go to Bitcoin and Ethereum miners to allocate those among content producers in a very decentralized way. We want thousands and thousands of people every single day to get rewards. And that meant decentralizing the budgeting because under BitShares, all worker proposals had to be voted on and get everyone to agree on. And it was a process that was very difficult, very political, and people just couldn’t process that. So we had to move the decision-making authority down to a much lower level so that individuals with an upvote can allocate some of the public money. And so, that’s been very successful. Steemit has become, I believe, one of the top 2000 websites globally in less than a year. And it’s helped people all around the world get into blockchain and it’s actually taught me a lot about blockchain architecture.
So after building Steem and BitShares, one of the things I realized, they have a lot of things in common and a lot of other applications could benefit from having the same account systems, account recovery, and certainly, the performance that we’ve seen with these two blockchain. Steem and BitShares are both industry leading performance. They’ve got high transaction volume, more than 50 percent market share in the cryptocurrency space. So they’re the heavyweights and actual blockchain usage. With respect to Steem, we had to make it so every transaction was free because people don’t want to pay the upvote, they don’t want to pay to post or comment. So that was the other major innovation with Steem. So now I’m moving onto EOS and EOS is bringing it all together to provide a programmable environment where anyone can build applications like Steem or BitShares.
Sebastien: So that’s a very impressive resume. I think anyone listening to this can definitely appreciate the amount of work that you’ve been doing these past few years since first, again starting into Bitcoin in 2009 and then you work on BitShares in 2013. But with regards to this sort of this progression, working on BitShares and Steemit and other projects that you didn’t necessarily mentioned, but like Graphene, what are the common threads here that we can see? What is the progression, right? What takes you from BitShares to Steem to some other project, to another project like EOS?
Dan: The biggest lesson I learned is yes, because I learn and I’m ready to move on, the community of people out there likes things the way they are. So just like Bitcoin forked into Bitcoin Cash and Ethereum to Ethereum Classic, if you want to do major changes or architecture changes to the rules, like Steem took some risks with massive budgeting and inflation that the BitShares community was based on deflationary model and didn’t like it the few times. I tried to change BitShares to add the limited inflation to fund ongoing development. So there’s this, once you have a community and critical mass, these things have a life of their own. People have an interest in the way things are and there’s a resistance to change. So the time to move onto a new blockchain is when you’ve learned enough that you can’t move the community along with you and people want things to work the way they are. And so you create something new and you allow a new community to form and then the market to reach consensus, and anyone who wants to can sell the old token and buying the new token and it balances out and everyone gets what they want. So that’s the free market at work in resolving the super high level of consensus over very difficult questions because it’s speculative. Who knows if the new ideas are better than the old? Most people aren’t living and breathing blockchain 24/7 haven’t experienced it from the developer side as well as from the user side. So it’s a learning experience and that sometimes you have to pull a Steve Jobs and eliminate the floppy drives and the serial ports and the CD drives, right? Sometimes you have to do that. And a lot of people don’t want to let go of the old legacy stuff.
Brian: Yeah, that’s a fascinating answer. And and I can see that being, you know, kind of having these visions about change and then this community and they liked the way it is and then that kind of fiction. But so looking back now, what’s going on with BitShares today? Is that project still alive, is it well, do people actually use that decentralized exchange and are there assets on there that get real usage and traction?
Dan: BitShares is gaining tremendous traction without my involvement except for emergency situations to fix things. But yeah, it’s running on its own. Since I left BitShares, it’s only really gone up in price. And same thing for Steem. Since I left Steem, it’s only gone up in price. So maybe that’s a good thing. When Satoshi left Bitcoin, it went up in price. So that’s a sign of a mature decentralized ecosystem that’s no longer dependent on its founder. And when it comes to creating tokens, selling tokens, exchanging tokens, creating tokens that are legally compliant with your customer and restrictions on which assets they can trade against, BitShares is still unrivaled in the space. And now with the increased liquidity that you have on a BitShares token and its higher valuations, technologically, I think BitShares is a better platform for doing these ICOs than Ethereum. It’s just people don’t know about it and it’s not as well integrated into the exchanges out there. But from a technology perspective, BitShares is handling throughputs two or three times higher than what Ethereum maxes out at every single day. So it’s, really making a lot of progress.
Brian: So you’re saying BitShares today has transaction volumes going through that which are about triple that of Ethereum?
Dan: Yes. [Overlapping] Every single day.
Brian: And the primary use case having Ethereum that we know, especially ICOs locked, the people use it for a bunch of decentralized applications in early stages stuff. So what are people doing on BitShares?
Dan: [Overlapping] There’s people that are doing an ICO on BitShares. There’s people that are doing actual securities and that type of things on BitShares. People are doing remittances and things like that. So BitShares has proven one use case, Steem proved another use case, and both of those use cases could benefit from the addition of customizability, programmability. And that’s why I’m creating EOS.
Sebastien: So I’d like to come back to this idea that you were able to build these projects and then sort of take a step back and the projects continued to have a life of their own. And when looking at it, right now we’re in a period where there are many, many blockchain projects emerging every single week. A new ICO is coming out every single week. Would you say that this is a property that is desirable when looking for projects that could potentially be successful? And if so, you know, are there other properties that you think people should look at when evaluating whether or not a project has long-term viability?
Dan: Well, there’s certainly a lot that you have to know in order to evaluate whether these things have long-term viability. I see very few token distributions that I think have sound fundamentals behind them. And that the biggest challenge in the space is everyone, including the experts, has a lot to learn. There is so many different disciplines involved. Everything from economics to game theory to software engineering, and there’s so many different philosophies in play to all these things. So I certainly believe that there is a lot of ICO or and token distributions or people that have maybe good intentions, but they just don’t have the experience of years of building these things. And so they’re repeating a lot of the same mistakes or they’re throwing tokens into things that don’t need tokens or they’re making things decentralized that don’t benefit from decentralization. And that’s the biggest challenge in this space is, there’s a lot of theoretical, cryptographic anarchists without software engineering principles. And that’s the challenge. And most people look at the marketing on all these projects and they all sound the same. They all sound like they’re doing the same thing. So the details between what makes a good project and a bad project are very, very hard to tell from the surface.
Brian: Great. I definitely want to get back to this topic and hear a little bit about your thoughts on you know, what’s a good ICO, how does one properly do this, in your experience. But just one more question on this topic of moving onto different projects and that kind of evolution here. So do you think, because I think people will have the question that now you’re doing EOS, are you going to go to the next thing next year or two years? So I guess the question here is how do you think about that? But maybe also a valid answer is that you should be at a point where that doesn’t matter or how do you think about this question?
Dan: Well, I’ve made long-term commitments to BlockOne. A large part of moving on in the past was, you know, BitShares’ running out of money. That’s unlikely to be an issue with EOS. EOS is something that I’m building so that I can build future applications on it. It’s designed to be extensible, programmable, and high performance. Building the communities, there’s a lot of work. Starting over with new blockchains is not something I do lightly. I do it only when there are intractable problems with the underlying foundation. And EOS is built with so much experience from the past several projects. We’ve got such a great team working on it. Yeah, my next projects will be built on EOS, not instead of EOS. Because I’m trying to create so I want to eat my own dog food. I’m creating these products for myself. And as long as EOS can evolve with its constitution and its voting, and the EOS platform has this mission to be a platform that enables developers to build the apps they want to build and to do so in a general-purpose way. Whereas Steem had a very narrow focus on social media and its budgeting allocation strategy. EOS has a very, very broad a focus, and it incorporates the philosophies that are compatible with long-term sustainable growth. So I don’t foresee any need to move on from EOS because EOS can adapt to enable me to do whatever I need to do on top of it.
Sebastien: So let’s then move onto EOS then. So some have compared EOS to, I guess, a decentralized operating system that would allow developers to much like you would on the Android SDK or the Cocoa SDK on Mac build applications allowing you to easily access the features of that operating system. And in a similar way, I guess EOS is building sort of an operating system for blockchains where developers can build applications and easily access some of the core features of the underlying system, which would be, I guess, the computer, which, you know, probably compare Ethereum or more to that layer of the stack. So can you expand on this analogy and perhaps explain how the two compares? So if we were to compare, for instance, if I want to build something like Steemit and I have a choice between using EOS and Ethereum, as a developer, what would that look like for me?
Dan: Well, for starters, it’s not possible to build Steemit on Ethereum. It’s just too slow. It’s too long in delays. A user would have to buy tokens and they’d have to constantly buy tokens in order to continually using the platform. So all those things make Steemit something that cannot be implemented on Ethereum. Likewise, you can’t even implement BitShares on Ethereum. I know you have things like EtherDelta and other Ethereum exchanges, but all those exchanges do not have the same behavior mechanics of a centralized exchange from a user experience perspective and that’s because you’re limited by fees, performance, blockchain reorganizations. So the primary reason we’re creating EOS is because the design and architecture of Ethereum fundamentally does not support the applications I’ve wanted to build. So my primary test case for EOS is, can I build something like Steem and like BitShares on EOS? Well, EOS being general purpose. So to explain the difference between them and why we make the operating system analogy versus the computer analogy.
Sebastien: Yeah. Maybe this general-purpose notion, maybe expand on this general-purpose notion.
Dan: Well, a Raspberry Pi or a microcontroller is a Turing complete computer that doesn’t have, well, microcontrollers’ better example. It doesn’t have an operating system on it. Technically, you can program it to do anything, but it’s got limited resources and you’ve got to deal with all the hardware yourself. In this case, we’re talking about the hardware being the cryptography, the file systems, you know, writing to individual sectors and so on and so forth. You don’t get databases, you don’t get accounts, you don’t get all these things you would expect from an operating system. And in particular, most microcontrollers don’t have multiple cores, they don’t have multiple threads, so you don’t have scheduling and governance and all these other things that you would expect. So EOS is an operating system because it’s doing more resource management for you. It’s dealing with the complexities of managing the disk space and giving you a high-level database with sorted indices on it. It’s managing the account system, giving you permissions in groups and things like that. It’s managing the scheduling across multiple threads, giving you the scalability that you need out of the platform.
Sebastien: So just to stay on this topic for one second. So Ethereum, if you compare sort of Ethereum to the Raspberry Pi and EOS to the operating system, what would prevent someone from building something similar to EOS which has all these other functionalities to scalability, the increase throughput on top of Ethereum? Why is that logical stack doesn’t work?
Dan: For starters, Ethereum would have to change their fee model. They’d have to change their consensus algorithm. Even Casper Hybrid uses proof-of-work for the short-term consensus and Casper for the long-term consensus. So there is so many things that Ethereum would need to do. And then of course, you’d have to increase your throughput. I use the analogy of a road. You’ve got the speed on the road and the number of lanes on the road. And Ethereum has got a single lane road that’s very slow speed and with lots of potholes; and EOS is a multiple lane super highway with high speed limits. You can go parallel to increase performance, but going parallel too soon, there’s overhead associated with parallelism and there’s some things that you can’t do parallel like exchange orderbooks, so you need to have high sequential throughput as well as parallel throughput. So anything on the Ethereum roadmap, even their most recent Plasma does not address or enable developers to build apps like Steemit or BitShares on Ethereum.
Brian: So when it comes to general purpose, right? So you also brought up that point. Is EOS’s general purpose in the same way that Ethereum’s general purpose and that is a dream complete a scripting language?
Dan: Yes. We use web assembly, which is an industry standard with support from Microsoft to Google and Apple and others. And a web assembly is designed to provide a trusted environment for running high performance applications in your browser. We’re just running it on the blockchain. It’s a sandbox, and we added the limitation of how long it can run a so that people can’t create infinite loops. So Ethereum is technically not Turing complete because you can’t do infinite loops, you eventually run out of gas. But the same concept applies is that you can program anything on EOS. And the difference being that when you want to communicate between contracts, you can do so asynchronously or synchronously and contracts can run in parallel and you don’t have to run every contract on your local node if you don’t want to. You can just run the subset of contracts that are relevant to your business. For example, Steemit was operating on EOS. It would not have to run the BitShares exchange contracts because those contracts aren’t relevant to the social media consensus and that really facilitates. Likewise, the exchanges wouldn’t have to run everything, they’d only have to run the currency contracts that they’re supporting, and that gives a lot of benefits.
Brian: So maybe this is a good point to speak a little bit about the fee model because if you speak about it can do infinite loops,and there’s no gas, no fees. How do you handle that?
Dan: The block producers use a wall clock time, which makes it subjective. If a block producer decides to include your transaction, that means they ran it and it finished, and they are basically saying that finished fast enough for it to be included. So the block producers decide if it takes too long and as well as all the full nodes, when you broadcast the transaction to the network, every full node attempts to execute it. If it takes too long, it rejects it at the peripheral. So the block producers don’t even receive transactions, they’ve already been pre-filtered if they take too long to execute. But once they’re in a block, we know they completed and the blockchain moves forward. And if any particular block producer is a misbehaving, say they generate a block that has transaction that takes a full second to execute, they’ll get voted out and they lose their reputation and their income stream from being a block producer.
Brian: So I’m kind of curious about this because you know, if it’s about performance, but then you have to run the transaction first to see how much time you used [indiscernible 0:28:24], et cetera. Doesn’t that create a bottleneck when it comes to a throughput?
Dan: Well, there’s two aspects to performance. There’s the speed of your virtual machine. And with web assembly and just in time compilation, we can run 50,000 transfers per second, which is over 10 times faster than what you can do with the fastest Ethereum client for doing transfers. So trying to compare apples to apples here, how long does it take to do a transfer operation executed in a smart contract 10 times faster sequential throughput. The other aspect to performance is how many things can you do in parallel? And that’s where EOS shines. These transactions can be processed and filtered on many different nodes in the network, and then they can be run on many different cores on your computer. So just because that increases your performance.
Brian: And so if I now wanna use an application on EOS, but let’s say you have specific application running in subsets of the network, how can you verify that what was run is actually accurate and there was no—I’m not being given wrong information?
Dan: Sure. The EOS protocol, all the block producers and all the full nodes can run everything and verify everything. Everyone else can use a Web of Trust. People who are running the different parts of the network and collectively verify that those are valid. Additionally, every transaction is included in a merkle tree, so you can prove that a particular transaction was included in the blockchain with only following the block headers. So kinda like a check if you’ve got a cash check with the stamp from the bank on it, you know the check cleared and you know that you had payment. You might not know the balance, which would be the state, but you do know that the check went through, which means that you did receive payment from someone and that proof can then be used for other things. There is a concept in blockchain, you know, there’s the whole debate about state versus messaging. EOS reaches consensus over the messages. All messages in the blockchain are deemed valid and you can prove that a message was executed. The state, however, can only be measured when a transaction is executing. You can’t actually prove anything about the current state of an Ethereum contract until you’re executing a transaction against that state. You can prove what it was yesterday, but you can’t prove what it is today. And so proofs of a state simultaneously make things much more rigid, much harder to optimize and don’t actually give you a lot of the benefits that you would expect. Even Ethereum needs to do messages that get passed and their sharding proposals, passing messages to other contracts which then give receipts, which then you verify their receipt, is the way that they have to do sharding.
And so EOS gives light clients the ability to verify transactions without having to run everything. And if you need to query the state for whatever reason. You want to know your balance, you can query multiple nodes, multiple independent sources, compare them. And EOS has another aspect to it. Everyone who’s participating in the network with every transaction they sign, they’re also signing the hash of the constitution. And the constitution is a legally binding agreement between the users, which allows users to go for arbitration and hold users accountable for certain rules and expectations and behavior. So if you’re using a service provider to query state and they return to us a signed statement, this is what the state was at the time you queried it and it’s then later proven that they lied about it. You can hold them accountable before arbitration for any financial damages you incurred as a result of that. And so that’s a very practical tradeoff between performance and security and usability. One of the biggest differentiators between EOS and Ethereum is that we’re aiming commercial scale, big applications, the Facebooks, the exchanges, the social media sites, prediction markets, all these things that are happening on a massive scale with millions of users. Anything operating on that scale is not going to be running on your home computer over your home internet connection. It’s just not a viable approach. As well as the fact that many, many of these are completely legal where there’s no threat of a government shutdown of the entire network. There will be safe places around the world where you can run these applications in data centers with high bandwidth connections. And that gives us decentralization, scalability, and usability, both. And those are all factors that are incredibly relevant for taking blockchain mainstream.
Brian: Let’s speak briefly about fees, because I think that’s also an interesting thing, right? So let’s say in Ethereum, I want to send some transactions. Basically means I have to buy some Ether and pay for the gas. Now with Steemit in EOS, so if I understand this correctly, and I think this is the same thing in Steem is that you can buy some EOS, but then you don’t use the EOS directly to pay for transactions, but that basically the EOS you have, you kind of stake and then you get a certain number of transactions that you kind of allowed to do for free.
Dan: So there’s two aspects to this. Yes, the very basic model is to copy Steem in which case users have a small balance, just a couple of dollars, and that’s enough to allow them to transact as much as any reasonable user would expect to transact. You know, dozens of times per day. And that, you don’t even have to own it, you can have it delegated to you. So you can have one wealthy user, say, hey, I’m going to allocate my bandwidth to you if I’m not using it and that people can use it for free. And then with EOS, we’re making it so that, well, the developer, you know, Facebook pays for their servers, you don’t pay their server provider micropayments every time you request the page from Facebook or every time you liked something on Facebook. When you’re using Steemit, you don’t pay Amazon for the hosting every single time you do something. The app developers need to monetize their applications through some other mechanism other than micropayments on how they happened to implement it. The fee structure on Ethereum is entirely unpredictable. It can go up and down. Eventually, you run out no matter how much Ethereum you start out with. You consume it and then it’s gone. But on EOS, you can transact forever at a slow rate based on how much you have. And as an app developer, it’s the difference between renting and owning the infrastructure behind the app. So we don’t have to worry about the network spamming. The rate limiting algorithm means that even if you have an ICO that’s got a one-minute window during which you can get your transaction in, it won’t be possible to flood the network to such an extent that individual users won’t be able to get their transaction in.
Brian: Now to me, it seems like, let’s say at a certain time that I have to use it a lot and eat a lot of transactions, right? So my demand is high, but later would be low. So this seems to be kind of a problem here. Is it possible that, or let’s say I have some EOS and stake take it, but I’m actually not using your transaction?
Brian: Could I resell those? Is that possible?
Dan: It kind of works like your internet service provider. They give you a certain minimum guaranteed bandwidth, but of course, you can surge to higher capacities if other people aren’t using it. So if you own one percent, you can allocate one percent of the bandwidth, only when the network is 100 percent saturated. If the network’s not saturated, you can use up to 50 percent of the available network capacity or whatever the threshold will be. Certainly, a multiple of what you’re using. And since everyone is doing this, you’re going to surge at a different point in time than other people. It means they all sort of balance out. And so under normal operating conditions, everyone will actually have access to more capacity than they need to. It’s just the congestion control, the anti-spam that really that holds you back if the network’s being flooded. But for most people, it’s like having an unlimited data plan that’s actually, technically, it’s limited, but you never feel it.
Sebastien: EOS, as we mentioned, uses the delegated proof-of-stake protocol. Could you just give us a little refresher of how that works and how it compares to say other proof-of-stake protocols proposed with Ethereum like Casper.
Dan: All right. Well, for starters, there’s several different aspects of a consensus algorithm. You need to decide who’s going to produce a block, when they’re going to produce it and how are you going to determine that it’s irreversible and these are all separate problems. Proof-of-work solves it by saying we’re going to have a lottery. Everyone’s going to compete to do as much work as possible and first person to find the solution, that determines both when the block is produced and who gets to produce it. And then you have the rule of, well, after you get so many confirmations, it’s deemed irreversible. Under EOS, everyone who has a stake in the system gets to vote for as many people as they would like. There’s actually a limit to just prevent abuse. But for all practical purposes, you can vote for 30 plus different people to produce blocks. And these block producers work just like the mining pools in Ethereum and Bitcoin. I like to think of Bitcoin and Ethereum as delegated proof-of-work. The people who are producing a block are different than the people doing the voting, the mining. And so once you know who the block producers are, it’s just a question of when do they get to produce it? Well, on delegated proof-of-stake, the consensus algorithm allows all of the mining pools to take turns. Every three seconds someone else is scheduled and no one else can produce in that slot and no one can produce at a time other than their slot, which means we don’t have contention. We don’t have orphan blocks and we have very predictable one block every three seconds. In Ethereum, the mining pools could do the same thing except for the consensus algorithms of those networks don’t allow it.
And how does this compare to Casper? Well, Casper doesn’t actually solve the problem of when does it block is produced and who produces it? Instead, it leaves that as an abstract problem. And in the case of Ethereum, it’s relying on proof-of-work to solve those two things. What Casper does is it creates checkpoints after a hundred blocks, which is a really long time. By that time, it’s long considered irreversible by the proof-of-work standard. So Casper is not actually adding any security, it’s not adding any performance. At least in a security in the near term, it doesn’t protect against short-term chain reorganizations that would cause double spans from 51 percent mining attacks or any of those things. It’s just longer-term, long range attacks, it’s the only thing that Casper’s protecting against in the long-term. So every blockchain relies on voting to determine what’s going on. It’s just a question of who’s doing the voting. In the case of Bitcoin, when there are the unexpected forks, you had the mining pools vote to pick one of the chains to win and then it happened. Even with Segwit, you had a bunch of the industry leaders get together and they all sort of agreed what’s going to happen, and then now we’ve got Segwit. In any system that has a different group of people voting from the people who are the beneficiaries has the incentives out of alignment, and it basically puts power. It’s sort of like the federal reserve voting to determine whether or not to debase the dollar. The people who hold the dollars have no say in it. Or the block producers, miners are voting not to get rid of proof of work because they have financial incentive to keep proof of work, and to keep the block size small to raise transaction fees. All these things are a misalignment of incentives. So delegated proof-of-stake works kind of like a company where the stakeholders pick a board of directors and they take turns producing blocks.
Brian: My sort of sense is from, you know, trying to understand a little bit how this works, is when you have delegated proof-of-stake, right? This is literally going to be some kind of humans that you basically say, okay, you’re going to validate or you’re going to delegate and produce those blocks on my behalf. And then if they don’t perform well, you would basically withdraw voting power from them, right?
Brian: And they would use that revenue, right? So I think and this in contrast to, I think both the Casper attempt or tenements side to where the idea is more you have a security deposits and that there is a sort of crypto economic aspect of security. And if they don’t perform well, that they essentially get penalized and then those, for example, proofs can come from anybody [overlapping].
Dan: There’s two factors here. Producing a block doesn’t mean that the block is accepted. It’s still has to be valid. So you have an infinite number of validators. Producing is just sort of a proposal of a block. Hey, here’s a block. I think it’s valid. And does everyone else agree that it’s valid? So block producers don’t have the power to create invalid blocks. They don’t have the power to change the consensus of the community. Now, if you think about it, in reality, all these consensus systems are really consensus among people. We’re just using software to accelerate the rate at which we can reach consensus and delegated proof-of-stake captures that philosophy and it captures the difference, the nuance difference between the validator and a producer and they’re not the same thing. And there’s a level of checks and balances there. The other thing is with EOS, you have financial incentive to cooperate, whereas under these other systems like Casper mining, you have people producing blocks with no transactions in it. That doesn’t happen on Steem or BitShares because those people would be clearly running nonstandard software. It’d be clearly harming the network and they actually don’t have anything to gain by producing empty blocks. Whereas proof-of-work and these other algorithms, they make more money when they produce less. And if you prioritize people based only on the size of their bond, now you’re, once again, changing who’s controlling the network versus who’s the supposedly the beneficiary, who has an interest in the network. Because there’s a lot of subjective things that cannot be measured by code and it caused the forfeiture of a bond.
And there’s people like early on in Steem, many people don’t know this. We actually had a slashing condition. If a block producer produced two blocks at the same timestamp, it would get voted out and they could forfeit all they’re staking balance and all their coins are paid to the staking balance, so they couldn’t just take their money out and save it. So we have that. But the reality is, that there are any number of non-malicious reasons why a producer might inadvertently produce two blocks at the same time. For example, they’re trying to be very reliable. They have a backup node that scheduled to kick on automatically when they’re first node goes down. And that double signs a block when it wasn’t intentional, purely because of network communication or any number of things. What we found was that slashing conditions disincentivizes good people from participating because it has a very high risk associated with it. And they’re actually not needed. The loss of future income, the loss of reputation, the fact that the block producers are known, vetted individuals, means that they can’t do double spend attacks because everyone will know exactly who to go after for the double spend, right? That’s fraud. It’s against the constitution. It’s against the contractual agreement. So you can go before arbitration and resolve the issue. So these bonded approaches, the slashing conditions, they look really good from a mathematical game theory perspective until you apply actual human realities to the situation, in which case, they break down under vast variety of things that can go wrong.
Sebastien: So you mentioned the constitution. Let’s take a few minutes to talk about governance and how it’s applied in EOS. So the way that I see it, there are, I guess, two levels of governance that would be desirable. You want to have governance at the protocol level so that you can ensure that the protocol evolves and there can be changes that are made if necessary. So for instance, you know, changes need to be made to the consensus algorithm or the sort of thing. And then there’s governance that needs to occur also at the application level, where application developers and the communities around an application can also decide when this application needs to evolve. Or for instance, if there is malicious code, you know, how we revert back. And can you talk about these two different levels of governance and how they operate?
Dan: So the first level of governance, it’s kinda like the constitution, the source code that drives the consensus that drives the software that all nodes are running, that’s the lowest layer. And the stakeholders through their elected block producers get to decide when to hard fork the network or upgrade the network. Now, one thing about EOS, you don’t actually get a fork where two chains going in different directions. Instead, the entire network agrees that it’s time to upgrade and the nodes that don’t know how to run the upgraded code shut down automatically, and the network will actually wait until only the block producers who have indicated that they’ve got support for the hard fork. And so you can have 100 percent support, so you never have any missed blocks, even when you’re upgrading. An example of how successful this has been is that Steemit has been constantly evolving with major upgrades about every three months or so. It’s actually gone through 18 different upgrades without any forks being created which very seamless without any problem. That’s one of the philosophies of EOS. Things need to be adapt. It’s not the strongest that survived, it’s the most adaptable. And no project or system survives first contact with the free market. So long-term, if you don’t adapt, you die. So EOS is designed to adapt with built in governance.
So that’s at the consensus layer. Then there’s the governance of the applications. For example, if a developer creates a DAO and there’s a bug in it and all the funds are stolen. The block producers that are elected have the ability to update just that one contract without actually having to hard fork or force anyone to update. Of course, they can only do that after there’s review. And if they see something wrong, they can actually freeze accounts while it’s under review because block producers on all platforms have the ability to censor transactions. It’s just fundamental. And in fact, they censor any transaction that doesn’t pay enough fee. So there’s any number of criteria that can be applied to determining when to censor transaction, and one of them can be, hey, this account just stole $100 million from an exchange or this DAO just had a bug that inadvertently allowed someone to do it. Or this multi-sig contract just got compromised and everyone who is using it lost all their money. Those situations happen. Bugs happen. And that’s one of the things that EOS recognizes that a lot of other platforms don’t. It’s not possible to create perfect code. Even code that’s been operating flawlessly for years can have latent bugs. BitShares had one of those several months ago where a piece of code that’s been operating flawlessly, very, very subtle thing caused all the nodes to freeze. But of course, you fix it in and it goes on. The point is that whether it’s blockchains or open SSL and the cryptography that we use in all of our computers, whether you’re Apple or Microsoft or Google, code is not perfect, and you need the ability to recover. And that’s what EOS recognizes, and we design around that. And so with checks and balances, producers can fix broken programs.
And then the highest level is, of course, allowing application developers themselves to have the flexibility to create their own governance layers. They can create multi-sig or have communities vote on updating the code for their particular application. They can either have that governance or they could basically say we’re going to revoke our ability to update it and the only way to fix this is to get the system-wide governance to update this contract. So there’s all these different layers at the blockchain for self-policing. And then the very, very highest layer is relying on the contractual nature of all users are legally bound to other users to arbitration. And that ties it all back into the real world and identifies that the blockchains there to track property rights, that just because you have the ability to sign something with a private key, whether you got the key legitimately or you hacked someone’s computer doesn’t necessarily mean it’s your property. And identity is something that’s in property rights are what the systems are supposed to protect. And a lot of blockchain has been taking a very technology approach. Well, forget property rights; possession is the law, not nine tenths of the law.
Brian: Cool. Well, I think it will be interesting to see how this turns out. I mean, especially, I think we have different approaches to consensus and I think we’re sending out some interesting years ahead of us. So I would like to now move onto discussing your crowdsale and some things around also the EOS token, around that. So first of all, we have the crowdsale. What were the kind of design requirements you had, or you know, what did you want to achieve in [overlapping]?
Dan: I wanted to achieve several things. Community engagement, widespread distribution, fair or equal opportunity for many different people to get involved. So that was high-level goals. And then we structured it to simulate mining so that with mining, you’re spending a certain amount of money on electricity for a certain probability of producing a block. But on average, the more people that—you don’t know when you start mining how many other people are going to be mining so you don’t actually know what the cost is going to be at the time you get the block, but you know approximately what the current difficulty is and approximately what your cost will be. So we created a system that incentivize people to contribute equal amounts over time, which gives lots of people who are on, you know, regular paycheck the ability to put money in over a year rather than having to have all the money saved up ready to go on a ten-minute window. And so those were the things. It keeps everyone engaged.
We wanted to have a longer period of development. The EOSIO software that we’re creating, it was going to have a test network and is largely functional today. So we recognize that development of blockchains slows dramatically as soon as you have a live blockchain. You can’t change things. You have so many different parties running on it. All the exchanges need to be notified. You have to have rigorous testing to make sure that you don’t have downtime. So the rate of development falls off a cliff once you launch a blockchain. So we wanted to have six months of extra development after we have a minimal viable product during which we can still rapidly improve and enhance it, but during which people can also start building their applications under the philosophy that serious applications take three to six months at least to build. And so when the blockchain filing does launch, people will be able to launch their applications at about the same time. So that’s a high-level view of why we structured it out over a period of a year and how it works.
Brian: So the way it works. There’s just for listeners who aren’t aware you guys sold initially, I think it was 30 percent of tokens. Is that right?
Dan: 20 percent.
Brian: 20 percent of tokens.
Dan: We had an initial five—no, seven-day window where anyone could come. Everyone who contributed got an equal percentage of $200 million EOS ERC20 tokens on the Ethereum network. And then every 23 hours after that, there’s another 2 million in EOS that are distributed proportional to the total Ethereum received each of those days. So depending on how many people contribute on a day determines the price of the day and no one knows what the final price is going to be even those who contribute the very last block of each period.
Brian: So I mean, that first period that you guys raised around 200 million, something like that. And how have those auction fairs since then?
Dan: So [overlapping].
Brian: What are the token prices been?
Dan: We’ve generated approximately $300 million dollars in revenue. It’s constantly changing. Now this is revenue, that’s not investment. And we already had the money to build the product. The purpose of this is to distribute the tokens as wide as far as possible where you’re essentially taking it from being 100 percent owned by us to distribute it to the rest of the market. That’s what we’re doing with this.
Brian: So this is an interesting point. So you say this is revenue, not investment, and you guys had the money to build a product. And I think this is also kind of a point that relates to this because BlockOne is a for-profit entity. Are you guys based on US or where?
Dan: We’re an international company with incorporated in the Caymans.
Brian: In the Cayman Islands. Okay. So because that money is going to you guys so that there’s no obligation either to spend it on developing EOS. Correct?
Dan: Right. In fact, all the development of the actual software is being funded by money we had prior to the token sale. And we will not be operating block producing nodes ourselves. We won’t even start the network ourselves. There’s a difference between creating software for the New York Stock Exchange and running the New York Stock Exchange. And so we’re staying on purely on the software development side. We’re creating free software. We’re giving it away. The EOS ERC20 tokens may have no value unless the community of people decide to use our software to create a blockchain that allocates tokens one to one.
Sebastien: What are these funds? Where will these funds be used for? If they’re considered to be revenue, what was the plan here?
Dan: Well, we’re going to have a lot more details about what we’re doing as BlockOne, but we’re going to build applications and infrastructure to build a blockchain business, so we’re going to continue to advance and build the EOSIO software. But as far as the software that’s required for the initial blockchain launch, that’s funded separately from the money that’s being generated from the sale.
Brian: I mean, that is actually kind of mind boggling if you sort of wrap your head around it, right? That in essence, you guys may end up generating, I don’t know 600 million or some huge amount, maybe a billion. Who knows if this keeps going up like this, which is essentially pure profit—well, that’s not pure profit, closer [overlapping].
Dan: Very high profit margins.
Dan: Yes, yes. So as a company, we are driven by a desire to find free market solutions for securing life, liberty and property. We want to build technology that changes the world. And like any company, like Apple takes their profits and they invest in building the next great thing, right? They took their profit from the Mac and built the iPod, profits from the iPod and built the iPhone. So yeah, there’s lots of things that we can do to make a positive impact on the world with the profits we have.
Brian: Sure. I guess where this sort of contrast because most projects, the way most projects have raised money so far, you know, from Ethereum to many others who crowdsale, et cetera. You know, there’s a foundation in Switzerland [ph] right? The money is basically, it’s almost like a special purpose vehicle or something like that. Or the money is given to that foundation and then it’s basically specified for a specific use, which is building that network and then it can only be spent for that. And you know, so people kind of funding that development of that, but here is very different, right? Because that’s not funding the development of EOS.
Dan: Right. And they’re not shares in BlockOne or any other types of security.
Dan: You know, I’m not a lawyer, but we’ve seen how the SEC has come out about things like the DAO and a lot of these other ICOs, they’re really flirting with the security lines there. We wanted to make sure that the EOS token distribution was as compliant with all the laws, that it was not a security, that there was no expectation for profit. There is no expectation that BlockOne would do anything to operate the network or to a derive, to cause the final value to exist there. The only thing we’re doing is producing open source software.
Brian: So why did you guys choose to launch an ER20 token? And I mean, because a different choice would have been there. One has, basically people gave money, you know, they generate a key pair and you basically create a kind of recommended genesis block that then again, people can use or not use when they launched a network. So why creating an ERC20 token to make this trade win immediately?
Dan: Well, because the initial distribution is critical to any successful—you can take the code, but without the distribution, you have a real problem. How are you going to distribute it? If you want to launch a blockchain, you need an initial condition. So this ERC20 token is about collaboratively creating a distribution over a long period of time so that the distribution is ready at the same time as the software. If we built the software first, then we’d have to figure out how to distribute it. And that just pushes back how long it is until things can actually be used in a public network.
Sebastien: I want to come back to some of these concerns because they have been raised in the community and specifically, some concerns with the terms of service of the sale. So as you mentioned, so this is not an investment, it’s not security nor is it a right to a token. And to some people in the community, I’m reading some of the comments online that in addition to the fact that this money is going to a for-profit company and not a foundation that has a mandate to build the software is problematic because you could potentially just run away with the funds. I’m not saying that that’s something that you would like to want to do. But there is some concern there that these funds could potentially be allocated to do things that have nothing to do with BitShares or, you know, the project could just sort of dwindle off, and you guys could all leave for personal reasons. How do you reassure people in the community that this is in fact, these funds will be used for, actually, like you mentioned, about building applications, building infrastructure, building these platforms?
Dan: I can’t make any assertions or assurances that that’s what we will do with anything. Those types of insurances and promises and guarantees are what create securities. So the fact that we aren’t promising those things, that is a key factor in making sure that EOS is not considered a security. If EOS were considered a security, it could negatively impact everyone who’s contributed to the project.
Brian: Okay, but when many people gave money to BlockOne, because I know also, I think actually in some projects have, I think Civic was sort of like that, right? They said the case is like the product that you kind of purchasing. Is that a similar thing or what–so you guys don’t consider the nation, right?
Dan: The product is the distribution. You’re reserving some percentage of a pie that anyone who’s participating in the distribution can take the software that’s free and open source and launched the blockchain. So there are hundreds of millions or maybe billion dollars or financial interest out there in someone honoring one to one, and it’s basically creating an agreement on everyone in the market who’s got money that they spent on EOS tokens to see that something happens with it. But that’s something that happens with it will not be BlockOne operating it. But if you want, my mission in life is to find free market solutions for securing life, liberty, and property, and with the resources that BlockOne has, I will really able to pursue that because money is not what motivates me. What motivates me is changing the world, making things a freer society for my kids, ending corruption, ending violence. Those are the things that motivate me. The biggest, most exciting thing about Steem for me is that poor people in Africa who had brought out of poverty, people who couldn’t even afford the power for their cell phones, who are now living a middle-class lifestyle in Africa because of the projects that I’ve created. Those are the things that excite me. That’s what gets me out of bed in the morning. After you have a certain amount of money, it doesn’t matter having extra money beyond that. So I’m gonna continue to do my best to create free market solutions.
Sebastien: So before we wrap up here, let’s perhaps talk about the roadmap and how the project is being developed. As you mentioned not with the funds that are being raised in this crowdsale, but with previous ones, I presumed that the product is already being developed, can you talk about where you’re at and what’s coming in the roadmap?
Dan: It’s entirely transparent developed on GitHub. Everyone can see all the issues that are being worked on, who’s working on them, what’s currently in progress. So if you’re a developer, it’s very easy to audit it and see the progress has been made. Where we are right now is you’ve got a functional blockchain with the peer to peer networking code, ability to write smart contracts. And what we’re going to be doing over the next couple of weeks is polishing the developer documentation, creating additional tools to make it easier for developers to write these contracts on the platform. And then toward the rest of this year, by the end of this year, we hope to have a completely functional beta, which the goal is by September to have a platform that developers can start building on. By December, to have a platform that’s relatively stable, feature complete, including features that don’t necessarily impact developers, but which are nonetheless required. And then to have five months of testing, stress testing, and the ability to enhance the APIs and do minor tweaks prior to releasing version 1.0 of EOS.IO.
Once that software’s out there, it’s a race for people to figure out how to use the software to get the initial block producers to volunteer and set up and spontaneously emergent consensus among them about what the actual blockchain is. And then from there, the initial version will have a throughput of about 25 to 50,000 transactions per second. It’s what we’re targeting because it’s going to be a single threaded implementation of EOS, but that single threaded implementation can be upgraded multithreaded without breaking consensus. Now this is more of a stability first, performance second approach. We’ve designed EOS for massive scalability, for parallelism by separating data and making sure that these things can be run in parallel. So it’s designed for parallelism but implemented with a single thread primarily because there’s more capacity than any blockchain needs that will be able to support with this single threaded version. And then in the years that follow, we’re continue to upgrade to EOS.IO software with better and better implementations. So that’s the long-term roadmap.
Brian: Cool. Then, well, thanks so much for coming on. That was really interesting speaking with you about EOS. I’m looking forward to seeing how this project develop, what’s going to happen, what kind of things people build. So of course we’re going to put links in the show notes too. White paper, some talks, EOS website. Is there any other place that you want to send people to, to check out the project or get involved?
Dan: Yeah. Well, I hope you post this on Steemit and then—
Brian: We’ll do that.
Dan: Sure. You can follow me on Steemit as well as the EOSIO on Steemit and sign up for our mailing list to make sure that you have the latest updates and instructions, if anything comes up. Best way to stay informed, just sign up at eos.io.
Brian: Cool. Well, thanks so much, Dan. It was a pleasure. Very interesting to speak with you.
Dan: Thank you for having me.