In the abstract, open source blockchain networks such as Ethereum and Bitcoin are kits that allow you
to pop up an economic system in software, complete with account management and a native unit of
exchange to pass between accounts. Kind of like the game Monopoly . People call these native units
of exchange coins, tokens, or cryptocurrencies, but they’re no different from tokens in any other
system: they’re a form of money (or scrip) that is usable only within that system.
Blockchains work something like mesh networks or local area networks (LANs); they are merely
connected to other “peer” computers running the same software. When you want to make one of these
peer-to-peer (P2P) networks accessible through a web browser, you need to use special software
libraries such as Web3.js to connect an application’s front end (the GUI you see in a browser), via
JavaScript APIs, to its back end (the blockchain).
In Ethereum, you can take this concept one step further by easily writing financial contracts with
other users inside the system. As you’ll see, these financial contracts are called smart contracts.
The key component is this idea of a Turing-complete blockchain. … As a data structure, it
works kind of the same way that Bitcoin works, except the dif erence in Ethereum is, it has
this built-in programming language.
—Vitalik Buterin, inventor of Ethereum