[Phase 3][Binding] HIP-74: A Peaceful Fork 🕊

HIP: 74
Title: A Peaceful Fork 🕊
Authors: clesaege.eth & santi.eth & Andrei
Status: Phase 3
Created: 2022-09-12

Simple Summary

This HIP sets the route to do a peaceful fork on the Proof of Humanity DAO and the protocol itself. The forks will be named:

  • Open Proof of Humanity (Open-PoH): Developed and maintained by independent developers from the Proof of Humanity DAO and UBI.
  • Proof of Humanity Origin (PoH-Origin): Developed and maintained by developers from the Proof of Humanity DAO and Cooperative Kleros as the original developers of the protocol.

This way the communities of Open-PoH and PoH-Origin respectively can part their ways amicably, each working on their own vision of how the protocol should evolve.

Abstract

The Proof of Humanity DAO consists of multiple resources that constitute its organization, governance methods, treasury and the protocol itself.

As the project prepares for the launch of Proof of Humanity v2 (PoHv2) in order to reduce costs and help onboard more users, this is also an opportunity for the community to fork the protocol and engage each side of the DAO to support their preferred version of the project.

In that regard, rather than having only one deployment of PoHv2, we will instead have two versions of the protocol each running on their own chains of preference moving forward while still recognizing as valid the list of humans verified before the fork on Proof of Humanity v1.

Since the community already began the development of some of the resources required for each side of the fork, we recommend to use those existing resources already created and if possible simply clarify to which side they belong.

Specification

The resources corresponding to v1 of Proof of Humanity will remain connected to that smart contract and project. These consist of the following list of resources and will not be modified in any way for the purposes of the fork.

Feature Legacy Proof of Humanity
Protocol Mainnet
Governor 0x327…CfdF
Snapshot Require approval of both forks
Treasury 0x327…CfdF & MultiSig
Arbitrator Requests frozen

Moving forward, two deployments of PoH v2 will be executed that will have backwards compatibility with the list of humans available on PoH v1.

Each side on PoH v2 will be able to make decisions without impacting the votes on the other fork respectively. The users verified on these new PoH v2 will have voting rights over the Snapshot page corresponding to each fork.

The forks will consist of the following resources:

Resource PoH-Origin (Kleros Coop) Open-PoH (UBI :droplet:) Status
Landing proofofhumanity.id ubi.eth.limo :white_check_mark:
PoH v2 :rotating_light: Pending (multiplatform starting with Ethereum and Gnosis) :rotating_light: Pending (on Polygon) :construction_worker_woman: *
User Interface app.proofofhumanity.id proofofhumanity.org :white_check_mark:
Governor v2 :rotating_light: Pending :rotating_light: Pending :construction_worker_man:
Snapshot v2 :rotating_light: Pending :rotating_light: Pending :construction_worker_man:
Treasury v2 Same as Governor v2 Same as Governor v2 :white_check_mark:
Forum gov.proofofhumanity.id ubidao.social :white_check_mark:
Twitter @proofofhumanity @pohdao :white_check_mark:
Telegram t.me/proofhumanity t.me/proofofhumanityDAOen :white_check_mark:
Github Proof-Of-Humanity OpenProofOfHumanity :white_check_mark:
* :construction_worker_man:‍ Being Built.

Each side will focus on building a PoH ecosystem on a leading side-chain or Layer 2 rollup in order to complement the efforts of each other when it comes to onboarding new users.

Inheritance

Each fork will inherit the laws and approved proposals from the decisions voted on the Snapshot of v1. From the date of the fork onwards, their legal bodies will drift apart.

Each side is free to make and approve a constitution or a new legal body of which it would apply strictly to their fork. A constitution or new set of HIPs may override the impact of legacy HIPs on each fork but won’t modify the status quo of legislation on legacy PoH v1.

If this proposal is accepted, a transpartisan proposal to approve the constitutions will need to take place. It will consist of a unique snapshot vote where humans will be able to approve or reject only one constitution (so that one side cannot reject the constitution of the other). The fork will happen if both constitutions receive more approvals than rejections.

The funds held on the Governor and Gitcoin Multisig of PoH v1 will be split in half and allocated on each new Governor contract that will be used by each fork implementing PoH v2. Liabilities such as grant payment will also be split in half between both forks.

The funds currently available on the Gitcoin Multisig will be sent to the Governor on 0x327…CfdF before the fork happens in order to reduce the quantity of required transactions.

Implementation

Kleros will assist with the deployment of all the corresponding Proof of Humanity v2 smart contracts on each chain providing they don’t require any changes and the developers will be responsible for setting up all of the infrastructure that is necessary to interact with their side of fork.

All of the assets remaining on the Gitcoin Multisig will be transferred to the Governor of v1 available on 0x327…CfdF before sending funds to each fork.

Each fork will implement a Kleros Governor contract for their v2 on Mainnet. Each Governor will receive 50% of the funds coming from the Governor of v1 on 0x327…CfdF.

The new Governors for each v2 will be configured with the same parameters and settings currently set on the Governor of v1 but they will receive MetaEvidence that will connect each Governor of v2 to their respective Snapshot page.

The Snapshot pages of each fork will allow voting from humans that are considered registered from their side of the fork. It’s up to each fork to decide if they will consider the humans from v1 or the other fork.

On the main contract side, for mainnet, the v1 registrations requests will be frozen. Removals would be frozen too to solve the case of disagreement between forks about a removal of the profile (say one fork desires removal for a profile in the registry because of a different interpretation of sybil), at the expense of UX (in case user wants to deregister from both PoH). Freezing of both registration and removal requests is possible by making the arbitration fee an unpayable amount (by making the number of jurors the maximum number).

To facilitate a removal on a particular fork, either because of a request or bad vouching, the corresponding profile data must have been copied to the storage of that particular fork’s v2 contract (at the start of interaction with the profile) and somehow marked as removed.

This functionality has not been implemented yet as the current v2 contract does not copy storage of v1 contract (it only checks its data when needed). On agreement, the feature will be implemented. :construction_worker_man:

Once the fork is initiated, the v1 contract will be frozen and the v2 contracts of each fork need to be deployed with the corresponding parameters set (including the common address of v1 contract). There might be profiles that are in the pending state at the moment of fork (so it might take some days after the fork event for them to have a resolved state - None/Registered). The process of registration of these profiles should be finalized based on the old rules. Profiles in vouching state at the moment of fork will have to withdraw. At this point, the fork is agreed at the contract level.

Let there be peace and BUIDL :muscle:

12 Likes

Okey, lets go! Really excited to see what Will be built without the tensión and all the stopping one another.

I’m concerned about the similarity of the names, dont they compete?

2 Likes

hello change de number!!!

Let’s do this!!!

FORK IS FREEDOM

FORKING IS PLURALITY

5 Likes

WE WANT FORK!
The fork is freedom!

5 Likes

Glad to see you’re finding solution.

This would result in any pending projects budgeted in v1 that complete after the fork to be paid for twice. Perhaps members should refrain from posting new grants and other contractual obligations until fork completion or there should be an explicit point that allows any fork to void them, if they’re deemed undesirable or inapplicable to their branch. An example of such grant is HIP-72.

It’s pretty simple, we should make the payment before forking. Forking will take some time even after approved, the Phase 3 of the grant will end in 7 days.

HIP-72 “Specification” states it’s payable after tool completion, not upon grant being voted in. It really depends on @green delivery timeline, which scenario plays out, if this grant gets approved.

I understand, it may be silly to go after 3 ETH on a DAO Gov level like that, but this DAO isn’t particularly rich and I’ve read way worse nitpicking in PoH court cases, so raising such issue is not exaggerated, relatively speaking.

1 Like

Sorry, I stand corrected, that makes a lot of sense!

We could also add a clause to this forking HIP that any pending payment should be either be payed out in full by either side of the fork interested, or paid in half by both. Or of course, be paid in full if it doesn’t happen. :sweat_smile:

1 Like

Let’s add

Liabilities such as grant payment will also be split in half between both forks.

1 Like

What about the arbitrator if Open poh is going to be on poly? There will be a kleros arbitrator in poly too? Same question with governorv2.

We have a weird situation with the name.

  • If both projects keep a name very close to PoH this is pretty bad for both projects because they will be confused with other.
  • If both projects abandon the name there is no chance of confusion, but a bit of work to establish the new identity.
  • Best for each project is if the other abandons the name.

So we are actually in a bit of a Prisoner’s Dilemma as far as I see it.

To get around this I would recommend that both projects abandon PoH branding and that this requirement is put in the proposal.

1 Like

I support 1000%, fork to Gnosis Chain or Optimism for the love of God and let’S have a fresh start!

1 Like

I don’t see much discussion on here :thinking:
Anyone else has something to add, modify etc? It’s a pretty important topic, yk

Hey Andrei! Do you have an answer about the Open poh arbitrator on polygon?

Agreed the name changes are dumb.
I mean ffs, OPoH and PoHO? could you guys not have words that start with different letters at least?

Honestly the history of the crypto spaces previous project forks sets the example to be followed here.

Proof of Humanity grew from Kleros. Therefore the Kleros side of the fork retains the original name.

The part of the project forking away renames itself whilst retaining a link to the parent it forked from.

EG. Kleros Proof of Humanity
Forking away: Independent Proof of Humanity

PoH and IPoH.

Agreed that these names are silly and cause confusion, but they’re needed to identify each group. Ultimately, each fork can rename itself later. Proposal for any group to keep original name wouldn’t be very peaceful - abandoning original PoH by both groups is the main premise of this proposal.

From my understanding, current PoH is owned by PoH DAO, which Kleros once created, but no longer fully controls. Seems that solutions are:

  1. Kleros forks-off, leaving PoH ownership to PoH DAO
  2. Kleros stays and tries to address community concerns and regain influence
  3. Both groups decide to find a peaceful resolution, abandon original PoH and make 2 forks
1 Like

the POH dao forking is the only option.

The only question now is about who keeps what.

Kleros founder literally owns Proof of humanity telegram chat.

Santi owns the UBI dao chat.

Simplest solution is for those of the community with santi to shift their fork into the ubi dao and leave the PoH dao to its own devices.

One could argue that is fair.
The disgruntled community members get to fork away from kleros, and take the UBI token ownership with it.

Kleros and those of the community standing with it remain as the original PoH with brand.

1 Like

Agreed. I think we’ll run into the same issues as with the telegram channels. It’s hard to tell which is which or does what. POH FORK DAO origin could be an option. But even then it’s a little too close to the original name. Recommend a bit of creative brainstorming about the name of the fork.

Are we able to get a clear outline for benefits to the community for both sides? Like a comparison panel or something?

It would be nice to just have a graph with all of the things offered and a check mark next to the system who will be offering it. The comparison should be presented as simply as possible.