The emergence of smart contracts meant a technological revolution in 2015, as they were implemented as an essential part of the Ethereum blockchain. Their broad possibility of use and technological perks were part of a wide vision of the future by Vitalik Buterin and his team.
Nowadays, understanding its potential uses implies an advantage and a broader outlook for industry leaders.
However, going inside smart contracts and understanding their importance implies a series of technical definitions, as much as a comprehension of the whole vision behind blockchain technology.
Smart contracts: The means toward a new blockchain
Smart contracts are a particular element of some blockchains, firstly used by Ethereum; however, they aren’t a definitory part of the technology. Even though the term was coined by Nick Szabo in the early ’90s, its true importance showed up as it was related to decentralized information systems (a.k.a., blockchains).
Smart contracts are the particular element that differentiates Ethereum from the previous generation, mainly represented by Bitcoin. First-generation blockchain was strictly thought of as a monetary solution to peer-to-peer transactions, in which centralized entities such as banks were avoided. Ethereum, on the contrary, was part of a broader idea of what could be done with this kind of technology.
To provide the first definition, while both are state machines, Bitcoin’s changes are only applied to the state of transactions. In Ethereum, state changes are applied to programs.
Let’s dive deeper into this topic.
What’s different about the Ethereum blockchain?
Ethereum uses smart contracts as the main gear of a whole vision of the web, which led its community to start using the term web3 for its approach. Nowadays, many blockchains use this technology, but let’s take Ethereum as the basic example.
There are 3 aspects in which this vision is differentiated from Bitcoin’s:
Ethereum has a more open goal than Bitcoin: Its idea is to become a decentralized world computer. What does this mean?
Instead of coming down to a monetary solution -that implies a simpler processing system- Ethereum works as a platform that executes code for a wide variety of purposes.
Ethereum works as a state machine with a single state, that is continually updated through time in different nodes (individual computers). The only -but crucial- aspects that distinguish it from normal computers are that state changes are governed by the rules of consensus and that each state is distributed globally between the nodes.
In order to accomplish this goal, a set of functionalities had to be implemented. And this is where smart contracts come into play. They are basically programs that run inside the Ethereum Virtual Machine, using the Ethereum network protocol. These programs are deterministic, which means that given the same input, the results are the same every time you run them.
This way, the technology itself assures the possibility of consensus: If the major part of the nodes has the same results, it means the new state is validated. Alterations can be easily contrasted by each node.
Development culture (innovation)
The third point -and this is more a particular feature of Ethereum, rather than an implication of smart contracts- is the development culture behind it. However, it is important to take this into account as a cause for using smart contracts, and the vision they’re a part of.
As Ethereum was built, the primary need was to develop a platform in which decentralized systems could take part, no matter their industry or objective. In this sense, the platform had to be open to innovation, prioritizing updates and evolution instead of correctness.
When we compare Bitcoin and Ethereum, the first one has a starkly more conservative approach: Changes are carefully studied in order to prevent disruption. In Ethereum, on the contrary, novelty is an end in itself, being placed above compatibility or preservation of prior assumptions.
This is why the implementation of smart contracts is an essential gear of the system: they allow the execution of any kind of computable program -i.e. they are quasi Turing complete-, with the intentional exception of infinite loops and undesirably long deployments (this is the reason for the existence of gas).
What exactly are smart contracts?
However, just saying that smart contracts are programs isn’t enough. We need to find a strict definition, that allows us to distinguish them from:
- Regular programs
- Other blockchains functionalities
In order to start outlining this definition, let’s begin by saying smart contracts aren’t smart in any technical sense and aren’t contracts in any legal sense either. To be precise, they are immutable computer programs that run deterministically in the context of an Ethereum Virtual Machine.
They are regular computer programs, they have no legal specificities -as the word “contract” may imply. They are executed the same way any other program is.
A difference with other kinds of programs is defined by immutability. This means basically that once deployed, a smart contract’s code cannot be modified. The only way to change it is by deploying a new instance. This way, the whole platform assures transparency as past states remain stored the same way they were deployed.
This is a feature that was mentioned before, and it has great significance for the functioning of the whole platform. That smart contracts are deterministic means they will provide the same results for everyone who executes them given the same context and state of the virtual machine.
This methodology is basic for building consensus, as every node must be able to verify all contracts and receive the same results when doing it.
The context for smart contracts’ execution is minimum: They can only access their own state, the context of the transaction that triggered them, and some information about recent blocks.
Although this feature may be seen as a disadvantage (because they have no information provided by sources that are external to the blockchain, except for oracles), it is needed to provide consistency and make the system safer. Once the system is open to other variable inputs, the guarantees provided by the blockchain become useless. Besides, by isolating the smart contracts, a bug or hack in any of them is prevented from affecting the underlying protocol.
A decentralized world computer
This is maybe the key element of the whole system. But, how does decentralization work?
Basically, the process implies that the virtual machine runs in every node as a local instance; however, as they set off the same initial state and arrive at the same final state, the whole system operates synchronically. Whenever this is not the case, the state update is rejected and run again.
This is the reason why Ethereum was called, as it was launched, a “world computer”.
How does this vision affect blockchain as a technology?
To conclude, we may say smart contracts were part of a transformation of blockchain’s vision. Taking a particular application (monetary control decentralization) and turning it into a platform full of possibilities took a series of developments and creations, which included smart contracts within them.
Once this path was taken, the scope of application notoriously broadened, making blockchain what it is today: a necessary technological leap for many of the most thriving industries around the globe.