Smart Contracts using Blockchain - Pacheco, João (2020)
The contract is the sovereign tool employed to manage agreements between entities in today’s society. It plays a crucial role in a variety of different fields, ranging from politics to finance. This fact implies the efficiency of these applications is determined in part by the efficiency of the contracts they rely on. Despite their important role, contracts have changed relatively little in the last few centuries and remain based on an outdated technology of bureaucracy and procedures done by hand. Such systems are full of unnecessary complications, are incredibly wasteful in terms of time, money and resources, and are susceptible to human failure. In the last few years, a type of contract represented by a computer program has appeared. This concept, known as a smart contract, is based on the emerging blockchain technology. Blockchain is a type of distributed system which assures the immutability of data via the use of mathematically secure cryptographic techniques and that, as will be discussed, is well-suited for the implementation of smart contract systems. Transitioning contracts into the digital era would not only allow them to catch up to the technological pace of society but also would be advantageous from a safety and efficiency standpoint. This body of work will test the feasibility of using blockchain-based smart contracts to facilitate the first steps of this evolution. This thesis assembles a proof of concept platform that supports the specification and execution of smart contracts on a blockchain network. This proof of concept will in particular target the use case of opening a bank account, aiming to create an efficient, permanent, reliable and safe process. To achieve this, we constructed a Hyperledger Fabric network. We present herein the system developed and discuss the nuances pertaining to deploying a codebase on a blockchain, the evaluation of our system, and finally some visions for further development of this and related use cases.