Introduction

The mechanism that has been described so far proposes the use of a decentralized justice protocol to distribute rewards, manage jurors, and pay court fees. In our literature review in Task II, we identified several features of Kleros’ design that are favorable to our use case. In order to utilize them, there are a few natural options, in increasing order of ownership for the Lido protocol:

  1. Propose a Lido↔Kleros integration of the relevant smart contracts with one of the existing Kleros subcourts. (See the note on Kleros for more details on subcourts)
  2. Propose a Lido↔Kleros integration of the relevant smart contracts, but design and create a dedicated Kleros subcourt to handle this task.
  3. Create a fork of the Kleros protocol, keeping only the features relevant for dispute resolution in the case of Lido.

If option 1 is followed—for example, by integrating the Lido permissionless module with Kleros’ Blockchain Technical Court—the Lido DAO would be unable to curate the jurors who participate in disputes. Juror curation was identified as desirable in our discussions with the Lido team around the mechanism’s design (for more details, see Mechanism for curation of jurors). It would also be difficult to tailor the fees and compensation for jurors to the needs of our dispute resolution mechanism. Thus, we discard this option.

Option 2 gives Lido control over the jurors that participate in the specific court, thanks to Kleros 2.0 and its modular architecture of Dispute Kits (more details in the linked note). Note that the court would still rely on the PNK token in this case. Also, if a case leads to a number of appeals requiring more jurors than the total number of jurors available in the court, it is possible for the case to jump to the respective parent court. This would allow jurors who have not been curated by Lido in its dedicated court to participate in these cases—although a case with this many appeals would be unlikely for a court with a juror pool that is large enough since the court fees grow exponentially.

Finally, with Option 3, Lido has control over the dedicated token securing the network. Note that there are no parent courts to jump to, so we would require a mechanism to solve disputes in cases involving a large number of appeals that exhaust the available number of jurors. (One could opt for a limited number of appeals, or to raise the dispute to a higher DAO-appointed authority, such as that described in DAO as a failsafe mechanism.)

In the remainder of this note, we describe the procedure behind implementing either option 2 or 3 above. Namely, we will describe how to design a new Kleros subcourt for Lido, as well as the procedure to parameterize a court in order to keep it safe from economic manipulation by jurors. This analysis is relevant regardless of whether a Kleros integration or a fork is proposed.

Design of a new Kleros subcourt

The article by Kleros, Parameterization for Kleros courts, describes the steps to be taken in order to create a new subcourt. Note that this article refers to v1 of Kleros, so it does not seem to touch certain parameters that can be modified by the dispute kits, such as incentive mechanisms or juror selection procedures (e.g. stake vs Proof of Humanity).

Here, we summarize the article’s action points. When needed, we reached out to the Kleros research team for clarification and commentary.

Creating a new court

  1. Choose a name and parent court: The court must be placed in the tree structure below:

    Untitled

    Given that we attempt to create a court where jurors are vetted, none of the V1 courts shown are apt for us. The most reasonable design seems to be placing the Lido court as a child of the Blockchain Technical court.

    To learn more about this court, see historical data on Kleros Dashboard.

  2. Redact a policy—a document meant to guide jurors on how to solve cases, uploaded on IPFS. An example for the Blockchain Technical court:

    {
    	"name":"Technical",
    	"description":"**Court Purpose**\\n\\nThis court serves to arbitrate blockchain disputes of a technical nature. This can include:\\n\\n- Verifying that a smart contract meets a defined standard. \\n\\n- Verifying that a proposed contract call is the technical translation of a decision taken by governance.\\n\\n**Example**\\n\\n- A dispute on whether or not a token should be given a badge indicating that it satisfies ERC20. \\n\\n- A dispute on whether or not a proposed Kleros governor call matches the decision which has been voted through governance.",
    	"summary":"**Policies:** \\n\\n- Disputes in this subcourt should only be of technical nature. ",
    	"requiredSkills":"A high understanding of blockchain technology, smart contract, solidity language and Ethereum ABI is required."
    }
    
  3. Estimate some metrics needed for the calculation of parameters. Note that after a court is created one can create further governance proposals to update the parameters in case adjustments are needed.

    <aside> ℹ️ Why are these metrics needed? They are used to compute court parameters that respect the following criteria:

    **- Honest participation should be profitable.

    The mathematical details can be found in the aforementioned article: Parameterization for Kleros courts.

    </aside>

  4. Once all the metrics above have been gathered, we can use Kleros’ Calculator for Court Parameters to compute the correct parameters. A complete list of what is computed is given below:

    The following parameters are not computed indirectly—they are assigned manually.

Example

After filling in the requested parameters as per the discussion above, we get the following output from the calculator:

I propose to the following new court:

##  Lido Court
Parent court : Technical
hiddenVotes : 1
Proposed juror fee :  0.067 ETH
Proposed minstake :  20000.0 PNK
Proposed alpha : 0.5
Jurors for jump : 31
Times per period : [280800, 583200, 583200, 388800]

## Court policy : 
TBD