How does Ethereum work?

Written by Michele D'Aliessi. Original article in Medium.

The logic and mechanics behind Ethereum explained in simple words.

Ethereum is a platform on which anyone can build unstoppable applications[1] and decentralized. If you have never heard of Ethereum or if you do not know what it is for, I strongly recommend that you read «What is Ethereum?»Before going deeper and exploring how it works in this article.

The purpose of this article is to explain how Ethereum works by providing a general and non-technical overview of its internal logic and mechanics.. Please keep in mind that what is described below is a simplified version of what really happens, but it should be technical enough to give you a general idea of ​​how it works. If you have any questions, please write as comments or private notes, it would help me refine this article over time and make it much clearer for future readers.

We can see Ethereum as a stack of few layers built on top of each other. The first basic layer that makes everything else possible is a large network of computers that process transactions and maintain a shared database updated over time (the Ethereum blockchain). The second is the software layer that allows developers to run programs called «smart contracts»In the Ethereum blockchain, using a programming language called«Solidity». The third layer consists of applications that offer different services (from government to identity management) to Ethereum users. The remarkable feature of this platform is that by taking advantage of Ethereum's hardware and software layers, these applications are decentralized, lack a central point of failure and are somehow "unstoppable." You can not turn them off.

Let's explore each of these layers in detail.

Fig. 1 - The different layers of the Ethereum platform

1 Ethereum hardware layer: blockchain

Most of what is seen on the web, including this article, is hosted on a server in a data center somewhere on the planet. When you open your browser and browse the web, your computer (client) connects to these servers and downloads the content you are looking for. This client-server infrastructure was intended for an Internet with few centralized repositories (servers) that distributed content to many users (clients). However, today the Internet connects many customers with other customers, since we are all creators and users of content (Web 2.0). Computers can connect to a large network and pass the content between them from the computer that generated it to the computer that requested it. This large group of computers that transmit content to each other is known as «peer-to-peer network».

The Ethereum hardware layer is a peer-to-peer computer network that computes transactions and keeps them in order in a shared ledger. This allows them to build a distributed database that can keep a record of all the information that is shared on the network: all transactions that take place. Each computer on the network is called a "node", validates incoming transactions and organizes them into blocks that are then transmitted to the entire Ethereum network. Here You can see the Ethereum network of computers processing transactions in real time (be patient, the website will take a while to load).

Fig. 2 - Ethereum hardware layer: blockchain

Transactions can contain both value and information. The value is expressed in «Ether», the digital currency of the Ethereum platform. And the information is a code that can pass data and trigger actions. This is relevant for the Ethereum software layer, for the hardware layer, keep in mind that it is made up of hundreds of computers spread across the planet that are connected to each other over the Internet.

Anyone can offer their own computer to process network transactions simply by executing some code on their laptop. There is an incentive scheme that promotes the growth of the Ethereum network, in fact those who run the nodes are rewarded in «Ether» - a valuable asset since it can be used to make use of the applications that run on the platform.

This should be enough to give you a general understanding of the hardware layer of Ethereum. If you want to know the details of how these computers coordinate work and process transactions, you will need to learn the mechanics of blockchain technology: this article It's a good start (use the Bitcoin blockchain as an example to explain the technology, but most of the content is also valid for Ethereum[2]).

2 Ethereum: Solidity software layer

The flexibility of the Ethereum platform is what made it popular among the first Bitcoin and blockchain enthusiasts. In fact, while Bitcoin has been designed as a currency to perform value transactions between different actors, Ethereum has been developed to extend the use of underlying Bitcoin technology and build a broader and more commonly used blockchain.

The Ethereum software layer has been built to allow the transaction of value in any form, be it a currency, a house, an identity, the rights to use or play a song or any other asset that comes to mind.

Ethereum extended Bitcoin beyond its monetary nature.

For this, a new programming language has been created, called «Solidity». For those of you who are software developers, it is quite similar to JavaScript. Solidity programmers can build simple programs called "smart contracts" that can implement the basic logic of transactions.

For example, a smart contract can implement the following logic: if both Mark and Bob send five ethers to Jack, then they automatically send two ethers from Jack to Alice.

Ethereum also allows anyone to create new digital currencies (or more specifically "tokens") that can be exchanged by all Ethereum users. This allows a wide range of applications: from the digitization of reward points in your favorite cafeteria, to the creation of new economies in specific markets.

In the image below you can see how the Solidity code is, this basic smart contract generates a new token and allows its transfer to other users.

Fig. 3 - Ethereum software layer: Solidity and smart contracts

All Ethereum code is open source and available online at Github.com. In fact, anyone can Download (and use) the code in the image above for free to develop a new application. The open source nature of Ethereum allows anyone who wants to contribute to writing new code and share it online, developing new features or strengthening the general platform by correcting errors. This also means that the Ethereum platform is somehow self-evolutionary, since the community is constantly adding new code, just like Wikipedia has publishers that add new articles and edit existing ones.

Anyone can learn to program in Solidity, there are many free online resources, such as the official Ethereum website or you are gamified lessons with zombies.

In summary, the Ethereum software layer allows software developers to design smart contracts that allow programmable value transfer. All the code of the smart contracts is public, so anyone can check what these programs actually run.

3 Ethereum application layer: dApps

The combination of the hardware and software layers described above allows Ethereum to function as a global and decentralized supercomputer in which third-party applications can be run.

Although many of the early adopters took advantage of Ethereum's "symbolic issuance" function to raise funds and launch new projects (Initial Coin Offerings), Ethereum's applications extend well beyond the financial sector. There are more than 900 applications built on Ethereum, of which approximately 30% is working, while the other 70% is still in 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 functionality and applications of this platform.

The creation of public and decentralized applications has several advantages that outweigh private and 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.
  • Resistance. It is difficult, or virtually impossible, to stop those applications once they run on Ethereum.
  • Better code. Since the code is public and any hacker you can read it, it is necessary to correct errors quickly and efficiently, resulting in a code of higher quality and reliability.

Every day new projects and several applications that run on the platform and focus on improving the world we live in, as well as this WWF project.

It seems that Ethereum could play an important role in changing our current Centralized internet towards a more transparent future, oriented towards privacy and equality.

Related links

  • More information about the Ethereum project - link
  • See the network of computers running Ethereum in real time - link
  • How to get your own Ethereum wallet - 10 $ free in Coinbase
  • How to keep your Ether secure - link
  • How to install and run your own Ethereum node - link (pro)
  • More information on the operation of blocking chain technology - link

[1] Unstoppable because to prevent these applications from running you would have to tear down the entire Ethereum network that is made up of hundreds of computers scattered around the world. So let's say they are virtually unstoppable, or simply very difficult to stop.

[2]The Ethereum and Bitcoin blockchains already had several differences in the conception phase, and their evolution is taking them in different directions, since they point to different objectives. You can learn more about those differences. here.

- Advertising Notice-

Similar

es Spanish
X