Blockchain is almost everywhere these days. There is an undeniable hype around it and only the time will show us in which fields this technology will manage to survive. One of the most cited applications of the Blockchain technology is smart contracts, introduced with the Ethereum blockchain, then copied and used in different blockchain-based platforms.
A smart contract is, in fact, a piece of code running on a Blockchain, which is an (1) append-only (2) digital ledger under which the data is stored (3) not by central actors but by different participants (4) in blocks that are connected with cryptographic algorithms. For a detailed analysis on how the Blockchain technology works, you can check here.
Smart contracts are not ‘contracts’ that are ‘smart’
Why are they called ‘contracts’? What makes them different from other codes? First of all, it must be emphasised that this is a misnomer. Smart contracts are neither smart nor contracts, at least not necessarily. The underlying idea why these are called ‘contracts’ is possibly that they are used to transact by people whereas the reason they are claimed to be ‘smart’ is probably the fact that they are automatically executed when pre-determined conditions are satisfied.
Legal contract can be defined as an agreement between the parties on a promise that is recognized by the law. The recognition by the law is what distinguishes contracts in legal terms from ordinary promises. Indeed this line is not very clear considering that almost all legal systems recognise verbal contracts as well. Depending on the legal system that would be applied, conditions of a valid legal contract change. However, there are some common principles and features that have been adopted in almost all jurisdictions. In this story, we will examine the lifecycle of a traditional legal contract and compare it to the that of a smart contract.
Freedom of contract
Maybe the most fundamental principle of the contract law is the freedom of contract which stipulates that, in principle, everyone is free to enter into a contract. This freedom includes the freedom of choosing the counterparty and determining the subject, the form and other terms of the contract. Of course this freedom is not absolute and there different exceptions to this freedom under each national legal system, i.e. you cannot agree to sell your kidney. However, this is the general principle why contract law covers almost all agreements.
Computers can calculate much faster compared to humans but they cannot think like humans do, at least not for now. Computers are deterministic and provide solutions only for calculations. You can send payments on a smart contract network or trigger a digital lock when a pre-determined amount was paid to your account but you cannot make someone paint a picture for you or drive you somewhere on a smart contract network. All you can do is to create an escrow system with smart contracts that would provide a secure payment system and force the counterparty to fulfill his/her obligation.
As an extension to the freedom of contract, first thing to examine is the consent of the parties when determining whether there is a contract in the legal sense. In traditional contracts, this is mostly expressed in writing and sometimes with words in case of verbal contracts. This is the first step where smart contracts are different than traditional contracts.
First thing to mention here is that there is no physical evidence of agreement you can keep as evidence. This is not a problem per se considering that we are leaving in digital world where we keep our most records digitally. However combined with other two elements, smart contracts become extremely difficult to examine with regard to the consent of the parties.
- Identification of the parties
Firstly, the Blockchain technology allows pseudo-anonymouse transactions. It means that the data stored on the chain is not something related to the real-life identities but just a digital key pairs. But it is not completely anonymous either since it is possible to discover patterns that would link key pairs to digital identities.
In order to be able to determine who is undertaking what under a contract, we need identities of the parties, which is not always available at Blockchain-based transactions. Indeed exchanges providing trading services for crypto-assets are mostly subjected to Know-Your-Customer and Anti-Money Laundering provisions. However, purchasing coins/tokens from an exchange is not the only way to enter into the system. Depending on the structure of a specific coin/token, it might be possible to participate in a consensus mechanism and ‘mine’ coins/tokens at home without revealing a piece of personal information except a public key. The most prominent platform for smart contracts is the Ethereum blockchain and its native token, Ether, is a mining-based one, meaning that it is not possible to completely control entry-points in the world of smart contracts.
2. The quality of the consent
Secondly, even if we manage to identify the parties of a smart contract, it might not be possible to determine whether the parties’ actual intentions are reflected in the smart contract. The reason is that the smart contracts are not written in our daily language but in a programming language.
In a programming language, the programmer must express his/her intentions in a way that computers can understand. In other words, there is a mandatory ‘translation’ process in computer programs and even highly-experienced coders can make mistakes or create codes with bugs while trying to implement what is on their mind to the world of computers. Hence, it is not possible to make sure that the consent given for an execution of the contract is a well-informed one with regard to the consequences of the execution.
Of course, one might assume that executing a smart contract can be considered as an implicit consent to the results of the execution. However, most national consumer protection legislations prevent this assumption under the rules regarding the standardised terms of contracts. standardised terms are drafted for multiple uses and they are mostly imposed to the customers in the form of a ‘take it or leave it’ offer. Smart contracts are similar to these terms in the sense that there are no fixed parties but only a code that could be executed by anyone on the network. In other words, a general consent to trigger a process does not necessarily denote consenting each and every detail of that process.
In traditional contracts, if the parties’ obligations are not simultaneously satisfied, one party is left to the mercy of the other party in terms of performance. Indeed there is an enforcement mechanism provided by national laws using these mechanisms can be expensive and exhaustive even for small-scaled cases.
On the other hand, for smart contracts, performance is intertwined with the formation. In other words, a smart contracts automatically starts execution when someone on the network initiates the transaction. This may be the strongest feature of smart contracts compared to a traditional one as it removes the counter-party risk. However, not every obligation is suitable to automatic performance by a computer.
Interruption and Termination
Smart contracts cannot be interrupted or terminated. This is the result of the so-called ‘immutable’ nature of public blockchains. This is not an absolute immutability but with the use of consensus mechanisms, it becomes extremely difficult to modify what has already been registered on a blockchain.
Immutability might be considered as an improvement for record-keeping. However, the question whether we need contracts that cannot be interrupted or terminated is a completely different one. Contracts are drafted according to the needs and conditions of the time they are signed. These needs and conditions can, and indeed do, change. For traditional legal contracts we have principles, such as ‘rebus sic stantibus’, we apply in order to modify or terminate a contract in light of unexpected/unforeseeable events.
Most of the time, this flexibility is not a weakness but a strength that would allow contracts to survive considering that it is not possible to foresee everything. However, smart contracts do not have this flexibility. This is a significant obstacle for smart contracts to become mainstream as our daily transactions involve various unforeseeable elements and risks, which we do not think of at the transaction phase and realize only when they materialise. Oracles, external information sources providing data for smart contract networks, are used to provide flexibility for smart contracts but like the Blockchain technology and smart contracts themselves, use of oracles are in its infancy.
Contract is an agreement and when one of the parties violate this agreement, they must compensate the damages they caused by their actions. However, in case of smart contracts, it is not easy to identify the person whose acts would have been deemed to cause the damages in case something goes wrong.
First of all, as mentioned before, it is not always possible to identify the parties of a smart contract. It is reasonable to assume that the party that suffered a loss would reveal his/her identity to seek compensation but it is not clear against whom the claims will be brought. The coder of the smart contract the execution of which caused the damages is an option. However, considering that smart contracts are written for multiple uses, the role of that coder in such a scenario might not be more than the inventor of a knife that is used to murder someone. Another option is the platform provider. However, the same logic applies here as well. What can someone suffered a loss from execution of a smart contract do? We do not have a clear answer yet.
Secondly, even if you identify a person to bring a claim against, it might not be practically possible to do so due to the distributed nature of smart contracts. You might have transacted with someone from the other end of the world without knowing. Blockchain applications and smart contracts are not regulated on international level but they operate internationally by nature as they are distributed. How to solve this problem? We do not have answer to that either.
Smart contracts are in their infancy and it is not unreasonable to expect significant level of development along with innovation over time. However, at this stage, our daily transaction habits and our current legislations are not suitable for smart contracts. Indeed there will be applications that would attract huge crowds. However, one must be cautious before going all-in for such applications as the legal regime and potential compensation methods for smart contracts are not clear yet.