The term ‘smart contract’ is of technical origin and can be summarised as a digital transaction protocol that checks if-then statements according to a ‘true or false’ system and executes transactions securely and automatically. In other words, if a certain condition occurs, the contract is executed automatically (fulfilment of condition and consequence). As a result, the smart contract ensures that the contract on which it is based is executed. The decisive feature of a smart contract is its programmed code, which is fundamentally unchangeable, transparent and secure. The smart contract can and will execute the instructions that have actually been programmed in its code in terms of if-then statements, regardless whether each execution is justified.
Anything that is not provided for in the code cannot be taken into account in the execution. This is referred to as the ‘code is law’ dogma, according to which the code should be the sole regulatory basis for the execution of a contract virtualised in a smart contract. The fact that a smart contract can execute itself resembles electronic self-help, which Austrian law does not provide for in principle.
The dilemma associated with this dogma can be demonstrated using the example of a contract for a hire car that is equipped with an automatic shut-off device. This device prevents the engine from starting if payment of the hire fee is not received. If the person hiring the car were to offset their payment against a claim vis-à-vis the car’s owner, meaning that there is no flow of money at all, the smart contract would not be able to take this into account, unless this had been programmed as an if-then statement. The renter would nevertheless be excluded from using the hire car after a ‘true or false’ check (‘Has the payment been received or not?’) performed by the smart contract indicated that the payment had not been received as agreed. This kind of exclusion would lead to a significant, unjustified disadvantage on the part of the renter and would not be in line with applicable law. Circumvention of the law is also not permissible through the use of smart contracts. It is therefore clear that this dogma cannot be reconciled with the Austrian legal system.
Therefore, as the above example shows, the programming of the code would have to provide for an incredibly wide range of conditions (in the sense of possibilities for the fulfilment of the contract) in order to be able to take the legal situation in question into account during its execution. Any errors or gaps in the code of the smart contract (‘bugs’) could cause unintentional transfers of assets or lead to other unintended consequences. The hype surrounding smart contracts due to their special characteristics is completely understandable. However, it is recommended to keep the conventional contracts underlying the smart contracts simple. Terms or regulations that are not amenable to a ‘true or false’ test should be avoided. For example, a smart contract will not be able to execute the payment of ‘reasonable’ remuneration, as the amount of the remuneration has not been specified and needs to be weighed up, which cannot be achieved by a ‘true or false’ test.
The if-then statements of the smart contract must therefore be clearly stated in the contract. Unlawful programming can lead to the contract being invalid and thus to the transaction carried out by the smart contract being reversed. A precise examination of the contract in question to ensure it is compatible with implementation in the blockchain via a smart contract is therefore essential.