SMART CONTRACTS
A[1] “smart contract” is a computer code which automatically self-executes terms of an agreement. The code can either be a sole manifestation of the agreement between the parties or it could be used to compliment a traditional text-based contract through executing certain provisions, for example facilitating the transfer of funds from one party to another. Smart contracts operate under certain conditions as agreed upon by the users and, once such conditions are met, the terms of the agreement are automatically carried out.
This particular series of technological developments that have occurred over the past decade enables mechanisms such as decentralisation and distributed consensus to eliminate the involvement of intermediaries between contracting parties, and to allow such parties to directly contract into the lines of code. The agreements contained within the code are cached on a blockchain-based network.
A blockchain network is a decentralised digital ledger which can be made accessible to the public[2] . Blockchain technology was initially created to be the record-keeping technology behind Bitcoin, however, it has evolved far beyond this cryptocurrency. For all its complexity, its aptitude of decentralised record-keeping is without limits.
The distributed ledger serves as a record of every transaction from the beginning of the Genesis Block up to the latest block, which updates automatically whenever a new block is added. In essence, this is quite similar to Facebook in that the News Feed automatically gives a live update upon a new post. Although, every copy of the network is identical, the spread of information across a vast network of computers makes the information impossible to manipulate. The reason for this is that the blockchain does not have [3] a definite account of events and as such a person with a malicious intent would have to alter every copy of the blockchain network[4] .
The blockchain network allows for greater user privacy and amplified security at a lower processing fee. It improves accuracy by eliminating human conduct and allows for transactions to be transparent. Ethereum was specifically designed to facilitate, verify or negotiate a contract agreement. The code controls the execution of contracts and transactions which enables contracts to be traceable, transparent and irreversible.
Before a smart contract can be concluded an additional step for the payment of the transaction fee is required. In accordance with the Ethereum blockchain, smart contracts are executed on the Ethereum Virtual Machine (EVM) and such payment is made using a cryptocurrency known as “gas.” The intricacy of the smart contract will determine the amount of “gas” required to implement the respective contract. The “gas” regulates the complexity of the smart contract transactions to ensure that the EVM is not overburdened.
INTERPRETATION OF SMART CONTRACTS
As the use of the blockchain expands and more assets are adopted on to the chain, smart contracts will gradually become more complex and will be able to administer more advanced transactions. The global implementation of smart contracts will be used across various jurisdictions and in order to create a sense of certainty, provision should be made within smart contracts which specify the governing law to be applied and the venue of the smart contract. The governing law will determine the applicable substantive law and the venue clause will identify the jurisdiction of the respective courts that will adjudicate in the event of a dispute.
Although it is such an attractive alternative to conventional text-based contracts it is not exempted from challenges. The smart contract’s greatest attribute to automatically execute transactions which are tamper proof could be its greatest down fall. As of yet, smart contracts do not allow for the flexibility to easily amend and terminate contractual terms and, as such, should parties wish to amend the contract it could lead to larger transactional costs when compared to traditional text-based contracts. The concept of interpretation of smart contracts are complex and could yield it difficult to comprehend or to determine its validity.
THE ENFORCEABILITY OF SMART CONTRACTS
A probing question is whether smart contracts are enforceable? Smart contracts are subject to the same rules and principles as traditional text-based contracts. If smart contracts adhere to the common law principles which form the foundation of contract law they are to be considered enforceable.
Currently, the Electronic Communications and Transactions Act no. 25 of 2002 (“ECTA”) makes provision for contracts to be concluded electronically, however, the execution thereof without human conduct has not been explored. Electronic agents are regarded in the narrow sense and do not account for the intricacy of smart contracts. Specific provisions should be made within the ECTA to adopt the wider sense of a more independent form of contracting. Certain contracts such as tenancy contracts may experience limitations during the negotiation process; however, provision can be made for the review and amendment of certain terms before the contract is finalised. A landlord will create a smart contract containing the essential terms such as the property details, location and rental amount. The tenant will be notified and will have the option to review the said terms in a similar manner as reviewing the terms in a traditional contract before signing the agreement with a digital signature.
The ability of smart contracts to revolutionise commercial relationships will be dependent on the extent to which the common law principles are able to adapt to new technological paradigms.
This comment isn’t necessary something relevant to the article but just a useful bit of information that can hopefully help when reading blockchain related sources.
In the original Bitcoin whitepaper Satoshi used a couple of analogies that have stuck around as industry jargon. I’ll list them below:
1. Blockchain = Ledger
2. Block = Page in the ledger
3. Miner = Auditor
I’ll attempt to demystify them a bit.
Essentially Satoshi’s invention was simply to
Take an accounting ledger and distribute the job of continuously updating and auditing the ledger among a network of auditors.
Write a program that could execute the auditing rules automatically such that anybody could run the software on their computer and audit the ledger.
3. Allow all auditors to receive proposed updates to the ledger, validate them, and then propose an update to the ledger, via a set of rules that choose a proposed update at random from the network.
4. Use a novel method (proposed in another paper) for prevention of email spam (Proof of Work), to prevent malicious actors from spamming the network with malicious proposed updates to the ledger, by making it costly to do so. (Explained in comment on next page).
The reference to each “page” in the ledger as a “block”, and the ledger as a whole as a “chain” of these blocks, was simply a device to help Satoshi explain the spam prevention mechanism described in 4. The fact that a blockchain by itself is simply a ledger, and doesn’t necessarily solve any problem that accounting ledgers have already been solving for centuries, helps make it easy to spot instances where the use of a “blockchain” is being “overhyped” (if hiring an accountant won’t solve it, then neither will a blockchain).
The use of “miner” as a term for the auditors, or rather for those running the software doing the auditing for them, was simply as a result of a) the payments to the auditors being denominated in Bitcoin, and b) the monetary policy for Bitcoin resembling gold not fiat currency. In trying to highlight the attempt at emulating gold Satoshi referred to getting paid in the currency as mining. (Bitcoin was launched in the aftermath of the 2008 financial crisis and Satoshi wanted to create a gold like asset).
Private blockchains exist as well. It is just a ledger and it can be distributed in an open access manner or among a small private group, while still being “distributed”.
I am not sure what this is referring to? At a high level there are a couple of main points that combine to create the “security” of a blockchain:
1. There is some distribution of the ledger among a network of auditors, the larger the group, the more actors there are in the network that would need to be “fooled”.
2. A mechanism by which the “spamming” of the network is prevented. Spam is the central problem with a distributed electronic network of anonymous auditors “voting” on amendments to a ledger. If you can commit “voter fraud” and spam the network with many votes for your malicious amendment to the ledger then the network is no longer secure. (The two primary spam prevention methods are discussed in my next comment.)
If relevant, one could add that there are two ways the actual updating/alteration of the ledger is commonly secured:
1. Via Proof of Work, where one is required to use some “computing power”, aka spend money on electricity running a computer for a while, to propose updates to the network. This method makes it costly to attempt to propose updates which might not be approved by the auditors (colloquially known as miners) of the network.
2. Via Proof of Stake, where one is required to put up some collateral value when proposing an update, which will be lost should the auditors decide your proposed change was malicious.
The Proof of Work system is more widely used (it is the system in Bitcoin), however there are concerns around its electricity usage, though these concerns have yet to fully materialise.
For Proof of Stake the main concerns are related to external malicious actors that do not care if they lose their “stake” as they have some external way to hedge their loss (e.g. via shorting the currency of the network), and that it is as of 2020 a mostly theoretical and unproven system.