At the beginning of 2014, the Russian programmer Vitalik Buterin announced the idea of a new decentralized network that, like bitcoin, uses blockchain technology. He called this idea Ethereum.
Ethereum has since grown into a worldwide network of computers on which thousands of decentralized applications run. In fact, the digital currency ether has become the second largest crypto currency. In this talk we will try to explain Ethereum in plain language.
What is Ethereum and how does it work?
What is Ethereum?
Ethereum is a decentralized network that uses blockchain technology. On this network it is possible to run applications that are distributed over the entire network. These applications are also known as DApps (decentralized apps). Because the applications are distributed across the network, the chance that individual applications will be taken offline is virtually impossible. As a result, DApps are resistant to data loss, manipulation and censorship.
Ethereum's network is also home to ether, a digital currency that functions as a kind of fuel. The ethers are needed to make changes to the Ethereum blockchain. If users carry out transactions among themselves on the network, they must pay transaction costs. The proceeds of this go to the miners who ensure that the transaction is included in the blockchain.
Many companies are also attracted to this new technique, partly because they can use the Ethereum network and use it to bring new innovations to the market. Think, for example, of a refrigerator that can automatically order a new stock and therefore has its own budget.
The Ethereum platform also has its own programming language called Solidity. Developers can use the Ethereum blockchain and build their own applications and launch cryptocurrencies with Solidity. Smart contracts and DAOs are examples of interesting applications that are possible thanks to Ethereum.
How does Ethereum work?
We can think of Ethereum as a stack of layers on top of each other. The first, base layer that makes everything else possible, is a large network of computers that process transactions and keep a shared database updated over time (the Ethereum blockchain). The second is the software layer that allows developers to run programs called smart contracts on the Ethereum blockchain, using the Solidity programming language. The third layer consists of applications that provide different services (from governance to identity management). The remarkable thing about this platform is that by leveraging the hardware and software layers of Ethereum, these applications are decentralized, have no central point of failure and are unstoppable. You just can't disable the apps.
Let's look at each of these layers in detail.
Ethereum hardware layer: blockchain
Most of what you see on the internet, including this article, is hosted by a server in a data center somewhere in the world. When you open your browser and browse the Internet, your computer (client) connects to such servers and downloads the content you want. This client-server infrastructure was intended for an Internet with few centralized repositories (servers) that would distribute content to many users (clients). However, today's internet connects many clients to other clients because we are both content creators and users (Web 2.0). Computers can be connected in a large network and pass content from the computer that generated it to the computer that requested it. This large group of computers that pass content to each other is known as a peer-to-peer network.
The Ethereum hardware layer is a peer-to-peer network of computers that calculate and sequence transactions in a shared ledger. This allows them to build a distributed database that can keep track of all the information that is shared in the network: all the transactions that take place. Each computer on the network is called a 'node', and it validates incoming transactions and organizes them into blocks that are then broadcast to the entire Ethereum network. Below is the Ethereum network of computers processing transactions in real time.
Transactions can contain both value and information. The value is expressed in "ether", the digital currency of the Ethereum platform. And the information is code that can pass data and trigger actions. This is relevant for the software layer of Ethereum, for the hardware layer we just keep in mind that it consists of hundreds of computers scattered around the planet that are connected to each other via the internet.
Anyone can offer his/her own computer to process the network's transactions by simply running some code on his/her laptop. There is a scheme of incentives that promote the growth of the Ethereum network, in fact those who run the nodes are rewarded in ethers – that is a valuable asset as it can be used to leverage the applications running on the platform. executed.
This should be enough to give you a general understanding of the Ethereum hardware layer. If you want to know how these computers coordinate work and process transactions, you need to learn how blockchain technology works: this article is a good start (it uses Bitcoin blockchain as an example to explain the technology, but most of the content is also valid for Ethereum).
Ethereum software layer: Solidity
The flexibility of the Ethereum platform makes it popular among the early Bitcoin and blockchain enthusiasts. While Bitcoin was designed as a currency to transact value between different users, Ethereum was developed to extend the use of Bitcoin ancillary technology and build a broader overall blockchain.
The Ethereum software layer is built to enable the transaction of value in any value or form, be it a currency, a house, an identity, the rights to use or reproduce a number or any other asset you can think of. .
All Ethereum code is open source and available online on Github. In fact, anyone can download (and use) the code from the image above for free to develop a new application. The open source nature of Ethereum allows anyone who wants to contribute to write new code and share it online, develop new features, or enhance the overall platform by fixing bugs. This also means that Ethereum's platform is somehow evolving as the community is constantly adding new code, just like Wikipedia has editors who add new articles and edit the existing ones.
Anyone can learn to code in Solidity, there are many free resources online, such as the official Ethereum website or these gamified classes with zombies.
In summary, Ethereum's software layer enables software developers to design smart contracts that enable programmable transfer of value. All smart contract code is public, so anyone can check what these programs actually run.
Ethereum Application Layer: dApps
The combination of the hardware and software layers described above allows Ethereum to operate as a global, decentralized supercomputer that can run third-party applications.
Even if many early adopters use Ethereum's “token emission” feature to raise funds for new projects (Initial Coin Offerings), Ethereum's applications extend far beyond the financial sector. There are over 900 applications built on Ethereum, about 30% of them are live while the other 70% are still under development.
Due to the open and transparent nature of Ethereum, many developers around the world came together and built a strong and large community that is currently working to expand the functionalities and applications of this platform.
Building public, decentralized applications has several advantages that outperform private, centralized applications, in particular:
- Transparency: Anyone can read the code and make sure the application does what it promises. All transactions are also public and can be tracked.
- Resilience: It is difficult or virtually impossible to stop those applications once they run on Ethereum.
- Better code: Because the code is public and any hacker can read it, bugs must be fixed quickly and effectively, resulting in higher quality and more reliable code.
New projects are launched every day and several applications on the platform are aimed at improving the world we live in, just like this project of the WWF.
It seems that Ethereum could play a big role in shifting our current centralized internet to a more transparent, privacy-focused and equal future.
What are smart contracts and DAOs?
A smart contact (or smart contract) is an application that runs on the Ethereum network and automatically performs a series of actions. For example, think of a If this, then that (IFTT). Because the contract runs on the Ethereum blockchain, it cannot be modified or terminated in the meantime. The rules that are agreed upon cannot be changed by anyone.
The automatic payment of alimony to an ex-partner could be an example of a smart contract. Or what do you think that with every transaction the VAT is automatically sent directly to the tax authorities? Other conceivable applications are the prevention of fraud, abuse or manipulation in, for example, collection campaigns for a good cause. With smart contracts it is possible to program money.
It is also possible to build a completely virtual company based on a smart contact. Organizations could run entirely on the Ethereum blockchain and thus ensure continuity. These types of organizations are called DAOs (Decentralized Autonomous Organisation).
New companies can also use Ethereum to issue their own cryptocurrencies and initially hold some sort of equity spending. Organizations that want to raise money for their project do so through an ICO (Initial Coin Offering). The 'token' that is released is in principle completely separate from the network on which it runs and has little to do with the price of the ether. Coins (or tokens) running on the Ethereum blockchain are also known as ERC-20 tokens.