Kristian Borkert, attorney at law from Juribo: Smart contracts, chain code or however you name them are quite complex to understand due to their multifaced aspects. As software executed in a decentralized environment descended from the technical cosmos they need to comply with the legal universe. Designing smart contracts to fulfill the intended business needs means to be commuting between those two worlds. And it easy to get lost [in translation]. This blog post envisages to provide some general guidance for programmers and business experts.
What is a smart contract?
According to Wikipedia, smart contracts are “a computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow the performance of credible transactions without third parties. These transactions are trackable and irreversible.”
Smart contracts are computer code. Nick Szabo developed the underlying concept in his article “Formalizing and Securing Relationships on Public Networks” in 1997. They can be programmed and executed on most blockchains and decentralized ledger technologies or on other software platforms.
Usually smart contracts contain status transitions, data, workflows, etc. Smart contracts consist in scripted sequences which link at least one certain result to defined conditions and/or events. The execution of the sequence is guaranteed by the blockchain.
You might sell your used car to Janis using a smart contract on blockchain to eliminate the risk that you get rid of your care without being paid properly. Janis, as buyer, would like to avoid that she hands over the money without knowing that the car is fine. In the classic way you would have to bring the car. Janis brings the money. And after having checked the car the contract would be agreed. Money and keys exchanged.
Example of a car sale
Appling smart contracts on blockchain you achieve the same result, but without knowing each other and without controlling the process as the smart contract acts like a neutral trustee.
You would put a digital lock connected to the blockchain on your garage or the car is even able to look itself electronically. You start the smart contract with the input of the correct price and the digital key of the lock. Janis will be asked to pay the price in Ether. The smart contract will move the Ether from Janis into an escrow account waiting for her to check the car. The smart contract transmits the public key and the location of the car (or the lock of the garage) to Janis asking her to revise the car. If everything is ok Janis signs off with her private key and the smart contract transfers the money to you.
Is code law?
Having in mind the example oft he automated car sale some might argue “Code is law”. Or thinking of the DAO where it turned out that the smart contract had a kind of malfunction (a “recursive call bug”) enabling a user to drain more than 3.6m ether (approx.. 70 m$) into a “child DAO you could consider execution of that function legal.
“Code is law” refers to the idea of Lawrence Lessing that cod determines the possible actions that humans can take at the cyberspace, the early internet of the 1990ths. His mayor concern was that code as the regulator of the cyberspace threatens liberty. For example, at January 31st, 2018 facebook decided to “ban people entirely from advertising bitcoin and other cryptocurrencies”.
A contract are two or more declarations of intention regarding the same content. Regarding the car sale the content is care will be exchanged with the money between seller and buyer. Both must agree. Without agreement there is no contract.
You initiated the smart contract with certain values. Janis agreed through payment by implied acceptance of your offer. If everything what they agreed on would be or has to be placed with the smart contract, they would be quite complex.
If, for example, the car would have been stolen and sold without papers via smart contract to Janis the contract would not be effective according to German law. Crossing the border to Belgium, Italy or Poland it could be different.
Thus, there is a technical level supporting the agreement or its execution. And there is a legal level which depends on the terms of the contract and the national law applying to it e.g. right to appeal, EU-General Data Protection Regulation (GDPR).
Overview of laws with impact on Smart Contracts
Of course, a smart contract could only become effective within the boundaries of the applicable legislation. Using an example, which is a bit more extreme, selling drugs or weapons or military secrets are illegal in most of the countries. It would be absurd if sales contract of these products could become legally binding by using smart contracts.
Smart Contracts vs. Contract Law and Burden of Proof
Considering the above mentioned smart contracts have to comply with
- the legal content of the contract itself, e.g. warranties
- mandatory law, e.g. right of appeal, GDPR
- laws with respect to general terms (AGB-Recht), e.g. surprising terms, customer protection
However, as smart contracts are automated processes like a simple chewing gum machine they need to execute their function. As a result thereof, the burden of proof would be changed effectively.
In most jurisdictions the party enforcing a legal claim carries the burden of proof, which means this party must evidence its underlying conditions. If you want to get payed out of the car sale by Janis you would have to proof every condition of the contract.
With the smart contract the payment is automated. If the program contains a bug or it has been manipulated the money would be transferred automatically and Janis may needs to proof the error in order to get her money back.
Warranties and liabilities of developers
The Blockchain has been call the future of the internet. In 2017 only in Germany 62 Million people were using the internet. Exceedingly few can write smart contracts or to read and understand code. It is most likely that blockchain developers will discover a new market providing smart contracts to the users.
Like any other software development contract or software purchasing contract if the smart contract is a standard software piece developers should be aware of warranties and liabilities.
Janis might sue the software developer for her damages and losses due to the defect.
Resume and outlook
After all, one of the key success factors of every smart contract and blockchain project is to understand that there always is a legal level attached to the technical level.
Neither every developer needs to become a lawyer, nor all lawyers have to become developers. But every project needs a strong team capable to manage this complexity not to get lost in translation between these two worlds.
Attorney at law (German Rechtsanwalt),
Data protection officer,
International procurement manager
+49 179 665 5128
For almost 10 years Kristian Borkert is working in national and international project related to information technology and data protection law.
His expertise areas include IT and business process outsourcing, SLA, software licensing, software project agreements, data protection agreements and other IT sourcing related topics.
He is particularly interested in agile methods such as Scrum or Kanban, collaboration models and blockchain.