The smart contracts
The smart contracts
In our previous article, we were interested in the security of a decentralized system. Today, we are going to look at one of the first concrete use cases of the blockchain with smart contracts.
To understand what we are talking about, let’s take a step back from Bitcoin and have a look at Ethereum. Vitalik Buterin, born in 1994, a Canadian with Russian origins, aims to create a new cryptocurrency with its own blockchain. He publish his project in 2013, in a white paper and the Ethereum project is created in 2015. His main goal with the crypto coin associated with his blockchain, the Ether, was to create the most complete, malleable and easiest-to-program blockchain.
To achieve that, he developed a tool: the smart contract, which can be summarized as a computer application executing automated operations when conditions are fulfilled. Those conditions are written in the blockchain, and as the system is decentralized, they don’t need a centralized computer engine to be executed, they can be started by themselves. Like Bitcoin transactions, they are clear, everyone can read the code inside and audit them. Therefore, the smart contract brings a new form of contractual trust between partners who do not know each other. As everyone can read the contract terms, it’s better to respect them.
It’s possible to write in code that an account will transfer a certain amount of cryptocurrency under the condition of a specific event. For example, imagine that it is contractually written in a smart contract that a refund in Ether is provided in the event that a plane is late. If the said plane is actually late, the contract will be triggered automatically and the passengers will be refunded, without the possibility of altering the contract by the co-contractors along the way and without delay in its execution. The blockchain intends to be a transparent and automated trusted third party, unlike the usual trusted third parties (such as banks or insurance companies).
If we now look at the case where we would take multiple smart contracts and would aggregate them together, we would notice the construction of a set of applications similar to a decentralised and autonomous organization. This system is called Decentralized Autonomous Organisation, or DAO.
We can cite for example Uniswap, a cryptocurrency exchange which uses a decentralized network protocol. Uniswap is estimated to be the largest decentralized exchange and the fourth-largest cryptocurrency exchange overall by daily trading volume. It runs on open-source software and leverages smart contracts for its transactions.
The whole system is based on the idea of an American jurist Lawrence Lessig, who affirms the following thing in the 2000s: « Code is law » (we are talking about computer code here). This idea stipulates that the rules defined at the beginning can not be changed in any case and that the parties to the contract must complete precise operations according to auditable instructions and guarantee unbiased execution, regardless of all external factors. This last sentence is essential to realize a small theoretical issue: the idea behind the smart contract is for sure the idea to guarantee the execution of the contract, in a manner of protection of the weak part who would be otherwise “scammed” constantly by the stronger part, like a government, a bank or big companies for example. This caricature comes from the very anarchical point of view of the first internet users and the current users of cryptocurrencies, the idea that it’s impossible to trust the pyramid and that only the horizontality of a system allows the true justice of the latter.
What a smart contract doesn’t take into account are “excuses”. If we go back to the example with the plane arriving late, the latter is effectively late because of an unexpected storm, the contract doesn’t care and a refund is due. If it’s hard to see the issue here, we can push our example to the end to understand it: if no excuses are ever allowed, a refund is always and in any case due, as the referent for the airline company, I could be tempted to order the plane to take off despite everything, in order to not have to refund the tickets, despite the risk of crashing. The idea behind this trivial example is that the person that doesn’t execute the contract is always “guilty”, or wrong we could say, even with the best excuses. Push to a certain extreme, the smart contract doesn’t allow any arrangement, of any sort, and if it’s, therefore, a very interesting tool, especially for the protection of consumers, it is also necessary to be careful, because once again, to please the most libertarian among us, sometimes an authority prevents us to cross certain lines.
For our next article, we will take a look at some blockchain applications, with the concept of “property”.