1.1 Ethereum: Concept, Infrastructure & Purpose
Last updated
Last updated
Ethereum is a next generation blockchain that supports smart contracts to allow decentralized applications to be built on itself. Ethereum was one of the first blockchains to put forth this idea and enter into this concept of a next generation smart contract based decentralized application platform.
One of the fundamental aspects of Ethereum is the fact that it is Turing complete: Ethereum supports a Turing complete programming language. Turing completeness is a fundamental concept in computer science, which refers to the expressiveness of a programming language: what can you do with it, is the logic that you can express with that language arbitrary, is it bounded, is it unbounded...
Many of the high level languages that you may be familiar today (like C
, C++
, Java
, Python
, Rust
, Golang
...) are Turing complete.
Therefore, the language supported by Ethereum is expressive enough in arbitrary and unbounded ways. This property is very powerful and it affects both the design and security of Ethereum, smart contracts and the decentralized applications governed by them.
Smart contracts, given that the programming language they are written with is Turing complete, are also Turing complete. This subsequently means that these smart contracts, and the applications they govern, can encode arbitrary rules over arbitrary states in such a way that said states can be read and written using those arbitrary rules. This contributes to what is known as a state transition.
Think about finite state automatons from computer science:
You have a state rule
Said state rule
is applied to a state
The state
is read and modified (which means that it is taken from state
to state'
)
The fundamental state transition rule can be done with a Turing complete programming language in arbitrary ways without any constraints on it. These aforementioned rules can be of any kind: rules for ownership, transaction formats, state transition functions... So any state/any rule allows Ethereum to support any application on it without any artificial constraints coming from the programming language or the platform.
At a high level, Ethereum is an open source globally decentralized computing infrastructure that executes smart contracts. By design, everything in the space is open source (the protocol, the specification of the protocol itself and all the code that that actually implements that protocol) so that everything is transparent. This has big implications to security.
Ethereum uses a blockchain (namely the Ethereum blockchain) to store the various states from the smart contracts, and given that it's a blockchain, it's decentralized: there are many nodes which to agree upon and synchronize the "single view" (global state) that every node agrees on and works with.
So, what is the purpose of Ethereum as a platform? What is the vision that is being worked towards? Due to the decentralization aspect (there's not one central entity controlling the vision), a lot of these can be thought of as narratives.
Ethereum's initial purpose, put forth in the white paper, was for it not to be just a currency nor just a payment network. This becomes clearer if you are aware of how Bitcoin works: Bitcoin is a predecessor of Ethereum and a large source of inspiration, but Ethereum's vision was to go beyond it being a currency or a payment network.
There is a native currency in Ethereum called Ether (). Ether is divisible up to 18 decimals. The smallest unit of ether is known as wei: wei add up to one Ether. There are other units as well: 1 a Babbage is wei; 1 Lovelace is wei... These names are in honour of Charles Babbage and Ada Lovelace, which are important people that contributed a lot to computer science.
Ether is used to measure the amount of resources that is being used when smart contracts are run. This allows to constrain how long and how many resources the smart contracts use up. It is an important property because it ties with Turing completeness: since smart contracts are Turing complete, the resources and time of execution of a smart contract must be bounded so that it does not take over all the resources of the network, and consecutively collapse it.
While being integral to Ethereum, Ether is not the "be-all" or "end-all" goal of Ethereum. The idea for Ether was for it to be a utility token: you need the Ether token to utilize the benefits of the Ethereum platform, so if somebody wants to use Ethereum they need to pay using Ether. This is the high level purpose.
You have probably been reading about narratives of Ether being a store of value in a medium of exchange, or a digital gold or a world computer productive asset, things like that. These are all the narratives that are being discussed in the community. The vision of Ethereum being a world computer is enabled by its rich infrastructure.