[Phase 2] HIP #49 Change of Arbitrator

HIP Change of Arbitrator

HIP: 49
title: Change of Arbitrator
authors: MoniK, HBesso31.eth, pCorace.eth, nicobilinkis.eth, castorpolux.eth, Roberto Iquitos, Andres Vilches, Ruben Alejandro Puca Vilte, drlorente97.eth,  jfdominguez.eth, Pablo Buencrypto, ANM, Flor Velastiqui, Hernán DLF, lautaro.eth, juanipose.eth
status: Phase-2
created: 2022-07-05

Simple Summary

The goal of this proposal is to change the smart contract that deals with disputes to the profile submission and removals (a.k.a, the Arbitrator) with a new one that serves better the interests of the Proof of Humanity community.

Abstract

The Proof of Humanity contract will change its arbitrator to a new deployment of a Kleros Arbitrator that will be an exact replica of the existing one but with one critical chage:

  • The Governor of the new contract will be set to the Proof of Humanity Governor address (0x327a29fcE0a6490E4236240Be176dAA282EcCfdF) so future changes around Proof of Humanity’s dispute resolution court are set by its own community as well.

This new arbitrator will also be set on the Governor Contract (0x327a29fcE0a6490E4236240Be176dAA282EcCfdF) of Proof of Humanity, effectively putting any potential disputes that happen with it on the hands of the Proof of Humanity DAO.

Everything else will remain exactly the same in order to guarantee compatibility with the road tested settings of past dispute resolutions. The tokenomics of the new Arbitrator will not be modified with neither UBI nor an alternative new token. PNK will remain as the only staking token valid for this new arbitrator.

Motivation

The Kleros Arbitration smart contracts that are being used by the Proof of Humanity protocol and the Proof of Humanity DAO are currently governed by the Kleros Coop where they are the only entity that can define its parameters moving forward.

Our aim is to further decentralize the Proof of Humanity project by using the democratic processes put in place by the Proof of Humanity DAO. During the first year of our DAO, not a single election has been disputed with over 40 decisions being made by the DAO and the combination of Proof of Humanity with Snapshot has proven to be an efficient approach to democratic decision making.

Our goal is to use this mechanism to decide over the Arbitrator being used by the Protocol and the DAO’s Governor contract.

Specification

Any potential dispute that emerges today either from the Proof of Humanity Governor or the Proof of Humanity DAO will go to an Arbitrator contract that ultimately has its parameters set by the Kleros Coop.

A comparison between the vote distribution in the decision making process between the Proof of Humanity DAO and the Kleros Coop show very different distribution of power on each organization:

As much as we trust the knowledge and experience that Kleros has contributed to the Proof of Humanity project, by advancing with this change the Proof of Humanity community will be able to set the rules for its own Arbitration mechanisms and take an effective step towards greater decentralization.

No project ever begins decentralized. It’s up to the community to take the necessary steps to guarantee progressive decentralization. With the approval of this proposal we are taking a critical step in that direction.

For this purpose, we will deploy a new contract that follows the same exact settings the current Arbitrator has but with its Governor set to the Proof of Humanity Governor. And the Proof of Humanity Governor’s Arbitrator will be set to the new Arbitrator being deployed.

Rationale

The incorporation of an Arbitrator dependent of the Proof of Humanity DAO would reduce the risk of the DAO being captured in a Governance Gridlock by actors that are not aligned with the core interests of Proof of Humanity.

This change will increase the robustness of the DAO, in accordance to a more mature decentralization since every verified human will have a right to vote over the parameters of the Arbitrator.

Additionally, we would be able to modify the Governor with the power of 1 person 1 vote, giving the DAO sovereign control over its own Dispute resolution courts.

DAO control over the arbitrator and its governor is key to emancipate Proof of Humanity as an autonomous organization free from centralized interests.

With autonomy over the design of the courts we can later add after careful Tokenomics research the possibility of limiting large concentrations of staking, and incentivizing the same principles of equal access to justice within our Registry.

Another advantage that we have over the Kleros Courts is that Humanity Court can better specify and regulate juror misconduct or exploitative behaviours in a faster, more efficient way.

Future implementations of Courts serving the Proof of Humanity protocol —whether its Kleros v2 or a new compatible Arbitator— can only be accepted if they also follow the configurations described on this HIP and thus maintain the Proof of Humanity Governor as the Arbitrator Governor. No other settings can be accepted in the case of a Court Update in the future.

Implementation

An exact replica of the existing Kleros arbitration contract will be deployed on Ethereum Mainnet.

The same version of KlerosLiquid.sol smart contract found on Proof of Humanity’s current court available on 0x988b3A538b618C7A603e1c11Ab82Cd16dbE28069 will be used.

The new court will be deployed with the following settings in its constructor function:

// The governor of the contract will be set to the Proof of Humanity governor.
address _governor = 0x327a29fcE0a6490E4236240Be176dAA282EcCfdF

// The pinakion token contract will keep using the PNK token.
Pinakion _pinakion = 0x93ed3fbe21207ec2e8f2d3c3de6e058cb73bc04d

// The random number generator contract will keep using the existing RNG.
RNG _RNGenerator = 0x1738B62E403090666687243e758b1C29eDfFc90e

// The minimum staking time.
uint _minStakingTime = 8700000000000000000000

// The maximum drawing time.
uint _maxDrawingTime = 7200

// Whether to use commit and reveal or not.
bool _hiddenVotes = false

// Minimum tokens needed to stake in the court.
uint _minStake = 8700000000000000000000

// Basis point of tokens that are lost when incoherent.
uint _alpha = 5000

// Arbitration fee paid per juror.
uint _feeForJuror = 25000000000000000

uint _jurorsForCourtJump = 31

// The time allotted to each dispute period in the form `timesPerPeriod[period]`.
uint[4] _timesPerPeriod = [540000, 437400, 437400, 291600]

// The number of children per node of the general court's sortition sum tree.
uint _sortitionSumTreeK = 8

Once this contract has been successfully deployed on mainnet, it will be set to have a Court with ID 1 that will work as the Humanity Court that will be linked to Proof of Humanity.

Then the following tickets will be submitted to the Proof of Humanity Governor:

  • HIP 49 Change the Arbitrator of the Proof of Humanity Protocol: The Proof of Humanity protocol (0xC5E9dDebb09Cd64DfaCab4011A0D5cEDaf7c9BDb) will execute changeArbitrator with the paremeter address _arbitrator set with the new arbitrator contract and the extra bytes data necessary to connect it to the Humanity Court with Court Id 1.
  • HIP 49 Change the Arbitrator of the Proof of Humanity Governor: The Proof of Humanity Governor (0x327a29fcE0a6490E4236240Be176dAA282EcCfdF) will execute changeArbitrator with the paremeter address _arbitrator set with the new arbitrator contract and the extra bytes data necessary to connect it to the Humanity Court with the Court Id 1.

Once these changes are in place, the Proof of Humanity DAO will effectively control the rules of its own Arbitrator and disputes on the Governor will be setlled by the Proof of Humanity Arbitrator contract.

3 Likes

The proposers of this HIP are still not recognizing the technical challenges they will face. The Pinakion token cannot be used as is with a new arbitrator. Probably a proxy contract should be implemented.

In the Phase 1 post, I asked how can juror behavior be punished or regulated through POH governance and I didn’t get an answer. I’d like to hear a few examples.

Proposers are also still confusing the Kleros cooperative with the Kleros DAO and using misleading charts about voting distribution. In my opinion, the POH chart is wrong, because delegation is still 1p1v, so it should show perfectly equal size boxes. However, it’s not possible to display farmers, because they are a bit invisible. On the other hand, the Kleros chart is showing the voting distribution of a single, non controversial poll. Nobody has 41% of the PNK supply, not even the Kleros cooperative. Cherrypicking sets of data is not healthy for the debate.

8 Likes

Why is this the case? I’m not familiar with the reasoning here.

You mean as if jurors cannot be expected to be regulated because of the privacy of their actions?

Not sure what is the best path for juror regulation but if I may offer an observation about how jurors behave today, most of them seem to have a positivist interpretation of law / guidelines and my take is that the Humanity Courts would benefit from a more naturalist approach.

From a quick google search:

Natural law and legal positivism are two schools of thought that have opposing views on the connection between law and morals. **Natural law holds the view that law should reflect moral reasoning and should be based on moral order, whereas legal positivism holds that there is no connection between law and moral order.

How can we get Kleros courts to change or decide over this criteria? Is it even possible?

Getting humans kicked out because of a misspelling or a few pixels, is not fair under a naturalist approach to justice. I think that Proof of Humanity needs to be inclusive, to many it’s very troubling to see so many unfair rulings. And saying this is not in detriment to the sybil resistant virtues of the protocol.

3 Likes

The Pinakion contract has to be controlled by the KlerosLiquid contract. This is important for slashing incoherent jurors for example. It’s not possible to have 2 different KlerosLiquid contracts controlling the same Pinakion. I haven’t looked closely into this, but I think a possible solution would be to have a wrapped pinakion contract (maybe similar to the stPNK on Gnosis chain?) that can be controlled by the new KlerosLiquid.

No, even if jurors were publicly known, what KlerosLiquid parameter changes could be pushed by POH to control their behavior? I haven’t thought much about it but I cannot think of ways of doing this effectively.

I’m not well versed in this topic but I’ll try to give my opinion. I don’t believe in natural law because moral values are subjective. The fact that we can reach consensus on some moral topics does not mean that those moral conclusions are objective. I don’t know how to make sure that jurors will share the moral values of the ever changing POH majority. The closest I can get to that is through periodic changes both in the POH policy and maybe in the courts policy. Using UBI instead of PNK would also shift the moral decisions of the court, but as was discussed in phase 1 there are other challenges if this is done.

When people get outraged about a POH ruling it is usually not so much about the ruling itself or the rejection but about the submitter losing money. If this is something the POH community really cares about, here are some possibly unpopular ideas (at least I’m against them):

  1. Compensate early, honest adopters who gut burnt by distributing the 46 WETH or UBI among them.
  2. Freeze the POH contract until it is available on Gnosis, where the economic punishment of mistakes will be less harsh.
  3. Force registrants to crowdfund and encourage them to get feedback by the community before moving forward with their submissions.
  4. Set up a big grant for UI/UX improvements.
5 Likes

This is indeed relevant for this proposal. The token needs ERC20 approval for the arbitrator smart contract to take actions or what do you mean?

Despite being quite different from the initial HIP, this HIP is still technically unsound and would result in the protocol self destruction trying to fix an unexisting problem (Kleros has never refused a modification of court parameters by an application using it and is unlikely to do it unless some clearly aberrant values were proposed).

Most of my comments on the initial post stands.

This is completely false. It is controlled by the Kleros DAO.

The graph is also greatly missleading, it’s cherry picking on an uncontroversial low impact vote (thus low turnout). This was a proposal of adding a court for a project wanting to use Kleros which is very uncontroversial and almost guaranteed to pass.

A better display of Kleros voting power distribution would be the Proof Of Humanity court which looks like this:

This doesn’t make any sense either, Kleros doesn’t make any governance decision in Proof of Humanity.

Well this doesn’t depend of Kleros, if Proof Of Humanity wants the rules to be interpreted from a naturalist approach, it can just make it in the rules.

Again, this is not related to the arbitrator but to the policy. For example the policy was modified to allow 1 mistake in the address. The policy could also be modified stating something like “honest mistakes are allowed”.

I don’t believe we should do this as this would reduce greatly the efficiency of the challenger ecosystem (where they would spend time in “almost rejection” without being compensated). So this would mean either less security or higher deposits. But that’s a completely different topic independent of the arbitrator.

We could have a system where submitters take insurance reimbursing them from honest mistakes. This would act as a defacto optional registration fee. The cost of the system is very low, with an average of 5$ (4$ for challengers, 1$ for juror) beside gas costs. Maybe some people would prefer paying 10$ (to take insurer profit and take into account that people taking the insurance may be more prone to mistakes than the general population) to an insurer than risking losing 130$.

5 Likes

An insurance model is an interesting proposition in itself. People who write me directly when they face a challenge always fear losing their money. How could we make it sustainable?

1 Like

As I mentioned in phase 1, I will like to have a full working arbitration system in some testnet before moving to phase 3. There a tons of technical issues that should be addressed before moving to phase 3.

And I would like to see a research to understand why a juror who has PNK will move to a court that only will attend PoH cases. In the Kleros Courts, you not only can be selected for cases in Humanity Court, but also in the cases of General Court.

Moreover, I would like to understand this section: “With autonomy over the design of the courts we can later add after careful Tokenomics research the possibility of limiting large concentrations of staking, and incentivizing the same principles of equal access to justice within our Registry.”

Because, it’s extremely hard to understand all the parameters that are in play in the courts today, and mis-configuration some of them could end up in a security issue. I only trust in William to handle this parameters, at least, due to the maturity that the courts have now.

This was asked by @fnanni before and still without answers.

In my opinion, those parameters should be updated by someone that knows every detail of how the courts work.

In summary, I will vote NO until I see a working arbitration SC running in a testnet at least, and waiting for the answers to Fede’s questions.

3 Likes

I agree with the sentiment expressed here. Next steps should require testnet implementations in order to weight the risks. I wouldn’t support this moving forward without that.

1 Like

The fact that the authors of HIP-49 cannot see how the proposal is broken even after all the explanations provided should be a source of serious concerns for the community about the authors technical abilities to design a working solution, operate and deliver it.

8 Likes

True , u cant be sure otherwise …