Distilled: Vitalik Buterin on crypto
Disclaimer: These are a set of notes I took from listening and reading Vitalik Buterin. They don't fully represent his thoughts as some of these might be rephrased to something I understand more clearly.
Blockchain: A decentralized network of computers that maintain a ledger and database together. Different participants have different ways of plugging into it and send transactions, but no one can tamper with the systems in a way that is outside the rules.
Ethereum: A general-purpose blockchain.
Bitcoin is like a spreadsheet and Ethereum is like a spreadsheet with macros. You can build a lot of things on top of that. BTC builds a monetary system on top, ETH can build dec domain names, Defi, prediction markets, NFTS, and all sorts of schemas. The core difference is the core idea that once you build it, the application does not need you to continue to exist, and you don't have the ability to tamper with it.
If Bitcoin is a shared ledger, Ethereum is a shared computer for the entire world to run its most important applications. Some of the applications that people are building on it are the most important applications of the future.
About these applications: ETH, as an asset, is an application. ENS (the domain system), I a decentralized name system that runs on the eth blockchain. And you can use it not only for a domain name but also for an account. There's a messenger called Status which a decentralized, that uses these names. It's more guaranteed to survive. DeFi space is a big category with different sorts of contraptions on it e.g. predictions market: platforms where you can bet on different outcomes, markets for trading between different kinds of assets, games, etc.
Smart contracts are at the core of the eth blockchain. Smart contracts are getting far more complicated. From a developer's view, imagine if every piece of a program -every function -, had an address from where everyone in the world could reach it and a slot where you can insert money. So you can call any function wherever it is in the world and then insert money into it and it would do something on your behalf. This gives Ethereum applications this property called composability, where you can use them as Lego blocks, each one builds on the rest. The final product in DeFi ends up very very advanced. Regular applications build by companies cannot combine with each other but in the Eth world of DeFi, all of these apps are open-source, permissionless, programmable, and can connect right into each other, can be identified called, and paid for in a permissionless trustless kind of way.
This means that once the infrastructure is built on DeFi, while it is complex and very difficult to build, once a piece is built is available to everyone and stacks on to each other.
About intellectual property: What blockchains do through consensus is that they protect the data. This means that users own their own private data and the private data that is needed to make the blockchain work, its integrity is protected by the blockchain and that's what blockchains do ( get people to cooperate on what the canonical output should be). The code itself is completely open.
Layer 1: This is Ethereum. Proof of work to proof of stake (100x improvement) and sharding (breaking into different pieces that do different things and then try to reconcile them). Layer 2: This is where the code is run. Only use the blockchain in very particular ways. Channels exist and are great, but rollups seem to be more exciting. They can support not only payments but other applications that can run on Eth directly and they become 100x cheaper.
Proof of Stake: You need a way for nodes to vote while preventing the civil attack (that's one account pretending like it has 1M accounts). To prevent this, use economics. The extent to which you can vote is proportional to the economic resources you put in. In PoW, these resources come in the form of the hardware that you're running. Every hash solution that you find gives you the right to generate a block, and the number of hash solutions that you can generate is proportional to the number of computers you put in.
In PoS the core principle is that your ability to participate in creating the outcome is proportional to how many coins there are in the system that you are stacking. It's efficient because if you have coins that are saved in an account, this account has associated a private and public key to it so you can just make a digital signature with the private key.
For a long-lived contract, we do all transactions on the side, and we do all series of transactions but every time we do a transaction we stamp it and update the transaction between the two participants. Once finished, either one can submit the record of the transactions to the blockchain and because is signed by both participants it's valid. Then the blockchain executes it. The blockchain doesn't need to keep track of all the intermediate pieces.
Roolups: They are complex machines that are not on the blockchain that are running the transactions and then they submit different kinds of proofs back to the blockchain to test that they are valid transactions. They submit different kinds of proofs to the blockchain:
- Optimistic: assume people do the right things and are watching and get punished for the committed fraud.
- Zero-knowledge-based rollups: Submit proofs that are shorter than the computations about how the computations were done correctly.
Eth2 layer 1 speedup and layer 2 rollup speedup you can get 10k speed up. And with sharding, you can 4x that.
Quadratic funding: everyone can donate money to public goods. To compensate, the mechanism provides a subsidy.