Step 6 / Ethereum & Shared Applications
A shared machine for agreements.
How many computers can check the same program—and why that has a cost.
Picture a ticket machine. You choose a ticket and put in the right payment. The machine follows a rule and issues the ticket.
Now imagine that many independent computers can inspect the rule and check each purchase. The ticket record no longer depends on the shop’s computer alone.
That is a starting picture for Ethereum. Sharing the checks can be useful. We still need to ask whether the rule is well written and who can change it.
Many computers check the same work.
Suppose the ticket record says five tickets have been sold. A valid request adds three. Each computer starts with five, follows “add three,” and gets eight. They can compare results because they share the starting record and the rule.
Vitalik Buterin proposed Ethereum in 2013. He wanted developers to build many kinds of apps on one blockchain. Each new app would not need a separate blockchain with a new set of rules.
Bitcoin already allowed rules for spending. For example, a payment could require several signatures or wait until a certain time. Ethereum took a broader approach: it provided a shared place to run many kinds of programs and keep their changing records.
This is why people call Ethereum a world computer. The phrase means shared program execution: many computers check what the program did. It does not mean one giant laptop with unlimited power.
Repeating and checking work has a cost. It may be useful for a ticket record that several sellers need to agree on. It is usually wasteful for every frame of an animation on the ticket website. An ordinary server or the visitor’s own computer can handle that.
Every copy starts at five. This is a simplified deterministic state update.
A short history of the launch
Buterin wrote about Bitcoin and co-founded Bitcoin Magazine before proposing Ethereum at age nineteen. A wider founding team and community helped build the project. Some founders later built other projects.
A sale of ether in 2014 helped pay for development. The public Ethereum network launched on July 30, 2015.
The Ethereum Foundation helps coordinate work. It does not own a master switch that can force every participant’s computer to follow its wishes.
The ticket rule becomes a program.
On Ethereum, a program can live at a blockchain address. A transaction can ask that program to perform an action. The program can hold assets and change its stored records.
This kind of program is called a smart contract. “Smart” does not mean that it thinks. “Contract” does not mean that every such program is a legal agreement.
The term is older than Ethereum. In 1994, Nick Szabo described using computer rules to carry out stated terms of an agreement. Ethereum later provided a shared platform for this kind of work.
Follow the ticket purchase one step at a time. The request reaches the ticket program. The code checks the payment and whether a ticket is available. If the checks pass, it reduces the available tickets and records who holds the new ticket.
Other computers check that change against the same code. They do not check what the buyer hoped the code meant. If a mistake lets the program do something harmful, running it successfully does not make the action fair or lawful.
Also ask who can change the program. Some contracts have fixed logic. Others have an administrator who can pause actions or replace part of the code through an upgrade process. A familiar address can still lead to changed rules.
A simplified contract with one rule: a valid payment can purchase an available ticket.
Put a limit on the work.
Imagine someone asks the shared program to repeat a task forever. Many computers would waste time following the request. Ethereum needs a way to put a limit on that work.
It measures work in units called gas. Each operation uses a set amount of gas. A request includes a gas limit: the most work it may use.
If the program runs out before it finishes, the requested changes are undone. But computers already did work trying to carry out the request. That used work still has a fee.
Keep the units separate. Gas measures work. The gas price tells you what each unit of work costs. Ethereum’s native asset, ether, pays the fee; its short name is ETH.
A contract can also limit an automated assistant’s actions. For example, code may restrict what it is allowed to request. The protection depends on that code, who can upgrade it, and what the user approves. Setting a rule does not remove the need to inspect it.
The idea to keep
Ethereum lets a network check both records and programs that change those records. This can reduce reliance on one operator, but the code and its controls still need examination.
Next, Maya will buy a ticket. We will follow her request, the program’s result, and the fee for doing the work.
