Immutability in a smart contract: a blessing or a curse?

Gauci-Maistre Xynou (Legal | Assurance) | View firm profile

Smart
contracts are contracts which are written in computer code on a blockchain
according to the terms set out by the parties to such contract and which are
self-executing in the manner pre-determined by said code.  

Nick Szabo, known for being the
creator of smart contracts, famously described them as “A set of promises, specified in digital form, including protocols
within which the parties perform on these promises”[1]
. He also used the “vending machine” analogy,
hailing it as being the “primitive ancestor of smart contracts”, to further
explain the way they work by noting that the machine takes in coins, and via a
simple mechanism, dispenses both change and product fairly.

The most salient characteristics
of smart contracts include:

       

  • Autonomy:
    This implies that once the deal has been set and the smart contract has been
    set into motion, it will take place with no participation by the parties.  This guarantees that the promised obligations
    would be executed as planned, e.g. in the case of a sale, provided that the
    contract is coded correctly, there cannot be any doubt that the funds would be
    transferred without a transfer of title or vice versa.
  • Accuracy:
    Since the smart contract operates in a pre-set manner and without the need for
    human intervention, there is no room for human error. Said possibility for error is also reduced
    since the smart contract replaces heaps of paperwork that are normally required
    to execute a transaction.  Once again, this
    benefit only exists provided that the code is written correctly.

    Immutability:
    Once a smart contract is deployed, the code cannot be changed by a party
    unilaterally.

    The immutability feature is
    hailed by many being as a blessing since the performance of the contract is
    guaranteed to take place in exactly the same manner in which it is coded; the
    contract does not allow for any modifications and/or reversal. Furthermore, unless programmed to do
    otherwise, it will remain on the blockchain forever and cannot be misplaced or
    lost.  The history of the transactions
    forming part of the contract is also recorded on the blockchain forever and
    thus this too makes for greater transparency and safekeeping.

    However, the dark side of the
    immutability concept in smart contracts lies mainly in the fact that in the
    event of any errors made in the code, the immutability feature of a smart
    contract prevents it from being rectified. 
    Should a weakness or error in said contract be detected following
    deployment of the contract, the latter would simply have to continue to run its
    course with potentially devastating consequences.  Similarly, in the event that circumstances
    change, also requiring an amendment to this contract, this also cannot be done.

    Apart from these being negative
    factors in themselves, they lead to further negatives in that they give rise to
    the need for extensive and possibly expensive reviews of the smart contract
    prior to its deployment since they would be impossible to alter should the need
    arise.

    [1] Nick
    Szabo: “Smart Contracts: Building Blocks
    for Digital Markets”, (1996)

    More from Gauci-Maistre Xynou (Legal | Assurance)