Ethereum in a Technical Nutshell
I’ve been trying to boil Ethereum down into one sentence that captures the fundamental essence of the platform. Let’s call this a work in progress, but here’s what I’ve got:
Ethereum is a decentralized, self-contained economy for transactional computation and related data.
Simple enough, right? Let’s break it down.
Ethereum is decentralized. This is probably the most obvious component of the sentence. Ethereum is a public blockchain that uses a decentralized consensus mechanism — currently proof of work (PoW). As a peer to peer network, Ethereum relies upon individual actors called nodes to store and relay data about the network. The nodes on the platform run the platform in an entirely decentralized fashion. A single node or group of nodes representing less than 51% of the network cannot attack the integrity of the network, and the network does not rely upon any one node or set of nodes to continue operating validly and as expected.
Ethereum is self-contained. Ethereum as a protocol is concerned entirely with Ethereum. The currency is Ether, the transactions deal with and are powered by that currency, and the transactions in that currency modify state of the Ethereum blockchain (read: ledger/database).
At it’s core, Ethereum is an economy —both decentralized and self-contained. Services are exchanged for Ether under a defined set of rules.
Ethereum is a decentralized economy. The economic rules with which the network operates (e.g. issuance, ownership, etc) cannot be manipulated by any one source. They were set in motion by the initial software and the initial state (the genesis block) and can only be changed if and when the nodes come to a general consensus. A decentralized economy is in a sense tamper-proof, or at least extremely tamper-resistant. While admittedly a much simpler economy, Ethereum offers far stronger guarantees about the rules of the economy than a traditionally governed economy.
Ethereum is a self-contained economy. The Ethereum economy is run with Ether and for Ether. When looking at just the currency aspect of Ethereum, Ether operates both as the incentive for the nodes to build the distributed ledger, as well as the currency with which the ledger is concerned. It is partially from this circular component of the currency with which the value of all blockchains arrises.
The nodes are paid in Ether to build and secure the network of Ether.
Transactional Computation and Related Data
Ethereum is an economy for transactional computation. The Ethereum protocol sets forth a set computational rules. Wallets, both user controlled and code controlled (smart contracts), can only interact with one another via transactions, or another way of putting it: by sending messages. Messages (transactions) pass information between encapsulated programs (wallets), and the state of the individual programs is updated according to the set of rules tied to that program.
To User Wallet
In the simplest case, a message is sent to a user controlled wallet. For our purposes, user controlled wallets have only one piece of data associated with them: value stored in ether. The computation surrounding this transaction is fixed by the protocol. It simply increases the value of the receiver and decreases the value of the sender by the transaction amount. This computation is only valid and included in the blockchain if the sender has enough ether to cover that amount.
To Smart Contract
The more complex case is that of a message being sent to a smart contract. When sending to a user wallet, the payload of the message is simply an amount of ether. When sending to a smart contract, the payload of the message is an optional amount of ether, a function to call on the smart contract, and data to pass into that function. The computation surrounding this transaction is dictated by the program stored in the smart contract. The function is executed with the ether and the data. The function can update the state of the smart contract and can initiate further transactions to other wallets.
The Economics of Computation
Nodes resolve transactions and update state for a fee. This fee is related to the complexity of the task, gas, combined with the market rate for complexity, gas price. If the sender does not have enough ether to cover a sent transaction, the transaction will not be included in the blockchain. If the sender does not set a high enough rate for the complexity of the task, the transaction will not be included in the blockchain.
Fees are paid to the nodes to incentivize the resolution of transactions. Nodes resolve these transactions by executing the associated computation and updating the state of the blockchain. The nodes can only resolve these transactions by following the rules of the protocol, and the validity of the resolution of transactions is checked by all nodes in the Ethereum network. Thus we have a set of rules for computational transactions and an decentralized economy for resolving those transactions.
General Economy Layered on Top
So what does “a decentralized, self-contained economy for transactional computation” give us? In short, it provides an infrastructure for defining a general decentralized economy. The rules and economics of the decentralized transactional computation at the base give rise to a decentralized application layer on top.
What sort of applications will be built on top? The community has some ideas already— prediction markets, decentralized organizations, decentralized storage and computing, etc — , but this is an entirely new way of organizing and interacting. Until this point humankind has never been able to operate in a truly decentralized fashion so I’m expecting the unexpected.