vitalik buterin reveals ethereum at bitcoin miami 2014
Transcript
[00:13] SPEAKER_00: Okay, so back when Bitcoin was originally created in 2009, Satoshi was really testing two things at once. So the first part is there's this idea of Bitcoin, the decentralized currency. It's a form of money that exists purely online and you can transfer it from anyone to anyone around the world instantly with pretty much no fees. You can transfer money from Kyrgyzstan to Guatemala just as easily, just as quickly and just as cheaply as you can to your own neighbor. And as we have seen, there are a lot of people interested in that innovation. Bitcoin in the form of money has attracted a pool of $10 billion of wealth over the past five years. It is being accepted by over 50 thousand merchants worldwide. And we have companies like BitPay and Coinbase that are trying very hard and I would say succeeding at getting Bitcoin adopted by increasingly large segments of the population. And as Ryan said, I think we're only getting started.
But at the same time there's also the other side of Bitcoin, which is Bitcoin, the blockchain. So Bitcoin, the technology is this global, trust free, decentralized database. It's this database that anyone can add things to, but you can't remove anything from. Now it just so happens that currency is the first app. Now these two technologies by necessity have to be married together because in order to have the decentralized database, you need to have security. In order to have security, you need to have incentives and you need to have a currency. So really Satoshi had to take these two concepts, which are really quite different, and test them both at the same time.
Now the second side of Bitcoin, the Bitcoin blockchain, is something that I think has been seeing a bit less attention maybe in the first few years, but interest is also picking up. So here are some of the first applications of Bitcoin not as a form of money, but Bitcoin as a form of distributed consensus.
So first one is Namecoin. Namecoin is essentially a distributed DNS system. For those who do not know what a DNS system is. When you go to google.com, how does your computer know which server to talk to? So the answer is that there exists this system which maps the name google.com to the server's IP address. So your computer actually first queries this domain name system and it asks, hey, what server is google.com, and the server answers, and that's how you're able to talk to Google Server without having to memorize everyone's IP address.
Second part, escrow transactions. So a lot of people here, I'm sure, have heard of the concept of multisig. So the idea here is that you send money to say three people at once in such a way that you need two of those people to unlock the funds. So what are some practical applications of that? One practical application might be, say, consumer protection. So for example, if I'm a merchant and I'm selling some product to you, the consumer, the simplest way to do that would be for you to just pay me and for me to send the product. But what if you don't know me and I'm not necessarily trustworthy? So then what you would do is we would both agree on an arbitrator and you would send the money to a two of three multisig, between yourself, myself and the arbitrator, I would send the product. And then at some point, normally you would confirm that you received the product and the two of us together would release the funds. Now, if one of us disappears or one of us turns out to be dishonest, then the arbitrator can step in and work with the other person to recover the funds. So this is essentially Bitcoin's alternative to PayPal's chargeback system.
Now then we have this concept of colored coins. The idea behind colored coins, I would say, saw its first beginnings in 2012. So the idea there is, okay, you have a blockchain and you have a currency on it, but what if you can put other currencies on the blockchain as well? So the idea there is to say I am, let's suppose that I am a gold issuer. I might be Coinable, Amagi Metals or some larger company, and I want to issue gold on the blockchain. So what would I do? I would take, say, ten bitcoins, and I would say each one of these bitcoins is also worth 10 ounces of gold. And I would say it's each one of these specific bitcoins. And then you can actually track those specific bitcoins through the blockchain, and you can treat them as sort of their own currency living inside the Bitcoin system. And then if someone at some future point in time returns one of these colored gold coins to me, then I will return to them the 10 ounces of gold.
Now then. So now you have this system where you have lots of different currencies on the Bitcoin blockchain. What's the next step? Well, let's have a decentralized exchange between the currencies. So as it turns out that this is actually somewhat hard to implement. So the research behind it has actually taken some time to develop. And we are actually seeing a lot of interesting protocols around that over the last six months.
Now after that, there's also some other interesting ideas. There is this concept of smart property. So the idea there might be, what if you had, say, a museum pass? And the idea there was that you would issue a currency where that currency has one unit, and if you own that unit, then you can use your phone and you can sign a message with the private key that owns that little currency token. And then that sort of works as a museum pass. You can use it to get into a museum. If you want to sell the museum pass, then you just transfer the coin to someone else, and now they can sign it with their phone and they can gain access.
Another idea is smart contracts. So the idea there is that instead of having contracts that are enforced by the legal system, you have contracts that essentially enforce themselves. So one idea here might be a financial contract. So suppose that I might want to put $1,000 worth of Bitcoin into this financial contract, and then some other counterparty would put in $1,000 into the financial contract, and then one month later I would get $1,000 worth of Bitcoin back. And the idea is, what if you can have this contract enforce itself? So in that way I can essentially have a thousand dollars worth of value without volatility risk on the blockchain, without having to rely on any kind of centralized issuer.
Finally, there's this idea of decentralized autonomous organizations. So the idea of a DAO, or as other terms you might have heard include decentralized autonomous corporations or decentralized autonomous companies, decentralized autonomous communities. The idea there is to have either a company, an organization perhaps could be a company. It could be something like WikiLeaks, it could be something like ICANN, the Internet Corporation for Assigned Names and Numbers, which is the organization that actually manages the IP address allocation and DNS registration and so forth. What if you could have these organizations live entirely on the cloud? So these organizations would still control resources, but those resources would be controlled by a smart contract that never expires. It just keeps on updating itself.
So these are essentially some of the applications and there are thousands more that we haven't even thought of.
Now here's just some detail about how Colored Coins works. So you would have some issuer declares that some subset of bitcoins have a certain color, and then if you send a transaction where the inputs have a certain color, then the outputs have the same color. Now if the inputs have mixed colors, then you might have some special rules applying and then you would just trace the transactions back through the Bitcoin blockchain to determine what color they are. So you could see there, a simple diagram is that you might have green coins, blue coins and red coins perhaps representing US dollars, gold stocks in a company, whatever else, and you could simply trace them through the transaction graph and figure out exactly who owns the coins of each color at any given time.
Now another more advanced idea is this concept of a meta coin. So the idea behind a meta coin is this idea that we should treat meta coins as, we should treat Bitcoin as this low level protocol, like a sort of TCP/IP on the Internet and then we should build other protocols on top. So this other protocol would use Bitcoin just as a data layer. It would put data into the Bitcoin, into Bitcoin transactions. And then you could see that there would be a completely separate meta coin protocol that would scan through the transactions and determine what the balances are.
So what are the advantages? Pretty theoretically, pretty much no limits. You could have decentralized exchange, you could have savings accounts, you could have advanced smart contracts, you could have peer to peer Satoshi Dice. Theoretically there's pretty much no limits to what can be done with this kind of paradigm.
However, the problem is that there are a lot of, a lot of people think that you can just implement all this stuff on top of Bitcoin, but in reality there are actually serious scalability issues to doing so. And as I'll explain, these scalability issues are actually the reason why people have been so frustrated trying to implement this stuff. Colored Coins project has been working hard for the last 18 months and they've been trying to come up with extremely clever color transfer rules to try and make things more efficient.
So the fundamental issue here is this concept of simplified payment verification. So in Bitcoin, as it turns out, you do not need to download the entire blockchain to have a secure Bitcoin client. You can just look for specific transactions and now Bitcoin has this mechanism called Merkle tree that you can use where you can prove that a certain transaction exists in the Bitcoin blockchain, but only download a small part of the data of the entire data set. So the idea there is that nobody can actually forge any part of the Merkle tree because the differences sort of keep on cascading upwards and eventually there's some kind of inconsistency.
Problem is however if you try now with Bitcoin, simplified payment verification is nice and easy. Lots of Bitcoin clients use it. It's great. With colored coins it's actually hard because you have to trace every single transaction back all the way back through the blockchain and that could, you might need to do hundreds or thousands of simplified payment verification requests. With meta coins it's pretty much impossible. Every node has to process everything.
So here is where Ethereum comes in. So Ethereum. So what we've said with Ethereum is that yes, this idea that we should have HTTP on top of TCP/IP is wonderful. That's the way the Internet protocol works, that's the way every other protocol works, that's the way cryptocurrency protocols should work. But Bitcoin fundamentally was never designed to be a TCP/IP. Bitcoin was more designed to be an SMTP. SMTP being the protocol for email. It's a protocol that is very good at one particular task. Bitcoin is very good for transferring money but it was not designed as a foundational layer for other, for any kind of protocols to be built on top.
So Ethereum is therefore its own blockchain. Ethereum borrows from Ripple this concept that we should separate the state from the transaction list so you do not need to download every single transaction that ever happened in order to determine what the current state is. And here's the fundamental part, it has its own built in programming language.
So the idea there is that if you look at a lot of the recent innovation in some of these so called next generation coins, what some of them have been saying is okay, we want people to be able to do decentralized exchange on the blockchain. Here's the transaction type for decentralized exchange. We want people to be able to do peer to peer gambling. There's a transaction type for that. We want people to be able to have savings wallets, there's a transaction type for that. We want people to be able to do escrow. There's a transaction type for that.
So that is fundamentally the wrong way to go about doing things. Just imagine if your computer actually had 30 hardware modules. It would have a hardware module for Solitaire, a hardware module for Internet Explorer, a hardware module for Chrome, hardware module for Photoshop. That's not the way we do things. You know, back in the 1930s, Alan Turing came up with this concept of Turing complete programming languages, where instead of specializing for each individual application, you come up with a programming language. And then that programming language is so powerful that you can build any application on top that can conceivably be built.
This is the reason why computers are so powerful today. This is the reason why web browsers are so powerful today. After we came out with JavaScript around 2000, the Internet just blew up. The inventors of JavaScript never intended for somebody to write Gmail on top of JavaScript, or for somebody to write Facebook on top of JavaScript, or for somebody to write Bitcoin wallets on top of JavaScript. But JavaScript, this programming language of the Internet browser, was a foundation for innovation. And that's why 13 years later, we are still innovating today. And that's what I hope to bring to the world of cryptocurrency.
So what is a contract? So Ethereum, instead of having lots of features, tries to be simple. It says, Ethereum, we do not have features, we have just the programming language. So everything that you want to implement through Ethereum, you would have to implement as a contract.
So a contract is like this automated agent that lives inside the blockchain, and it has a certain amount of, and it has some scripting code built in and it can store ether, it can store currency units. And you activate a contract by sending a transaction to it. So the idea is that you can send money into contracts and you can send messages to contracts in order to make them carry out certain computations or perhaps to authorize withdrawals or to make votes in a decentralized organization, or even to make transfers in an internal currency.
So out of this one building block, this one single Lego brick of cryptocurrency, you can make pretty much anything.
So Ethereum script is a language. This is the current scripting language that we have, is a language that's somewhat similar to Bitcoin script, but it's also more powerful. So we have a stack, we have some operations. But the differences with Bitcoin is that we have memory entries and also we have this concept of storage.
So this is the other fundamental limitation of Bitcoin scripting language. Bitcoin scripting language is binary. A transaction is either spent or it's not spent. That is fundamentally extremely limiting because if you look at something like a decentralized organization or a financial contract of any kind of complexity, you cannot reduce it to this concept of is this expired or is this not expired? So here we have contracts can have pretty much an unlimited number of states. So you could have a contract be at stage one, at stage two, at stage three, you could have a contract store an entire balance sheet.
So right, so now how about, we'll talk about a few examples of what you can do with Ethereum that perhaps might be difficult to do with Bitcoin. First of all Namecoin. So here is Namecoin in five lines of code. So this Namecoin, this is a 60 million dollar cryptocurrency. You can implement the most basic version of Namecoin in five lines of code.
So this is the contract. So the idea here is that basically it's using contract storage. So a transaction needs to have two data inputs. The first data input is what name you want to register and the second one is what you want to register it with. So that second thing might be an address, it might be some kind of, might be a public key. So then if it's already registered then you do nothing, otherwise you register it and that's all it is.
So here's the other interesting thing about Ethereum and is that we can work together with protocols that are not just financial. So for example there's this idea of Bitmessage. Bitmessage is this purely peer to peer, open source, decentralized replacement for email. But one of the huge problems with Bitmessage is its usability aspect because in email you could send to some nice and easy email like vitalik@ethereum.org. Now here was Bitmessage. There's no, there are no email addresses. There are these long 34 character Bitmessage addresses. Nobody's going to remember a Bitmessage address. People don't even want to look at Bitmessage addresses. What if you could register a Bitmessage address inside of this Namecoin contract with something nice and simple like vitalik@ethereum.org and then if somebody wants to send money to me, their wallet can just look up my, they can enter vitalik@ethereum.org and their client can just look up my actual Bitmessage address inside of this Namecoin contract.
Create your own currency now. Creating, now a lot of people are saying, like, we have way too many currencies now. Why do we have so many currencies now? I actually think this is extremely powerful in a way that not many people realize.
Here's the deal. In the past 10,000 years, one of the major political dynamics has been this concept of centralization and decentralization. We all understand the benefits of decentralized system. We all understand the idea of localized markets of individuals acting independently. But at the same time, we understand that centralization has its benefits. One particular benefit there is this concept of public goods. So there are a lot of things like scientific research, like protecting the environment, like fighting disease, all of these applications that are extremely valuable, but their value is extremely widely distributed so that each individual will only benefit an insignificant amount from each particular action. Pure markets have no way of paying for this. Centralized institutions do, simply because they are so large that they can absorb enough of the benefit for it to be worth it for them to do these things. So this is why we have large corporations, this is why we have large governments, and this is why we have large nonprofits.
Now currencies are actually a very interesting thing because creating your own currency is actually the first time that we have something which is simultaneously decentralized and it can fund these public goods. You can have a currency such that 20%, say 20% of the issuance goes to people who do mathematical research. And then if people want to support mathematical research, they can accept the currency. That's no, that doesn't actually cost to them. It's not like they're donating, they're not losing money. But at the same time, the more people accept this currency, the currency just naturally gains value. And people working on math problems just get this extra phantom value out of nowhere. You could have currencies that fund medical research. You could have currencies that try to fund environmental applications.
So the idea here is that let's not have one currency, let's have thousands of currencies. And we can have this form of this sort of economic democracy through a currency system. So Ethereum is a platform that makes it a thousand times easier to bootstrap your own decentralized currency because you can just make it as a contract.
Hedging contracts we talked about this a bit. I put in $1,000, you put in $1,000 worth of cryptocurrency, so worth of bitcoin, worth of ether. And then a month later I get $1,000 back and you get the rest. So what's the value proposition for you? You get to speculate in favor of ether at a 2x leverage. And the value proposition for me is I get security, I don't have to deal with volatility risk.
So we've seen for a lot of applications that are trying to say, oh, let's have, if people want to have US dollars on the blockchain, let's have an issuer and that issuer will issue their own currency and that currency can be redeemed for US dollars. Yes, that is one way of doing it. But you have to trust an issuer. So here's another way of doing it. You would have a contract that listens to a Bloomberg price feed of what the value of ether in US dollars is and then it automatically gives me back a constant value, not a constant value of ether, Ethereum's internal currency, but a constant value measured in US dollars.
So here, this is not trust free, but this is massively reduced trust because instead of trusting an issuer, all you have to trust is a price feed. And you can trust like 9 out of 18 price feeds if you want. You could do voting pools, you could do proof of stake voting. There are lots of ways that you can mitigate any kind of problems here.
Decentralized autonomous organizations. So what if you could have a company whose organizational bylaws instead of being enforced in the legal system are enforced literally on the blockchain. So the organization might have some capital, it might have a million dollars worth of ether. But then you wouldn't, the organization, this contract might even have a million dollars stuck in a hedging contract.
So this is the other nice thing about Ethereum. Contracts can use contracts. So the idea here is that you would need 2/3 of an organization's members in order to agree to do anything. And that's pretty much the only rule. You could even have self modifying code. You could have a rule that says you need the support of 2/3 of an organization's members in order to change the rules of the organization. Sure.
And so just one more. Here are some other interesting applications. Savings wallets. So we talked about multi signature escrow. Here are some, Ethereum potentially offers massively expanded versions of multisig escrow. You could do withdrawal limits. Crop insurance. What is crop insurance? You could have a hedging contract, you could have a financial contract off of the weather. Peer to peer gambling. You could do peer to peer Satoshi Dice on the blockchain. Decentralized exchange. Data storage. Decentralized Dropbox. You could have a decentralized Dropbox implementation that lets anyone participate. You will be able to earn money by renting out your hard drive. Mesh networking. Reputation systems. You could expand this idea of Namecoin and turn it into an entire reputation system, into a decentralized social network and perhaps maybe even Skynet.
[25:02] SPEAKER_01: Yes, very, very exciting project. I just had a couple questions about the funding model that I was reading. So one question is where will the Bitcoin be allocated to and how will that be managed?
[25:17] SPEAKER_00: Okay, sorry, I'll repeat it.
[25:24] SPEAKER_01: The second question is if a founder, let's say leaves the project, what will happen to their vesting of Ethereum?
[25:32] SPEAKER_00: Okay, so I'll talk a bit about the funding model. So we will have a fundraiser for two months starting February 1st. It will be available at funds.ethereum.org. So the idea is that part of the initial issuance will be 1000 ether for one bitcoin or up to 2000 ether for one bitcoin if you get in early to compensate for the increased risk.
So the issuance model is that we will fundraise. Suppose that we hand out x ether through the fundraiser. Then there will be about 0.5x will be pre mined and then 0.4x after that will be mined per year forever. So it's this hybrid of the Mastercoin and Ripple model and the pure Bitcoin mining model and even to a slight extent the inflationary model.
So the answer is in terms of the portion of the pre mine that has already been allocated, that is vested for one year. So if any of the founders leave the project within one year then the other founders have the right during the first year to cancel their allocation. In which case that will simply be distributed, handed back to the Ethereum organization as a long term reserve.
And then did you have, what was the second part?
[26:58] SPEAKER_01: Where is the Bitcoin going to be?
[27:00] SPEAKER_00: Right, so at the start the Bitcoin is going to be centrally managed. We will have a transparent accounting system. So the Bitcoin will go towards development, it will go toward heavy security research, it will go toward developing applications, toward working with projects like Bitmessage, and toward developing things like incubators. So we will have models, and we will release very detailed documents on how we're going to do that over the next few days. And eventually we hope to turn the Ethereum organization itself into a DAO. Okay, sure. Okay. Hold on. Yeah. I will be just standing over there outside, so if anyone wants to ask questions, feel free.