Proof of personhood (PoP) is a participation and Sybil attack resistance method for permissionless consensus, in which each unique human participant obtains one equal unit of voting power and associated rewards. In contrast with proof of work, proof of stake, and other approaches that confer voting power and rewards in a blockchain or cryptocurrency proportionately to a participant's investment in some activity or resource, proof of personhood aims to guarantee each unique human participant an equal amount of voting power and rewards, independent of economic investment.
The problem of Sybil attacks using many virtual identities has been recognized for decades as a fundamental challenge for distributed systems that expect each human user to have only one account or identity. CAPTCHAs attempt to rate-limit automated Sybil attacks by using automated Turing tests to distinguish humans from machines creating accounts or requesting services. Even when successful in this goal, however, CAPTCHAs allow one human to obtain multiple accounts or shares of a resource simply by solving multiple CAPTCHAs in succession, and thus do not satisfy the one-per-person goal in proof of personhood.
Distributed systems could require users to authenticate using strong identities verified by a government or trusted third party, using an identity verification service or self-sovereign identity system for example, but strong identification requirements conflict with the privacy, anonymity, and low barrier to entry goals widely valued in permissionless blockchains and cryptocurrencies. One early approach proposed to create anonymous but one-per-person credentials for use in distributed systems is pseudonym parties, in which participants gather periodically at in-person events and leverage the fact that humans can physically be in only one place at a time.
Vitalik Buterin proposed in 2014 the problem of creating a "unique identity system" for cryptocurrencies, which would give each human user one and only one anti-Sybil participation token. The first published work using the term proof of personhood was in 2017, proposing an approach based on pseudonym parties.
A variety of approaches to implementing proof of personhood have been proposed, some in experimental deployment.
The approach originally proposed by Borge et al. was to use in-person pseudonym parties as a basis to create anonymous one-per-person tokens periodically without requiring any form of identity verification. The encointer project adapts this approach by asking participants to meet in small groups simultaneously at randomly-chosen places, to verify each other's physical presence.
One drawback of this approach is the inconvenience to participants of going to designated physical locations at specific times, especially for participants with conflicting responsibilities at those times. Another issue is the challenge of organizing federated pseudonym parties in multiple locations simultaneously while allowing each group to verify that all other groups are organized honestly without inflating the number of digital credentials they issue.
Another approach, related to the PGP Web of Trust, relies on users forming a social network to verify and attest to each other's identities. BrightID takes this social trust approach, relying on graph analysis to detect Sybil attacks, and requiring users to stake some of their health when connecting to unverified users. UniqueID incorporates biometric verification into the social network approach.
One criticism of the social network approach is that there is no straightforward way for a participant to verify that a social connection has not created other Sybil identities connected to and verified by other, disjoint sets of social contacts. A related challenge is that Sybil detection based on graph analysis make certain assumptions about the behavior of a Sybil attacker, and it is not clear that real-world social networks satisfy these assumptions. Finally, graph-based Sybil detection algorithms tend to be able to detect only large, densely-clustered groups of Sybil nodes in a social network, leaving small-scale attacks difficult or impossible to distinguish by graph structure alone from legitimate users' connectivity structures.
Another approach requires participants to have verified identities, but to hide or anonymize those identities in subsequent use. The GoodDollar project is an example of this approach, using an identity verification service with facial recognition to keep biometric templates of each registered user in a database and verify that users do not register multiple times. One criticism of this approach is the privacy and surveillance risks inherent in such databases, especially biometric databases, and the level of trust users must place in the verification service for both Sybil protection and privacy of their identity information.
Decentralized cryptographic protocols have been proposed to create Sybil-resistant pseudonyms from strong identities without trusting a single verifier party. For example, cryptographic protocols have been proposed to create pseudonymous one-per-person identities based on federated social media identities, or government-issued identities.
Even with decentralized privacy protections, a criticism of this approach is the inconvenience and cost to users of verifying strong identities, and the risk of potential exclusion of users who do not readily have or cannot afford the requisite identity documents, are reluctant to participate due to privacy and surveillance concerns, or are wrongly excluded by errors in biometric tests.
Another proposed class of approach extends the CAPTCHA principle of using Turing tests to the unique human verification problem. The Idena network, for example, assigns participants to verify each other using flip tests. Pseudonym Pairs assigns participants in pairs to verify each other's humanness by interacting via video chat. Criticisms of this approach include the inconvenience to users of solving Turing tests, and whether artificial intelligence and deepfake technologies will soon be able to solve such tests automatically or convince real participants that a synthetic user is human during a verification interaction.
One proposed use for proof of personhood is to ensure that voting power in permissionless consensus algorithms is widely distributed, and to avoid the re-centralization that has been observed in proof of work mining pools, and predicted in proof of stake systems.
A third commonly-proposed use is to create cryptocurrencies that effectively provide a universal basic income, for example by minting a fixed amount of new currency for each human participant in a given time period. This is a primary goal of GoodDollar and Circles, for example.
|url=ignored (help)CS1 maint: uses authors parameter (link)
|url=ignored (help)CS1 maint: uses authors parameter (link)