Page 13 - EngineerIT June 2022
P. 13

LEGAL OPINION



       How “smart” is a smart contract really?





                               By Tebogo Motloutsi CA, and Danie Pienaar, partner, Spoor & Fisher



             lthough smart contracts have
             become a hot topic due to the
        Ablockchain revolution, the term
        “smart contract” was first actually used
        back in the 1990’s by American computer
        scientist Nick Szabo. The main purpose of
        a smart contract is to enable two or more
        parties to transact with each other based
        on trust and without the need for an
        intermediary. In essence, a smart contract
        is a computer program that is cast onto
        a blockchain network and that executes
        certain instructions when certain pre-set
        conditions are fulfilled.  The computer   Tebogo Motloutsi                Danie Pienaar
        program therefore includes a number
        of “if/then” statements whereby if, for   parties.  The code should therefore reflect the actual terms agreed upon by the parties
        example, a certain condition A is met, a   and cater for all scenarios which can reasonably be expected. The reason for this is that
        certain step B is executed automatically.   once a smart contract has been implemented on a blockchain network, it is no longer
        Since this process is automated on the   possible to amend it. It is therefore important to make sure that the terms which the
        blockchain network, no intermediary is   parties have agreed on (e.g. orally or via email) are correctly reflected in the computer
        therefore required.                  code. Furthermore, if the computer code does not cater for a specific situation, and
           By way of background, there are   that situation arises, then the smart contract can essentially ‘crash’, thereby making it
        mainly two types of smart contracts   inoperable. For example, a smart contract may be programmed to collect money at the
        which parties may enter into, namely   end of the month from a wallet of a party. However on the collection day, the user does
        code-only smart contracts and ancillary   not have any available funds in the wallet. If the smart contract is not programmed in a
        smart contracts. Code-only smart     way to circumvent this scenario, then it may end up ‘crashing’.
        contracts refer to contracts where     It is therefore essential that the person who is programming the smart contract be
        there is no underlying signed, written   presented with an exhaustive list of all the “if/then” functions which cater for all possible
        agreement between the parties and    scenarios. Once programmed, it is also important that the program code be validated in
        where all the conditions are solely set   order to ensure that the code actually implements all the functions in the correct manner.
        out in the actual smart contract. Ancillary   For the validation, an independent third party can be briefed in order to conduct the
        smart contracts, on the other hand,   investigation.
        are dependent on a signed, written     In some instances, smart contracts may need information from “off-chain” resources
        agreement which has been entered     (i.e. outside the blockchain) in order to perform certain functions. However, smart
        into between the parties. An ancillary   contracts are not able to “pull” information into the blockchain. The information
        smart contract is therefore effectively an   therefore needs to be introduced into the blockchain by another party, which is also
        ancillary to the main written agreement   referred to as an “oracle”. An oracle, in the context of smart contracts, is an independent
        and would be used to implement certain/  third party that would feed information into the blockchain network, so that the smart
        all parts of the agreement (e.g. to   contract can execute the relevant instructions. The reliance on an oracle therefore does
        perform certain payment actions which   increase the level of risk, since failure by the oracle to introduce the correct information
        are set out in the written agreement).  in a timely manner could lead to various unwanted consequences. However, in many
           At first glance, smart contracts   instances it is unavoidable due to the nature of the contract.
        seem to be a very effective solution   From the above, it should be apparent that smart contracts can by a very effective
        which can be applied in a variety of   tool, but it is at present still a purely rule-based system and therefore does not include
        different applications. However, it   any artificial intelligence (AI) which allows the smart contract to learn over time and make
        should be borne in mind that a smart   certain judgement calls.  However, with the rapid developments in AI, blockchain and
        contract is only as “smart” as the   smart contracts, the implementation of AI within smart contracts might not be too far
        actual computer code which embodies   away. If successfully implemented, AI could address many of the difficulties which current
        the underlying agreement between     rule-based smart contracts are faced with.                         n



                                                   EngineerIT | June 2022 | 11
   8   9   10   11   12   13   14   15   16   17   18