Skip to content

Latest commit

 

History

History
58 lines (41 loc) · 3.11 KB

File metadata and controls

58 lines (41 loc) · 3.11 KB

KORD Courtroom

This document outlines the concept of a KORD Courtroom; which is a suite of smart contracts for KORD service agreements, between service provider and client, which can be used to claim collateral if a KORD service is found guilty of wrong doing.

Status of this Document

The KORD protocol is at an early stage of development, expect this document to change frequently during this early phase.

Outline

The KORD Courtroom aims to provide a framework for KORD services and service clients which is used for conflict resolution in relation to the service being provided. The service provider specifies their service offering by tendering a process in which they can be held accountable for not complying with their quality guarantees. Provider swears to this promise by depositing a collateral which they stake to lose in case of foul play.

If some service was not provided as agreed upon, clients can open a case and start a litigation process. If deterministic evidence is available to prove the accusation, the service provider can be held accountable by an automatic self-enforcing punitive measure.

Such accountability is crucial in the design of scalable decentralised service economies.

The KORD Courtroom concept is based on swarm swap swear and swindle, a generalised framework for incentivised service provision.

The courtroom framework will offer a generic interface for handling cases, registering clients and services and submitting new cases where each service can use and set its own specific game rules. e.g which evidence types a client should submit for a case, grace periods for submitting evidences, the compensation amount for the case of a valid case...

Implementation

The courtroom framework includes a solidity smart contracts suite, an ABI interface specification and tools to interact with these contracts. The development work for this can be found in this repository.

A courtroom suite includes a generic contract which knows how to open a case and conduct a trial. An abstract trial is described by a finite state automaton states of which correspond to stages of litigation and the transitions are labeled by various outcomes of evaluating evidence submitted to the respective expert witnesses associated with the stage. The Swindle contract orchestrates the transition through the stages calling the witness contracts, handles grace periods to control the deadline for submitting evidence (challenges or their refutations), reach a guilty/non-guilty verdict accordingly.

The specific service contract describes the rules of each stage by assigning particular expert witnesses to trial stages: these witness contracts are supposed to be giving a testimony evaluating evidence submitted to them. The request response process between the judge and the witnesses can be easily standardized so all witness contracts implement the same interface.

Each expert witness may need to submit different types of evidence. Thus, this abstraction allows us to handle polymorphic evidence.