JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
Back to the library
Blockchain 2014

Ethereum: A Next-Generation Smart Contract and Decentralized Application Platform

Vitalik Buterin

Put a programmable computer inside the blockchain — code becomes a contract no one can stop.

Choose your version
In depth · the introduction

What if a blockchain could do more than move money — what if you could put a program inside it, one that runs by itself and that no one can switch off?

The idea, unpacked

Bitcoin gave the world a shared ledger that strangers keep honest without a bank. But its ledger really only does one thing: it records who sent how much to whom. Ethereum asked a bigger question — what if the ledger could also hold programs?

That is the whole idea. Ethereum is a single, shared computer that lives across thousands of machines at once. You can upload a small program to it, called a smart contract, and from then on it runs exactly as written, the same way for everybody, with no company hosting it and no off switch. Money, rules and code live together in the same place.

Where it came from

In late 2013 a nineteen-year-old programmer and Bitcoin writer named Vitalik Buterin circulated a white paper. His argument was that people kept trying to bolt new features onto Bitcoin one at a time, when what was really needed was a blockchain with a full programming language built in, so anyone could write whatever feature they wanted. The project was founded by a group rather than one person; Gavin Wood wrote the rigorous technical specification (the "Yellow Paper") and built early software, and several others co-founded the effort. Ethereum went live in July 2015.

Why it mattered

Once a blockchain can run programs, you can build things that used to need a trusted company in the middle — and have them enforced by code instead. A contract can hold money in escrow and release it only when conditions are met; it can run an auction, issue a digital token, or coordinate a group's shared funds. Because the program is just a contract everyone can read and no one can secretly alter, you do not have to trust the operator — there is no operator. That shift, from "trust the company" to "check the code," is what built the whole world of tokens and decentralised finance that followed.

A vending machine

Think of a vending machine. It holds goods and money, it follows fixed rules — put in the right coins, press the button, out comes the snack — and it does this for everyone identically, with no shopkeeper needed. A smart contract is a vending machine made of code: it holds value, it follows the rules written into it, and it serves anyone the same way, automatically. The widget below lets you feed a transaction into one such machine and watch it run — and see what happens when it runs out of fuel partway through.

An interactive panel for one Ethereum transaction that calls a small contract to store a value: two sliders set STARTGAS (the gas budget) and GASPRICE (ether paid per unit of gas), and a coloured bar shows the budget split into gas spent on the transaction's bytes, gas spent running the code, and refunded gas. When STARTGAS covers the cost the contract completes, unused gas is refunded and only the consumed fee goes to the miner; when STARTGAS is too low it runs out of gas, every state change is reverted, yet the whole fee is still taken by the miner.

Where it sits

Ethereum stands directly on Nakamoto's Bitcoin (also in this Library): it keeps the shared, tamper-resistant ledger and adds a programming language on top. It is honest about its hard parts, too — when a famous contract called "The DAO" was drained by a bug in 2016, the community chose to reverse it with a hard fork, which split the chain in two and showed that "code is law" has limits set by people. From this design grew the digital tokens, marketplaces and decentralised-finance apps that much of today's crypto world is built on.

The original document
Original source text
Vitalik Buterin · “A Next-Generation Smart Contract and Decentralized Application Platform” · written 2013–2014 · ethereum.org
Introduction
What Ethereum intends to provide is a blockchain with a built-in fully fledged Turing-complete programming language that can be used to create “contracts” that can be used to encode arbitrary state transition functions.
The introduction reviews Bitcoin as the first realisation of decentralised consensus, then argues that the same machinery can support far more than currency once the transaction language is made expressive.
Ethereum Accounts
In Ethereum, the state is made up of objects called “accounts”, with each account having a 20-byte address and state transitions being direct transfers of value and information between accounts.
Each account holds four fields — a nonce, an ether balance, contract code (if any), and storage — replacing Bitcoin's stateless UTXO set with explicit, persistent account state.
Messages and Transactions
The STARTGAS and GASPRICE fields are crucial for Ethereum's anti-denial of service model. … The fundamental unit of computation is “gas”; usually, a computational step costs 1 gas.
A transaction names a ceiling on the computation it may consume (STARTGAS) and a price per unit (GASPRICE); the product is the maximum fee. If execution exhausts the gas, it reverts — but the fee is still paid.
The State Transition Function — APPLY(S, TX) → S′
Check if the transaction is well-formed … the signature is valid, and the nonce matches the nonce in the sender's account. If not, return an error.
If the value transfer failed because the sender did not have enough money, or the code execution ran out of gas, revert all state changes except the payment of the fees, and add the fees to the miner's account.
[ … ]
Applications & remaining sections
The full paper continues through code execution and the virtual machine, token systems, financial and non-financial applications, decentralised autonomous organisations, scalability concerns and conclusions — and is kept current at the source below.
Vitalik Buterin · Ethereum White Paper · 2014