top of page

SMART CONTRACTS

A Definition

Currently, there exist various definitions of smart contracts with differing terms that have complicated issues in the legal sector. With a different understanding of smart contracts themselves, diverse interpretations can lead to confusion and conflict across jurisdictions. In the United States, some define smart contracts as automated contracts that are self-executing, with specific instructions in its software code to execute actions once certain conditions are met [3]. However, others describe smart contracts as sets of promises written in digital form which include protocols within which the parties perform the agreed-upon promises [4]

Although the wording may change, most definitions agree upon three characteristics: 

  1. Deterministic: This means that smart contracts’ operations would produce the same predefined results no matter the environmental factors such as a different computer being used, or being activated at a different point in time [5, 6]

  2. Terminable: The program must stop executing itself within a given time limit. In other words, there needs to be some measures to ensure that there is a way of “killing” the contract so that it doesn’t end up in an infinite loop which will drain time, energy and contact between parties that could be used for another smart contract.

  3. Isolated: On a blockchain, anyone can upload a smart contract. Since they could knowingly and unknowingly contain viruses and bugs, each smart contract needs to be isolated to protect the entire system [7]. These characteristics ensure that smart contracts are manageable and self-executing.

What is the relationship between smart contracts and blockchain?

The use of smart contracts is growing with the use of blockchain technology. Smart contracts terms are coded onto a block of a blockchain which allows the contract to be distributed/copied to multiple, independent computers (called nodes) in the blockchain network, ensuring the integrity of the smart contract. From there, the contract is executed in accordance with the contract terms, once triggered, and the programs continuously check the implementation of the commitments automatically [8].

Does privacy exist for smart contracts on blockchain networks?

A key point regarding smart contracts and privacy is that smart contracts transactions are not confidential. This means that everybody on the same blockchain network can access and see all of the information sent and stored on the smart contracts. In order to get privacy on the blockchain, the participant must choose to remain anonymous, use encryption to remain private, or use state channels. State channels are transactions between two or more participants that are executed and recorded off-chain, and a reference to the transactions is recorded on the blockchain once the sets of transactions are successfully completed. In order to keep information confidential on the blockchain, the participant must ensure that they control who has access to the blockchain network by enabling authorization mechanisms to grant permissions to users in order to access the smart contracts [9].

Public vs. private blockchains

Public and private blockchain networks hold certain similarities between each other, including the fact that they have a decentralized peer-to-peer network which is continuously synced at all times, and that the blockchain on either network is immutable. However, the biggest difference between the two is regarding who is allowed to participate in the network, execute consensus contract protocol, and who maintains the shared ledger.

In a public blockchain network, the blockchain is open to anyone who wants to join and participate. This means that there is little privacy. As well, there needs to be a substantial amount of computational power to maintain a distributed ledger on such a large scale. This complicates the proof of work process, which is where the blockchain network ensures security and consensus throughout the network [10].

In a private blockchain network, one must receive an invitation and be validated before accessing the network, usually either by the network starter or by an embedded set of rules. Businesses that use blockchain networks usually use what we call a permissioned network. These networks restrict who is granted access to the network, rather than granting access to any member of the public. Permissioned networks may also limit access to certain transactions to a subgroup of network members, rather than all network members. Reducing the number of network members, or nodes, has benefits of privacy and increased transaction speeds [11].

Smart Contracts: Body

©2020 by INTEG 452A/B: Real-World Problem Solving, a capstone project in the Dept. of Knowledge Integration at the University of Waterloo

bottom of page