I’m Andrei, dev @ Kleros, working on Proof of Humanity. Proof of Humanity is coming to Gnosis Chain very soon. A Proof of Humanity <> Circles synergy would be great for both projects.
To register on Proof of Humanity, you have to make a request using your wallet, take a photo and a video of yourself following the instructions, put some deposit, get a vouched from someone else and then wait for challenging period to pass. If you are challenged in that period, a Kleros dispute is created. If you win any challenge or are not challenged at all, you are registered to PoH.
To check whether a wallet address belongs to someone registered on PoH, one can simply call
isHuman(address) on the contract. In PoH v2 there will also be a soulbound id for each human (when re/registering the requester always have to point to the soulbound id corresponding to him, otherwise would be challenged).
1 human <-> 1 wallet address <-> 1 soulbound id. This could be used as social recovery
As a simple first PoC, using Alex’s GroupCurrencyToken I thought there could be a contract
PoHTokenManager owning the PoH group token
The idea would be that owner of a personal circles token should be registered on PoH in order to use that token as collateral.
PoHTokenManager could be both owner of the
PoHGCT and the treasury. It would add/remove members depending and allow redeeming personal tokens from
addHuman(walletOfHuman) require(poh.isHuman(walletOfHuman)) address humanToken = hub.userToToken(walletOfHuman) require(humanToken != address(0x0)) IGCT(gct).addMemberToken(humanToken) removeHuman(walletOfHuman) require(poh.isHuman(walletOfHuman) == false) IGCT(gct).removeMemberToken(IHub(hub).userToToken(walletOfHuman)) redeem(redeemer, token, amount) require(poh.isHuman(IHub(hub).tokenToUser(token))) IGCT(gct).transfer_from(redeemer, address(0x0), amount) token.transfer(redeemer, amount)
Someone could exchange any tokens corresponding to people registered on PoH (
mint using TokenAlice as collateral -> redeem TokenBob).
I’m not fully sure on how to best leverage circles mechanisms so looking forward to suggestions