There is no standard for unique identity on Ethereum. Humanity attempts to create a list of unique identities using Token Curated Registry mechanics. Smart contract projects can use the list to create Sybil-resistant protocols.

What it does

Humanity is a Token Curated Registry. It has a native token, Humanity, which applicants to the registry must stake on their application. Token holders can then challenge and vote on the application if they believe that the applicant is not a unique human.

To apply, submit your name and Ethereum address to the HumanRegistry smart contract. Prove your identity to Humanity token holders by creating a social media post containing your Ethereum address. If the resulting list of humans is used by smart contract protocols as a canonical registry for unique identity, there will be demand to be on the list. This will drive demand for the Humanity token, which will incentivize token holders to curate the list judiciously in a virtuous cycle.

Token holders also have an incentive to improve the application process if it is found to be gameable or insufficient.

How we built it

We used the FOAM TCR (Registry, PLCRVoting, Parameterizer) and OpenZeppelin ERC20 token as a starting point. We added an isHuman function to the Registry that other smart contracts can use to query whether a given address is on the list.

Challenges we ran into

Deploying and verifying the code on Etherscan. Truffle beta did not work for deploying and Etherscan was down for maintenance for a few hours and we ran into some other issues when verifying.

Accomplishments that we're proud of

We shipped to the Ethereum mainnet!

Humanity (HUM): 0xc8DCA751275197E0af2066686b10545b4C592656

PLCRVoting: 0xB50fe983FcC8247EA81689357D98060f1F426a35

Parameterizer: 0xF1353811B7691F1aC3ef47Ff5b6b629C5f01D35b

HumanRegistry: 0xf0150CeC4Fe8477D039C4B4E679c040480763170

Slide Deck:

Twitter Account:

Human Applications:

Built With

Share this project: