To do this, the programmer can develop their applications in a language that is easy to use, read and maintain so that, when finished, the Solidity engine converts that simple code into the machine code that the EVM will understand, a machine code that is practically impossible to understand by one. person.
In essence Solidity facilitates the development of smart contracts on Ethereum and, although it is not the only language, it was the first, the most versatile and on which the most smart contracts have been developed.
Solidity, a Turing Complete language
The main characteristic of Solidity is that this programming language is of type Turing Complete. Thanks to Solidity and its relationship with EVM, developers can make programs that are Turing Complete. This because EVM has the ability to execute any code that is defined by a developer within the framework of its capabilities.
This represents a great advantage for the Ethereum network. Thanks to EVM and Solidity developers can program actions that will then be executed by EVM in a decentralized way in the Ethereum network. But this also implies that a protection mechanism must be available to prevent its misuse. This mechanism is known as Gas and it serves to prevent the system from being collapsed by creating infinite loops or other malicious actions. East Gas works like him computational expense that involves processing a transaction or a smart contract on the network.
The concept resembles for example that devised by Adam Back with its system to fight spam email, the HashCash.
Importance and development of Solidity
Ethereum was born as an alternative to the network Bitcoin. Your Creator, Vitalik Buterin at the time, he proposed incorporating a Turing Complete type language into the Bitcoin network. Since it considered that the language with which Bitcoin was developed was insufficient for the evolution of the network. But receiving no response from the developers, Buterin decided to create and develop his own project: Ethereum.
Today, Bitcoin and Ethereum are the most valuable networks, known and used by the cryptocurrency community. Occupying the first and second place respectively. However, Bitcoin and Ethereum have big differences. For example bitcoin, the currency of the Bitcoin network, was created as a means of payment and value safeguard. While Ethereum was developed with the aim of being much more flexible and programmable, allowing it to evolve with new capabilities over time.
This is thanks to EVM and Solidity, the two tools that allow developers to get the most out of Ethereum. Solidity makes it easy to develop applications distributed (DApps) or other functions that make use of smart contracts.
The development of Ethereum started as an idea in the mind of Gavin Wood in 2014. The idea was materialized by Christian reitwiessner together with a work team. The result of this work led to Solidity. Since then, the development of Solidity has maintained its evolution and is currently in the version 0.7.4 of language (November 2020).