
6 minute read
Smart Contracts
from Modern Ruins
What are Smart Contracts?
Created by the authors as part of the unit’s group work. These are the questions, and answers, that arose during the research of smart contracts.
Advertisement
Smart contracts is a type of software [not linked to a company name] for creating contracts in code rather than in words.
The software is still relatively new and not used by many people yet. Its main purpose is to regulate the exchange of resources between participants.
Despite its name it is not a form of artificial intelligence, meaning it cannot make its own decisions or do anything that the smart contract has not been told to do.
codecode softwaresoftware software
Fig. 20: Noun Project [Edited by author(s)]
In what way are Blockchains and Smart Contracts related?
Blockchains are used as a platform for smart contracts to be created on.
The smart contracts are stored inside an information block, i.e. it becomes part of the chain. Therefore, they share the same features such as being immutable and distributed.


Fig. 21: Noun Project [Edited by author(s)]
When did Smart Contracts come about?
American computer scientist, Nick Szabo, proposed the idea of smart contracts in 1994. However, it took 22 years to become something that is recognised.
2016 was the first year it started to get real interest, mainly due to the birth of the digital currency Bitcoin and the development of blockchain itself. Nick Szabo [invented bit gold in 1998] proposed the idea of ‘Smart Contracts’

1994
22 years Started to be of global interest

2016
Fig. 22: Noun Project [Edited by author(s)]
What is the purpose of Smart Contracts?
The purpose of smart contracts is to define rules and penalties around an agreement [same as traditional contacts] but in a way that simplifies business and trade between anonymous and identified parties. It does so without compromising authenticity and credibility.

Define rules and penalties
Simplify business

Fig. 23: Noun Project [Edited by author(s)]
What are the benefits of using Smart Contracts?
The benefits of using smart contracts are that they allow for quicker transactions compared to a traditional contract.
The middle man is removed meaning there is no worry of human influence or error.
Lastly, they are cheaper than traditional contracts as fewer people are required to complete one job.




Fig. 24: Noun Project [Edited by author(s)]
Can you give an example of a smart contract?
Person A has agreed to pay Person B £100 if they get an A for their architectural thesis this year.
In a traditional contract, or handshake agreement, there would be no real guarantee and consequences would require legal work. Compared to smart contracts which are automatically executed.
The most common type of smart contracts are “if ___, then ___”.
So if Person B gets an A, then Person B receives £100 from Person A”
Traditional Contract
Smart contract
Scenario 1/2
Person A and B create a smart contract.
Person A secures £100 into the contract [which is on the blockchain].
They can no longer access or change this fact.
Person B gets an A and immediately the money is transferred into their account as agreed.
Scenario 2/2
Person B gets a B grade or lower.
The money is automatically released back into person A’s account and the contract is complete.
How do the Smart Contract know if Person B got an A or not?
The smart contract knows that Person B got an A because of Oracles, which is just a name for external services that do two things:
Feed real-life information to the smart contract.
Validate the information. The most common way to do this is to reconcile multiple different, public sources. If they are not unanimous, the data that most sources agree on is used.
Whilst most smart contracts use software for validating information, hardware can also be used. However, it is less common as it is more hacker-friendly. Feed real life information
Validates
Oracles


Hardware or Software
Fig. 28: Noun Project [Edited by author(s)]
Oracles is a decentralised system and it is important that it continues to be so.
If not, there is a similar situation as to traditional contracts where information is controlled by centralised ‘middle men’.
There is however not a solution as of yet to prevent the system from becoming centralised. It is a concern and potential issue which may arise in the future.



Fig. 29: Noun Project [Edited by author(s)]
Are there other potential issues with using smart contracts?
It is hard to alter/change after it is set up and if it is changed then the contract becomes void. A whole new contract and agreement would have to be set up [this is the same as with traditional contracts].
Safety is a potential issue as the information is stored on a public database so many are protected with a ‘key’. There is still [however small] risk of hackers succeeding or bugs in the coding.



Fig. 30: Noun Project [Edited by author(s)]
Can you give a more architecture related example?
Smart contracts can be used in a much more creative ways than simply replacing traditional contracts. A more architectural related example could be as follow:
The landlord wants to sell his house.
The owner puts their deed into the smart contract. The house is no longer owned by the landlord (or a bank).
The correct criteria set out by the landlord on the smart contract determines who is accepted or denied.
Once a potential buyer meets all the criteria, they can accept the smart contract and they instantly own the house. Likewise, the seller instantly receives payment.
Compared to a conventional route which includes several following steps of having to go through a bank, advertising on websites and boards, securing funds, using escrow, getting insurance and finally bidding and closing, the smart contract essentially does it all in one.
Conventional route
Where do you create a smart contract?
Anyone can create a smart contract as long as they have the knowledge and means to do so.
Solidity is an object orientated programming [OOP] language for writing smart contracts.
Solidity is specific to the Ethereum blockchain and was created by Christian Reitwiessner, Alex Beregszaszi and several other former Ethereum core contributors.
Is Ethereum the only platform?
Ethereum is not the only platform however, other options are quite limited compared to Ethereum.
Most platforms are used for cryptocurrencies, but more and more fields are starting to make use of blockchain and smart contracts to help resolve global issues such as urban farming, organ donations and refugee management.
Solidity

Ethereum
Still don’t know what a Smart Contract is?
Smart contracts do three things:
Store agreements they are immutable and cannot be changed
Validate agreements by distribution and using Oracles
Self execute agreements the potential influence of human interference or bias is removed



Fig. 33: Noun Project [Edited by author(s)]