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.

Arbitration Library In Smart Contracts Is A Must-Have

Smart Contracts are used to provide certain services which have been agreed upon between two or more contract parties. Arbitration libraries used within those Smart Contracts enable the parties to react on unexpected and unpredictable events.

Bugs in Smart Contracts lead to loss of money

Many businesses recently discovered the advantages of Smart Contracts running on blockchains. From insurances (e.g. B3i) to supply chains (e.g. Project Manifest) to third world development projects (e.g. Building Blocks of UN WFP), all of those shareholders face the risk that the code of Smart Contracts contains bug. Bugs in Smart Contract code lead to false performances which means that at least one party is in breach of the legal contract agreed upon. The short history of Smart Contracts already taught us that bugs in Smart Contracts code can lead to severe damages (e.g.  TheDAO). This means that unlike in other software, bugs in Smart Contracts regularly lead to a direct loss of money!

No code is bug-free

It is an unwritten law of developers that software is never bug-free. Even where the code is that simple and obviously does not contain a bug, bugs may still occur in the compiler algorithm or in interfaces with other software. Whereas people estimate that the 10 million lines of code of Windows 95 contain up to 200,000 bugs (you certainly know), and a single bug in the Smart Contract context suffices to lose money, one may raise the question how a Smart Contract developer can still sleep well (we will teach how to sleep better in a separate blog post).

Smart Contract arbitration allows for flexible changes in Smart Contract performance

One approach to mitigate risks is an intensive code testing which Codelegit proposes to its clients. A supplementary way which helps to find solutions in case a bug occurs is provided by the Codelegit arbitration library. This arbitration library enables the parties to achieve the following:

  1. Agree upon arbitration rules and an arbitration court which Smart Contract expertise;
  2. Enable the parties to pause the performance of their Smart Contract in case a party identifies a bug or another severe event.

Codelegit arbitration library mitigates risks

The Codelegit arbitration library should be used in any Smart Contract. Where no bug occurs in the Smart Contract performance, the library does not show up. But whenever an unexpected event happens, the arbitration library gives the parties the chance to solve the problem without leaving the digital world and without filing lawsuits at an analog, ordinary court.

Codelegit – A New Contender Enters The Field Of LegalTech

Blockchain technology will bring fundamental change to a variety of business processes. Beyond the area of finance, the blockchain as a transactional layer transforms industries as diverse as manufacturing, energy, automotive, retail and healthcare.  Whilst most experts agree on the significant impact of blockchain on that general level, defining feasible blockchain-based business processes is challenging. Codelegit provides solutions to bridge the gap between blockchain technology and law.

On Bitcoin, the world’s biggest blockchain, only a limited number of business cases beyond financial transactions are feasible. For instance, Bitcoin’s architecture doesn’t allow the use of smart contracts that would be required to represent business decisions on a technological basis. Potentially, there will be a fork of Bitcoin, which would literally result in two different Bitcoin blockchains with one of them most probably suitable for smart contract deployments.

However, a “Business Bitcoin” is far from becoming reality. Currently, there are a few other “big” blockchains, namely Ethereum, Hyperledger, and Ripple, that are used to develop Proof-of-Concepts a nd pilot projects in diverse industries. Different to Bitcoin, these blockchains provide instruments to represent business logic in their respective chains. These smart contracts consist of code similar to JavaScript, and each blockchain provides a proprietary language to develop smart contracts. For Ethereum, it’s Solidity, for Hyperledger’s smart contracts (here: ‘chain code’), Java or Go can be used.

Representing business logic in software code

Now, representing business logic in software code seems to be obvious and straightforward. However, two key elements of a blockchain, its immutability and the ability of smart contracts to run autonomously, add unprecedented requirements to the functionality, the security and the compliance of software code: Imagine an automobile manufacturer planning to use smart contracts to let a car autonomously decide on some actions, such as entering a parking garage, contracting a refueling process with the gas station, etc.. The auto maker must guarantee that these machine-driven decisions will be executed correctly and according to applicable regulations and laws. That means, the code has to be tightly connected to one or more external sources – aka oracles –  providing the appropriate legal framework.

Technology and legal departments 

The smart contract code will be produced in a technology department. The know-how about the legal framework is represented by the legal department of the automaker. Both, the technology side and the legal side, have to come together to produce code that incorporates regulations and the law. Typically, neither software engineers, nor legal experts, do have specific knowledge of the field of expertise of the other party. Nevertheless, both have to make sure that they understand each other perfectly and that the software engineer comes up with code that without doubt matches the above mentioned requirements in detail.

Codelegit – Bridging the gap between technology and law

Bridging this gap between technology and law ist the purpose of Codelegit. In order to maximize the economic and social benefits, disruptive technologies must be embedded in legal frameworks. Codelegit offers practical solutions of legitimizing software code to engineers and lawmakers. Based on our in-depth technological knowledge and longtime experience in designing and implementing blockchain solutions for leading companies from industries such as manufacturing, logistics and energy, we have created Codelegit as a practical solution for companies in need of representing business logic in software code.