[Duplicate please use original thread]

HIP: 74
Title: A Peaceful Fork đź•Š
Authors: clesaege.eth & santi.eth & Andrei
Status: Phase 2
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:

2 Likes

Snapshot link here

Voted YES!

Fork is freedom. This proposal will allow two visions to be executed, which creates more plurality in the ecosystem, and reduces political fights that many times are net negative to all DAO members.

Both forks will have a treasury, that could then be used to finance the development on each side!

1 Like

Not 100% sure about this proposal yet…

how do you imagine that each side will define the constitution or the Main principles? In the way i’m seeing this, if everyone can stay in both registries, everyone can vote in both sides and the fork Will be stucked. Did you think about it?
It seems to me that some kind of centralization/trust will be needed.

I was never consulted about the final wording of this proposal. Seems to me you have taken a text I’ve written (almost 80% of it is my original text) in order to stamp in it a proposal about a constitutional vote I did not agree nor I was consulted about it at all.

This is a fraudulent proposal that uses my text and name yet I have never approved of the final content in it.

Please remove my name from it. This is very disingenuous.

I talked with Santi about the constitutional vote (otherwise we’d just end up with the same situation twice) and he agreed. Note that his side of the fork can perfectly agree on an empty constitution.

Since Santi blocked me, I have not been able to talk with him about the final wording.

Note that the proposal lists “authors” not “supporters” and since on his own admission Santi wrote 80% of the text of the proposal, denying him authorship would also have been an opportunity for FUD.

I think a way to fix it will be to add a disclaimer for phase 3 that despite being an author, Santi doesn’t support the proposal.

3 Likes

Apologies @herniadlf @santisiri @0xjean.eth @clesaege but I have to delete this duplicate post to use the original thread for discussions instead and so prevent confusion from readers.

Kindly repost your comments to that thread if you want to. Thanks for understanding!

1 Like

The title was changed instead. No need for deletion and repost. Apologies

2 Likes

If he wrote “80%” of the text, the text itself is proof of consultation. He may not agree with the additional 20% but we need to put a stop to him playing the victim like this. He was consulted enough to participate in 80% of the writing unless he is claiming theft or unfair use of his intellectual property. Perhaps it was listed as part of an open source document? If so, he needs to show proof of that and stop tossing unsubstantiated claims about.