Experimental proof of personhood implementation on StarkNet

Hey everyone! A few weeks ago I mentioned that I’m working on an experimental Proof-of-Humanity-like project on StarkNet. I’m building it along with another PoH community member, @RoboTeddy.

If you’re interested in learning more about our experience developing in Cairo, the StarkNet native language, you can check out our code at https://github.com/pop-project/pop (the code refers to the name “Nym”, which is just temporary — it probably can’t end up being called that because it’d collide with https://nymtech.net/).

Currently in a development environment it’s possible to submit profiles through a web frontend to a testnet contract that supports submissions and challenges. There are still notable missing features under development, like an L1<->L2 bridge that will use Kleros for final arbitration.

We haven’t hit any hard blockers on the StarkNet side, and Ted wrote a great post recently on his experiences writing Cairo. There isn’t a strong ecosystem around Cairo yet like there is with Solidity, but ZK rollups make transactions so much cheaper that the ecosystem will hopefully develop quickly. Concretely, the current gas fees for registering a profile should be < $10.

Our goal is to launch an alpha version that folks can play around with on a testnet in 2-3 weeks. It’ll be very basic and not suitable for any actual integrations yet, but we’re hoping to quickly make it better! The contract will start out way too centralized so we can experiment quickly, but we’re tracking all the points of centralization and have specific ideas for how they could each be removed.


Are you leveraging Proof of Humanity in any way?

1 Like

A friend just shared this with me, looked familiar:

Looking forward to play with it, and see how it looks like. Hopefully we’ll have some learnings from it that we can use for PoHv2.

1 Like