Epicenter - Learn about Crypto, Blockchain, Ethereum, Bitcoin and Distributed Technologies - Dan Larimer: EOS – The Decentralized Operating System

Episode Date: August 23, 2017

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 joi...ned us to discuss his journey in the industry, what connects the different projects, how EOS works and how the EOS crowdsale works. Topics covered in this 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 Episode links: EOS Website EOS Whitepaper EOS Consensus Presentation May 2017 - YouTube Vitalik Buterin Criticisms of EOS Dan Larimer's Response to Vitalik block.one This episode is hosted by Brian Fabian Crain and Sébastien Couture. Show notes and listening options: epicenter.tv/197

Transcript
Discussion (0)
Starting point is 00:00:00 This is Epicenter, Episode 197 with guest, Dan Larimer. This episode of Epicenter is brought you by the Ledger NanoS, the hardware wallet which sets the new standard in security and usability. Get it today at leisure wallet.com and use the offer code Epicenter to get 10% off your order. Hi, welcome to Epicenter, the show which talks about the technologies, projects, and startups driving decentralization and the global blockchain revolution. My name is Sebastanku, and my name is Brian Foggan Crane. We're here today with Dan Larimer.
Starting point is 00:00:56 who's been around the blockchain space for a long time probably has heard of Dan and knows of Dan or has certainly heard of some of the projects that he has been involved in so he is the guy behind bid shares pitchers was one of the first project that was trying to do something more sophisticated with blockchains and simple currency use cases i think probably started around 2013 but we can get into that in a minute uh and then steam right so he's also uh was a key part of co-founder and a key person behind Steam, and of course, Steam it, many will know, which I think is probably today one of the most widely used kind of non-financial use cases for blockchain.
Starting point is 00:01:40 And now EOS is the last thing. EOS is another, well, decentralized operating system, they call it, but we can get in a bit. EOS did a crowd sale just recently, and they raised an enormous amount of money. I think around 200 million and this crowd sale actually keeps going on for almost another year so they will most likely raise the biggest crowd sale ever at least you know until the next one comes which probably is not going to take very long but certainly an enormous crowd sale so he's
Starting point is 00:02:13 also the ctow of block one which is the company kind of behind EOS so yeah thanks so much for coming on then thank you for having me it's good to be here so yeah you've had a long journey in this space but maybe we can start at the beginning. How did you originally learn about blockchain, Bitcoin, how did it become involved in the space? 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
Starting point is 00:02:44 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 were 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 is we need to have a money that's not controlled by the people who can print it and debase it and use it to enslave us.
Starting point is 00:03:18 So I started trying to find alternatives to gold and silver because they were just not very easy to transport. And that's when I discovered Bitcoin way back in 2009 when it's possible to mine entire blocks on an average PC. So I've been in the space for a really long time. In 2013, shortly after Mount Gox had their U.S. bank accounts seized by the U.S. 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 that cuts off the flow of money in and out of cryptocurrency. So that's why I set out to create bit shares.
Starting point is 00:04:05 A decentralized exchange with the primary feature being pegged assets that could 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 10-minute blocks was way too long for trades. the potential for blockchain reorganizations, the usability around account names and permissions, even 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,
Starting point is 00:04:54 I created and launched BitShares 1 and BitShares 2. And BitShares was the first one, first blockchain to achieve tens of thousands. thousands of transactions per second on a live blockchain, just 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.
Starting point is 00:05:19 But shares 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 actually directly hired 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 then adds value back to the underlying token. So that's what I did with BitShares. But BitShare still had the trouble of mass adoption. Most people, it was a really hard sell to convince them to take their money and put it
Starting point is 00:06:01 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 BitShare's for a while, we started a right out of money to fund development. And we were in the blockchain recession.
Starting point is 00:06:31 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. At onboard users, users wouldn't have to put any money into the system. There'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, Steam was an exercise in massively decentralized budget allocation.
Starting point is 00:07:14 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 wanted thousands and thousands of people every single day to get rewards. And that meant decentralizing the budgeting. Because under BitShare's, 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 up vote can allocate some of the public money.
Starting point is 00:08:02 And so that's been very successful. Steam has become, I believe, one of the top 2,000 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 Steam and BitShare's, 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. Steam and Bit Shares are both industry leading performance.
Starting point is 00:08:50 They've got by transaction volume, more than 50% market share in the cryptocurrency space. So they're the heavyweights in actual blockchain usage. With respect to Steam, we had to make it so every transaction was free because people don't want to pay to upvote. They don't want to pay to post or comment. So that was the other major innovation with Steam. So now I'm moving on to EOS, and EOS is bringing it all together. to provide a programmable environment where anyone can build applications like Steam or BitShares. 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 starting your work on BitS shares in 2013.
Starting point is 00:09:44 But with regards to this sort of this progression, right, like working on BitShares and Steam. and other projects that you didn't necessarily mention, but like graphene. What are the common threads here that we can see? Like, what is the progression, right? What takes you from BitShare to Steam to some other project to another project like EOS? The biggest lesson I learned is just because I learn and am 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 into Ethereum Classic,
Starting point is 00:10:23 if you want to do major changes or architecture changes to the rules, like Steam 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 in 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 on to a new blockchain is when you've learned enough that you can't move the community along with you.
Starting point is 00:11:08 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 buy 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 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's side, as well as from the user's side. So it's a learning experience. And sometimes you have to pull the Steve jobs and eliminate the floppy drive and the serial ports and the CD drives.
Starting point is 00:11:57 Sometimes you have to do that. And a lot of people don't want to let go of the old legacy stuff. Yeah, that's a fascinating answer. And I can see that being, you know, if one is they're kind of having these visions about change and then there's this community. and they like the way it is and that then that kind of fiction. But so looking back now, what's going on with Pitchers 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?
Starting point is 00:12:33 Bit Shares 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 bit shares it's only really gone up in price so and same thing for Steam since I left Steam it's only gone up in price so maybe it's a good thing when Satoshi left Bitcoin it went up in price so yeah that's a sign of a mature decentralized ecosystem that's no longer dependent on its on its founder and when it comes to creating tokens, selling tokens, exchanging tokens, creating tokens that are legally compliant with know-your-customer and restrictions on which assets they can trade against, BitShare's is still unrivaled in the space.
Starting point is 00:13:24 And now with the increased liquidity that you have on 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, BitShare's 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 on its own. So you're saying BCHS today has transaction volume going through that which are about triple that of Ethereum. Yes.
Starting point is 00:14:15 And every single day. And the primary use case, I mean, Ethereum we know, right, there's especially ICOs a lot, but people use it for a bunch of decentralized applications in early stations. So what are people doing on BitShairs that... There's people that are doing ICOs on Bit Shares. There's people that are doing actual securities and type things on Bit Shares. People are doing remittances and things like that. So, Mitch's, Mitcher's proven one use case.
Starting point is 00:14:45 Steam proved another use case. And both of those use cases could benefit from the addition of customizability, programability. And that's why I'm creating EOS. So I'd like to come back to this idea that you were able to build these projects and then take a step back. projects continue to have a life of their own. When looking at, right now we're in a period where there are many, many blockchain projects emerging every single week, new ICOs coming out every single week.
Starting point is 00:15:25 Would you say that this is a property that is desirable when looking for projects that could potentially be successful? And if so, are there other properties that? that you think people should look at when evaluating whether or not a project has long-term viability? 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.
Starting point is 00:16:00 And the biggest challenge in the space is everyone, including the experts, has a lot to learn. There's 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 ICOs and token distributions are 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.
Starting point is 00:16:52 And that's the biggest challenge in the 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 of 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.
Starting point is 00:17:23 Great. I definitely want to get back to this topic and hear a little bit about your thoughts on what's a good ICU, how does someone properly do this in your experience. But just one more. One more question on this topic of moving on to different projects and that kind of evolution here. So do you think, because people, I think people have the question where, you know, now you're
Starting point is 00:17:48 doing EOS, you know, are you going to go to the next thing next year or two years? So I guess the question here is, you know, one, how do you think about that? But maybe also a valid answer is that, you know, should be at a point where that doesn't matter? Or how do you think about this question? I've made long-term commitments to block one. A large part of moving on in the past was, you know, bit shares running out of money. That's unlikely to be an issue with EOS.
Starting point is 00:18:20 EOS is something 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 is 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 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 Steam had a very narrow focus on social media and its budgeting allocation
Starting point is 00:19:39 strategy, EOS has a very, very broad 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. So let's then move on to EOS then. So some have compared EOS to, I guess, a decentralized operating system that would allow developers to much like you would on like the Android SDK or the Koko 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
Starting point is 00:20:37 where developers can build applications and easily access some of the features, the core features of the underlying system, which would be, I guess, the computer, which is, you know, probably, you would probably compare Ethereum more to that layer of the stack. So can you expand on this analogy and perhaps explain how the two compare. So if we were to compare, for instance, if I want to build something like Steam It, and I have a choice between using EOS
Starting point is 00:21:08 and I have a choice between using Ethereum, as a developer, what would that look like for me? Well, for starters, it's not possible to build Steam it on Ethereum. It's just too slow. There's too long of delays. Users would have to buy tokens, and they'd have to constantly buy tokens
Starting point is 00:21:28 in order to continually use the platform. So all those things make steam it something that cannot be implemented on Ethereum. Likewise, you can't even implement bit shares on Ethereum. I know you have things like EtherDelta and other Ethereum exchanges, but all those exchanges do not have the same behavior and mechanics of a centralized exchange
Starting point is 00:21:51 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 Steam and like BitShares on EOS while EOS being general purpose? So to explain like the difference between them and why we make the operating system analogy
Starting point is 00:22:26 versus the computer analogy. Yeah, maybe this general purpose notion, maybe expand on this general purpose notion. Well, a Raspberry Pi or a microcontroller is a Turing complete computer that doesn't have, well, a microcontroller's a better example, it doesn't have an operating system on it. Technically, you can program it to do anything,
Starting point is 00:22:47 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, 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.
Starting point is 00:23:05 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 management. the disk space and giving you a high-level database with sorted indices on it. It's managing the account system, giving you permissions and groups and things like that. It's managing the scheduling across multiple threads, giving you the scalability that you need
Starting point is 00:23:44 out of the platform. So just to stay on this topic for one second. So if you compare Ethereum to the Raspberry Pi and EOS to the operating system, what would prevents someone from building something similar to EOS, which has all of these other functionalities, the scalability, the increased throughput on top of Ethereum? Why is that logical stack doesn't work? 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.
Starting point is 00:24:28 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 of the road and the number of lanes on the road. And Ethereum's got a single lane road that's very slow speed with lots of potholes. and EOS is a multiple lane superhighway with high speed limits. You can go parallel to increase performance, but going parallel too soon, there's overhead associated with parallelism,
Starting point is 00:25:08 and there's some things that you can't do parallel, like exchange order books. So you need to have high sequential throughput as well as parallel throughput. So anything on the Ethereum roadmap, even their most recent plasm, does not address or enable developers to build apps like SteamIt or BitShares on Ethereum. So when it comes to a general purpose, right? So you also brought at that point, is EO's general purpose in the same way that Ethereum is channeled purpose and that there's a during complete scripting language? Yes.
Starting point is 00:25:48 We use WebAssembly, which is an industry standard with support from Microsoft. to Google and Apple and others. And WebAssembly 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 sandbox, and we added the limitation of how long it can run so that people can't create infinite loops. So Ethereum's technically not turning complete
Starting point is 00:26:17 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.
Starting point is 00:26:49 For example, if Steamit was operating on EOS, it would not have to run the BitShare's 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. So maybe this is a good point to speak a little bit about the female, right? Because if you speak about, okay, infinite loops, so how, and there's no gas, right, no fees, how do you handle that?
Starting point is 00:27:26 The block producers use 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 it finished fast enough to be included. So the block producers decide if it takes too long, as well as all the full nodes. When you broadcast the transactions in 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.
Starting point is 00:28:02 But once they're in a block, we know they completed, and the blockchain moves forward. And if any particular block producer is misbehaving, say they generate a block that has a transaction that takes a full second to execute, they'll get voted out and they'll lose their reputation and their income stream from being a block producer. So I'm kind of curious about this, because if it's about performance, but then you have to run the transaction first to see how much time it uses, whether it's not
Starting point is 00:28:39 an input, et cetera, doesn't that create a bottleneck when it comes to throughput? Well, there's two aspects to performance. There's the speed of your virtual machine. And with WebAssembly 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.
Starting point is 00:29:07 So trying to compare apples here, how long does it take to do a transfer operation, executed in a smart contract, 10 times faster, a sequential three, output. 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. This episode of Epicenter is brought to you by Ledger. Make us of the best hardware,
Starting point is 00:29:45 key security solution on the planet. But the ledger is more than just a hardware wallet. It's your path to eternal bliss and happiness and peacefulness. Do I look like I'm losing sleep? I am. But it's not because I'm worried about my cryptocurrency, my Bitcoin or my Ether, and that's because I use a ledger. Ledger devices for multiple cryptocurrencies like Bitcoin, Ether, Zcash and more. And you can even secure your ERC, Ethereum tokens with them, or you can add the security security support from ledger to some of the wallets you already love and use like Electrum, copay, my ether wallet, and others. All your keys and segregated accounts are derived from one unique seed.
Starting point is 00:30:29 Seeds are generated on the device and are never exposed to the host computer. So when you make a transaction, your ledger will present you with the details and kindly ask you for your confirmation before signing. How polite is that? So the best choice right now for anyone looking to invest in security is the Ledger NanoS. It's a key chain-sized device that fits in your pocket. It has a screen and buttons and connects your computer or Android phone using USB. Look, if you're holding crypto and you're storing your keys on your computer, on your phone, or worse, in exchange, you know that's a disaster
Starting point is 00:31:01 waiting to happen. Don't be the person that loses their keys because they were careless with them. So don't wait any longer. Secure your Bitcoin, secure your Zcash, secure ether. Go to ledger wallet.com and get your Ledger Nanos today. We'd like to thank Ledger for their supportive Center. And so as a if I if I know one some use some application on EOS but let's say you know 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, you know, I'm not giving being in wrong information. Sure. The EOS protocol, all the block producers and all the full nodes can run everything and verify everything. Everyone else can use
Starting point is 00:31:50 a web of trust of people who are running the different parts of the network and collectively verify that those are valid. Additionally, every transaction is included in a Merkel tree. So you can prove that a particular transaction was included in the blockchain with only following the block headers. So kind of 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's a concept in blockchain. You know, there's a whole debate about state versus
Starting point is 00:32:41 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 over state simultaneously make things much more rigid, much harder to optimize, and
Starting point is 00:33:24 don't actually give you a lot of the benefits that you would expect. Even Ethereum needs to do messages that get passed in their sharding proposals, passing messages to other contracts, which then give receipts, which then you verify the 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,
Starting point is 00:34:00 you can query multiple nodes, multiple independent sources, compare them. And EOS has another aspect to it. everyone who's participating on 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 the users to go for arbitration and hold users accountable for certain rules and expectations of behavior. So if you're using a service provider to query state and they return to you a service.
Starting point is 00:34:37 a sign statement that 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.
Starting point is 00:35:34 As well as the fact that many, many of these applications are completely legal where there's no threat of 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 user. ability, both and those are all factors that are incredibly relevant for taking blockchain mainstream. Let's speak briefly about the fees, right? Because I think that's also an interesting thing, right? So let's say in Ethereum, right?
Starting point is 00:36:15 I want to send some transactions. Basically means I have to buy some ether and pay for the gas. Now, what's different in EOS, if I understand this correctly, and I think this is the same thing in Steam, is that you can buy some EOS, but then you don't use the EOS directly to pay for transactions. basically the use you have the kind of stake, and then you get a certain number of transactions that you're kind of allowed to do for free.
Starting point is 00:36:38 So there's two aspects to this. Yes, the very basic model is to copy Steam, in which case users have a small balance, just a couple 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.
Starting point is 00:37:05 You can have it delegated to you. So if 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 micro payments every time you request a page from Facebook or every time you like something on Facebook. When you're using Steamit, you don't pay Amazon for the hosting every single time you do something.
Starting point is 00:37:42 The app developers need to monetize their applications through some other mechanism other than micropayments on how they happen 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.
Starting point is 00:38:13 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. 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. Now, to me, it seems like, let's say at a certain time, I have to use it a lot, I need a lot
Starting point is 00:38:51 of transactions, right? So my demand is high, but later we low. So this, This seems to be kind of a problem here. Is it possible, or let's say I have some EOS, I stake it, but I'm actually not using your transaction. Could I resell those? Is that possible? It kind of works like your internet service provider. They give you a certain minimum guaranteed bandwidth,
Starting point is 00:39:14 but of course you can surge to higher capacities if other people aren't using it. So if you own 1%, you allocated 1% of the bandwidth only when the network's 100% saturated. If the network's not saturated, you can use up to 50% 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.
Starting point is 00:39:48 And so under normal operating conditions, everyone will actually have access to more capacity than they need. need to. It's just the congestion control, the anti-spam that really throttles 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. EOS, as we mentioned, uses the delegated proof of stake protocol. Could you just give us a little refresher about how that works and how it compares to, say, other proof of stake protocols proposed with Ethereum like Casper? 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,
Starting point is 00:40:36 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.
Starting point is 00:41:16 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 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
Starting point is 00:42:05 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 theory, 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 a block get produced and who produces it. Instead, it leaves that as an abstract problem for, 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,
Starting point is 00:42:48 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 any security in the near term, it doesn't protect against short-term chain reorganizations that would cause double spends from 51% mining attacks or any of those things. It's just longer-term, long-range attacks is the only thing that Casper is protecting against in the long-term. So every blockchain relies on voting to determine what's going on.
Starting point is 00:43:26 It's just a question of who's doing the voting. In the case of Bitcoin, when there was the unexpected forks, you had the mining pools vote to pick one of the chains to win, and then it happened. Even with Sigwit, 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 Seguet. In any system that has a different group of people voting from the people who are the beneficiaries
Starting point is 00:43:55 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 hold the dollars have no say in it. Or the block producers, minors voting not to get rid of proof of work because they have financial incentive
Starting point is 00:44:17 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
Starting point is 00:44:32 and they take turns producing blocks. My sort of sense is from trying to understand a little bit how this works is when you have delegated proof of stake, right? This is literally they're going to be, because some kind of humans, right, 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
Starting point is 00:44:55 if they don't perform well, right, you would basically withdraw your voting power from them, right? And they would use that revenue, right? So I think one, and this, you know, in contrast to, I think both the Casper attempt or, you know, on tenement side, too, 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. There's two factors here. Producing a block doesn't mean that the block's accepted. It 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
Starting point is 00:45:43 have the power to create invalid blocks. They don't have the power to change the consensus of the community. 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 state captures that philosophy. And it captures the difference, the There's a nuanced difference between a 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 Depos, you have financial incentive to cooperate, whereas under these other systems like Casper or mining, you have people producing blocks with no transactions in it.
Starting point is 00:46:37 That doesn't happen on Steam or BitShares because those people would be clearly running non-standard software, they'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 supposedly the beneficiary, who has an interest in the network. Because there's a lot of subjective things
Starting point is 00:47:15 that cannot be measured by code and it caused the forfeiture of a bond. And there's people, like early on in Steam, many people don't know this. We actually had a slashing condition. If a block producer produced two blocks with the same timestamp, they would get voted out
Starting point is 00:47:33 and they could forfeit all of their staking balance. and all their coins are paid to a staking balance, so they couldn't just take their money out and escape 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's scheduled to kick on automatically when their first node goes down, and it double signs a block when it wasn't intentional, purely because of network
Starting point is 00:48:07 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. 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, these slashing conditions, they look really good from a mathematical game theory
Starting point is 00:48:58 perspective until you apply actual human realities to the situation, in which case they break down under the vast variety of things that can go wrong. 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 could be changes that are made if necessary. So for instance, you know, if changes need to be made to the consensus algorithm of this sort of thing.
Starting point is 00:49:37 And then there are governance, 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's malicious code, you know, how we revert back. Can you talk about these two different levels of, of, of, of, of, of governance and how they operate? So the first level of governance is it's kind of like the Constitution, the source code that drives the consensus
Starting point is 00:50:06 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. One thing about EOS is you don't actually get a fork where two chains go in different directions instead the entire network agrees that's time to upgrade
Starting point is 00:50:31 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 so you can have 100% support so you never have any missed blocks even when you're upgrading an example of how successful this has been
Starting point is 00:50:54 is that steam it 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, very seamless without any problem. That's one of the philosophies of EOS is 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.
Starting point is 00:51:38 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 kind of 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.
Starting point is 00:52:18 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 a 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 was using it lost all their money. Those situations happen, bugs happen,
Starting point is 00:52:49 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. There's even code that's been operating flawlessly for years can have latent bugs. BitShare's 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.
Starting point is 00:53:20 But of course, you fix it and it goes on. The point is that whether it's blockchains or OpenSSL and the cryptography that we use in all of our computers, whether you're Apple, 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
Starting point is 00:54:00 on updating the code for their particular application. That, 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,
Starting point is 00:54:22 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 then it ties it all back into the real world. It identifies that the blockchain's 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, and property rights are what these 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.
Starting point is 00:55:10 Cool. Well, I think it would be very interesting to see how this turns out. I mean, especially I think with different approaches to consensus. And I think we'll certainly have some interesting. years ahead of us. So I would like to now move on to discussing, you know, crowd sale and some things around also the EOS token around that. So first all with the crowdsail, what were, what were this the kind of design requirements you had or, you know, what did you want to achieve in an optimized?
Starting point is 00:55:43 I wanted to achieve several things. Community engagement, widespread distribution, fair, equal opportunity for many different people to get a lot of 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
Starting point is 00:56:23 and approximately what your cost will be. So we created a system that incentivized people to contribute equal amounts over time, which gives lots of people who are on regular paycheck, the ability to put money in over a year rather than having to have all the money saved up ready to go in a 10-minute window. and so those were the things.
Starting point is 00:56:51 So it keeps everyone engaged. We wanted to have a longer period of development. The EOSIO software that we're creating is 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.
Starting point is 00:57:20 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.
Starting point is 00:57:53 And so when the blockchain finally 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. So the way it works, just for listeners who aren't aware, you guys sold initially. I think it was 30% of tokens, is that right? 20% of tokens. We had an initial seven-day window where anyone could,
Starting point is 00:58:27 everyone who contributed got an equal percentage of 200 million EOS, ERC 20 tokens on the Ethereum network. And then every 23 hours after that, there's another 2 million 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.
Starting point is 00:59:00 So, yeah, so in that first period, right, you guys raised around 200 million, something like that. And how have those options fared since then? So like what have the prices been? Yeah, we've generated approximately $300 million in revenue. It's constantly changing. This is revenue. This is not investment. And we already had the money to build the product.
Starting point is 00:59:29 The purpose of this is to distribute the tokens as wide as far as possible. We're essentially taking it from being 100% owned by us to distribute it to the rest of the market. That's what we're doing with these tokens. So this is an interesting point. So you say this is revenue, not investment. So, and you guys had the money to build a product. So this is, and I think this is also kind of a point that relates to this, right?
Starting point is 00:59:55 Because block one is a for profit entity. Are you guys based in the US or where? Or? We're an international company with incorporated in the Caymans. In the Cayman Islands. Okay, so because that money is going to you guys. So there's no obligation either to spend it on developing yields, correct?
Starting point is 01:00:16 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 purely on the software development side.
Starting point is 01:00:39 We're creating free software. we're giving it away. The EOS, ERC 20 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. What will these funds be used for if they're considered to be revenue what was the plan here? Well, we're going to have a lot more details about what we're doing as block one, but But we're going to build applications and infrastructure to build a blockchain business.
Starting point is 01:01:17 So we're going to continue to advance and build the ESIO 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. I mean, that is actually kind of mind-boggling if you sort of wrap your head around it, right? In essence, you guys may end up generating, I don't know, $600 million or some huge amount, maybe a billion, who knows,
Starting point is 01:01:48 if this keeps going up like this, which is essentially pure profit, well, it's not pure profit, close to it. Very high profit margins. Yes, yes. So, as a company, we're driven by a desire
Starting point is 01:02:06 to find free market solutions for secure and life, liberty, and property. We want to build technology that changes the world. And like any company, Apple takes their profits and they invest in building the next great thing, right? They took their profits 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. Sure. I guess where there's this is sort of contrasted, because most projects, right, the way most projects have raised money so far, you know, from Ethereum to many other.
Starting point is 01:02:40 who calls, et cetera. You know, there's a foundation in Switzerland, right? The money is basically, it's almost like a special purpose vehicle or something like that. The money is given into 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.
Starting point is 01:02:59 And, you know, so people are kind of funding that development of that. But here is very different, right? Because this is not funding the development of EOS. Right, and they're not shares in Block 1 or any other type of security. 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. And we wanted to make sure that the EOS token distribution was as compliant with all the laws,
Starting point is 01:03:39 that it was not a security, that there was no expectation for profit, that there is no expectation that Block 1 would do anything to operate the network or to derive the, cause the final value to exist there. The only thing we're doing is producing open source software. So why did you guys choose to launch an ERC20 token? I mean, because a different choice of the bin, right? One has basically people give 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 launch a network. So why create a NERC20 token and make this tradeable immediately?
Starting point is 01:04:20 Well, because the initial distribution is critical to any successful... You can take this 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 ERC20s 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,
Starting point is 01:04:57 and that just pushes back how long it is until things can actually be used in a public network. 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 a security, nor is it a right to a token. And to some people in the community and 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. not saying that's something that you would like you'd 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 bit shares or that 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, building applications, building infrastructure, building these platforms. I can't make any assertions or assurances that that's what we will do with anything.
Starting point is 01:06:14 Those types of assurances and promises and guarantees are what create securities. So the fact that we aren't promising those things 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. So. Okay. But so when many people gave money to block one, is this? Because I know also, I think actually in some projects have, I think Civic was sort of like
Starting point is 01:06:50 that, right? They said, okay, this is like the product that you're kind of purchasing. Is that a similar thing or what? So is, so you guys don't consider donation, right? The product is the distribution. you're reserving some percentage of a pie that anyone, anyone who's participating in the distribution, can take the software that's free and open source
Starting point is 01:07:17 and launch the blockchain. So there are hundreds of millions or maybe billion dollars of 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 something that happens with it will not be Block 1 operating it. But if you want, my mission in life is to find free market solutions for securing life, liberty, and property.
Starting point is 01:07:57 And with the resources that Block 1 has, I'll be really able to pursue that. Because money is not what motivates me. What motivates me is changing the world. 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 Steam for me is the poor people in Africa who are 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
Starting point is 01:08:36 bed in the morning. After you have a certain amount of money, it doesn't matter having extra money beyond that. So I'm going to continue to do my best to create free market solutions. 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 fence that are being raised in this crowd sale, but with previous funds, I presume then that the product is already being developed. Can you talk about where you're at and what's coming in the roadmap? It's entirely transparent, developed on GitHub. Everyone can see all the issues that are being worked on, who's working on them,
Starting point is 01:09:19 what's currently in progress. So if you're a developer, it's very easy to audit it and see the progress is being made. Where we are right now is we'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
Starting point is 01:10:05 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 none than less 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.I.O. Once that software is 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 emerge a consensus among them about what the actual blockchain is. And then from there, the initial version will have a throughput of about 25,000. to 50,000 transactions per second is what we're targeting because it's going to be a single-threaded implementation of EOS. But that single-threaded implementation can be upgraded, multi-threaded
Starting point is 01:11:18 without breaking consensus. This is more of a stability first, performance second approach. We've designed EOS for massive scalability, for parallelism by separating data and making ensure 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 the single-threaded version. And then in the years that follow were continued to upgrade the EOS.I.O. software with better and better implementations.
Starting point is 01:11:57 So that's the long-term roadmap. Cool. Well, then, well, thanks so much for coming on. That was really interesting. Speaking of you about EOS, I'm looking forward to seeing how this project developed, what's going to happen, what kind of things people build. So, of course, we're going to put links in the show notes to white paper, some talks, EOS website. Is there any other place that you want to send people to check out the project or get involved? Yeah, well, I hope you post this on Steam It. And then you'll do that, sure. You can follow me on Steam It as well as the EOS I.O. on Steam. theme it and sign up to our mailing list to make sure that you have the latest updates and instructions if anything comes up. Best way to stay informed is sign up at EOS.I.O. Cool.
Starting point is 01:12:46 Well, thanks so much, Dan. It was a pleasure. Very interesting speak with you. Thank you for having me. Yeah. Thanks so much for listening for once again tuning in. So we are part of LetzopiConnet or QFibon. And other show on lessorbibon.com.
Starting point is 01:12:59 And of course, if you want to support the show, you can do so by leaving an iTunes review for us to help some people find the show. So thanks so much and look forward to being back next week.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.