The possible future of safe agreements: smart contracts as one application of blockchain

The possible future of safe agreements: smart contracts as one application of blockchain

ReveszB_sima

Révész Viktor Barnabás

The aftermath of the 2008 financial depression had many consequences, one of which was the distrust regarding the banking system and its respected parties, thus many people sought a way out of this heavily centralized network. To this problem a group of people, under the name of Satoshi Nakamoto, realized the first blockchain system: Bitcoin. The basis of this methodology is that instead of one central authority, a network of computers( so called miners) are validating every transaction within the system, therefore no one has a definite power over the others in the network: this means that the system is decentralized and democratic. The success of Bitcoin introduced the idea of blockchain to the world, however many people still associate the technology with cryptocurrencies, and cryptocurrencies only, while many other applications are possible and already available using blockchain as their foundations. One of which are smart contracts.

In 1997, Nick Szabo introduced the idea of smart contract as a safe instrument of agreement. He explained his idea in a simplified form using vending machines as a metaphor. As he stated: “…the machine takes in coins, and via a simple mechanism, (…), dispense change and product according to the displayed price. The vending machine is a contract with bearer: anybody with coins can participate in an exchange with the vendor.” To put it in an actualized context, smart contracts are digital applications that store, verify and execute rules without a trusted authority. The first platform, who realised smart contracts in practice and provided a platform for the technology to grow was Ethereum, and ever since this is the biggest platform for individuals to use blockchain system in such ways.

It is easy to understand why the construct of blockchain and smart contracts are a perfect match, but other then enforcing contractual deals, how can we further exploit the possibilities of this methodology? In 2017, Massimo Bartoletti and Livio Pompianu tried to answer the same question and came up with several solutions in their article, An empirical analysis of smart contracts: platforms, applications, and design patterns. They approached the problem from two perspective: by purpose and by design.

By purpose, Bartoletti and Pompianu distinguished the following applications:

  • Financial: their main goal is to allocate financial resources as the implicated rules suggests. It can be the realms of asset trading, crowdfunding services, investment programs, insurances and advertisements.
  • Notary: the aim of such smart contracts is to store some sort of data on the blockchain, whether is it a certification of ownership, IP or ID, or just a public message in the blockchain for everyone to see.
  • Game: the most self-explanatory category of purpose, which is used to store rules of games.
  • Wallet: these contracts automize transactions, manage keys and accounts, or overseer the operations connected to contracts. Wallet type of smart contracts can be managed by several individuals; thus, the authorization is decentralized.
  • Library: this category includes general-purpose operations to be used by other category contracts.

By design, the authors differentiated these categories:

  • Token: in these smart contracts the system distributes tokens representing either assets (money, shares, tickets, etc.) or certifications (identity, ownership, voting right, etc.).
  • Authorization: connects the execution of the contract to address or any other ID certification.
  • Oracle: a contract that ensures connection between the blockchain and the rest of the global network. It is usually queried, and it returns the information required for the smart contract.
  • Randomness: a special use of an oracle, when it is asked to generate a random number. It is a dedicated function, since the blockchain is a deterministic system, thus it cannot generate a random number internally.
  • Poll: a support feature of a more complex system, which provides a voting scenario for authorized users.
  • Time constraint: a simple design feature, to add a timetable for the executions or authorizations permitted into the contracts.
  • Termination: because of the forever-continuous nature of blockchain systems, contracts cannot be deleted from the network, but they can be disabled with such design methods.
  • Math: a code which guards some crucial operations to be executed without any premise to be met.
  • Fork check: a problem solver of some sort. When a difference happens on a blockchain system it is called a These contracts are analysing the chain and searching for these disturbances.

As the article mentions it, Bartoletti and Pompianu came to this conclusion after analysing 834 contracts on only Bitcoin and Ethereum, suggesting there can be further applications of smart contracts. However, even from this sample we can infer that smart contracts are versatile instruments to solve issues involving data and decentralized authorization, while containing the safety solutions of blockchain systems.

Sources:
Bartoletti, M. and Pompianu, L. (2017). An empirical analysis of smart contracts: platforms, applications, and design patterns. International conference on financial cryptography and data security (pp. 494-509). Springer, Cham.
TED Talks (2016). The Blockchain Explained Simply. Video source: https://www.youtube.com/watch?v=KP_hGPQVLpA&list=WL&index=12 Date of download: 28.10.20.
Mack, O. (2018). How Smart Contracts Will Change the World. Video source: https://www.youtube.com/watch?v=pA6CGuXEKtQ&list=WL&index=15 Date of download: 28.10.20.
TechCrunch (2017). Decentralizing Everything with Ethereum’s Vitalik Buterin. Video source: https://www.youtube.com/watch?v=WSN5BaCzsbo&list=WL&index=11 Date of download: 28.10.20.
Szabo, N. (1997). The Idea of Smart Contracts. Satoshi Nakamoto Institute.