CodeLegit Conducts First Blockchain-based Smart Contract Arbitration Proceeding

No, code is not law. We discussed that before. But, code is used everywhere and somehow it must allude to law. But how, given that no software is bug-free? With our Datarella project CodeLegit, we have been working on a solution bridging the gap between code and law: Today we announce the successful conduct of the worldwide first arbitration proceeding using Smart Contracts on a Blockchain.

For this showcase we used a very simple setting: Two parties agree on doing business that is defined in a Smart Contract. This Smart Contract includes our Arbitration Library. In parallel, both parties conclude a legal contract which includes a arbitration clause referencing the Blockchain Arbitration Rules.

Arbitration Library
Our Smart Contract Arbitration Library allows to pause, resume, modify and end a Smart Contract. Additionally, the Arbitration Library connects the software with human beings acting as Arbitrators. Most of the process is automated, which maximizes the efficiency of a dispute.
Blockchain Arbitration Rules

The Blockchain Arbitration Rules are rules the parties have agreed upon in their legal contract. They shall apply in case of a dispute. Those rules are based on the UNCITRAL Arbitration Rules and have been developed by us in cooperation with IT lawyer and Blockchain expert Dr. Markus Kaulartz. The advantages of the rules are, on one hand, speed, because they are tailored to working together with the Arbitration Library and all communication is done via e-mail or any other form of electronic communication and secured via hashes written in the Bitcoin and the public Ethereum Blockchain. On the other hand, the Blockchain Arbitration Rules shall attract arbitrators who are specialists both in legal and technical questions.

Mock arbitral proceeding
In our example, one party which considers the other party to be in a breach of the legal contract pauses the execution of the Smart Contract by triggering a function pauseAndSendToArbitrator in the Arbitration Library. This function automatically notifies a so-called Appointing Authority defined in the Blockchain Arbitration Rules. The Appointing Authority then proposes an Arbitrator who reviews the statements of claim and defence, decides upon the case and finally delivers his arbiter award to the parties. According to the award, the Appointing Authority either resumes the Smart Contract, modifies its execution or ends it permanently, depending on the resolution. The arbitrator is paid with funds available in the Smart Contract in dispute.

The integration of decisions by human beings – the arbitration, known from the offline world – transforms a false performance based on an erroneous piece of software – the Smart Contract – into a legally correct performance. At the same time, this kind of arbitration preserves all the advantages of Smart Contracts, because a dispute does not have to be brought before a state court, but can be solved by an expert arbitrator by modifying the performance.

With this arbitration solution, CodeLegit demonstrates a feasible way how to reach compliance in case of erroneous software (do not forget: the more complex software is, the more bugs it contains). The next step will be to implement this solution into industrial Blockchain environments in order to establish the CodeLegit Arbitration Library on a broad basis in the technical compliance sphere.

You can only win by including the Arbitration Library and the Arbitration Rules, because both only apply in case of a dispute, and you will be glad having used them, avoiding going to a state court, but having reached a decision in accordance with applicable laws and through a legitimated court. Give our regards to TheDAO…

CodeLegit Blockchain Arbitration White Paper


How Smart Contract arbitration works

Smart Contract arbitration is a must-have for every Smart Contract used in serious business relationships. CodeLegit has found a solution to automate the access to arbitrators.

Smart Contracts are becoming business-ready

Every real-life relationship between two or more parties contains a source for conflicts or midunderstandings. Where a Smart Contract shall be used to map real-life relationships, those Smart Contracts must be ready to cope with such conflicts. The times are over where software developers believed in the community to solve problems by praying for hard forks. Companies which use Smart Contracts for their daily business require a reliable solution in case conflicts arise.

CodeLegit arbitration library helps solving conflicts

But how can our library help solve conflicts? The follwing sketch shows that the library implements a grace period in the code of the Smart Contract. This grace period pauses the execution of the Smart Contract for a given period of time. Should no party object, the Smart Contract finalizes its execution. Should, however, a party raise an objection, the case is forwarded to an arbitrator, together with all the relevant information (we will explain separately how we do that). Afterwards, the arbitrator decides on the case and the Smart Contract continues its execution, guided by the decision of the arbitrator. During the time the arbitrator decides on the case, the execution of the Smart Contract is also paused. The pausing mechanism important to understand, because only the pause prevents the Smart Contract from creating accomplished facts (remember that rescinding Smart Contracts is even more complicated).

How the arbitration library works

CodeLegit arbitration library is completely configurable

Am I as a company limited in my Smart Contract design when using the library? Not at all. The library contains various configuration parameters and can be adapted to the personal needs of the respective relationship. The above sketch only shows one possible path which may be a very common one.

Read in our next blog post how to agree upon a legal arbitration clause when using CodeLegit’s arbitration library.