Proof of personhood

Proof of personhood (PoP) is a means of resisting malicious attacks on peer to peer networks, particularly, attacks that utilize multiple fake identities, otherwise known as a Sybil attack. Decentralized online platforms are particularly vulnerable to such attacks by their very nature, as notionally democratic and responsive to large voting blocks. In PoP, each unique human participant obtains one equal unit of voting power, and any associated rewards.

The term is used in for cryptocurrency and blockchains as a parallel to proof of work, proof of stake, and other consensus mechanisms which attempt to distribute voting power and rewards to participants proportionately to an investment of resources.

Background
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. Aside from CAPTCHAs allowing people to obtain multiple users, there are additional complications. Many users who are visually impaired or have learning disabilities may struggle to complete the puzzles. Additionally, some recently developed AI has succeeded in solving the CAPTCHA issue.

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 and anonymity, and increase barriers to entry. One 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.

In 2014, Vitalik Buterin proposed the problem of creating a "unique identity system" for cryptocurrencies, which would give each human user one and only one anti-Sybil participation token. In 2017, the term "proof of personhood" was proposed for an approach based on pseudonym parties.

Approaches
A variety of approaches to implementing proof of personhood have been proposed, some in experimental deployment.

In-person events
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.

Social networks
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. 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.

Strong identities
Another approach requires participants to have verified identities, but to hide or anonymize those identities in subsequent use. 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. Other critics highlight that facial recognition systems fail on a global scale due to insufficient facial entropy.

Apple, who are known for implementing a facial recognition feature into the iPhone, attempts to protect users' privacy with the Secure Enclave. The mathematical structure of a user's face captured by the TrueDepth camera does not leave the user's device, increasing the privacy and protection of personal information. However, some concerns have been raised in regards to the level of security of the facial recognision on the devices. For example, there have been cases where family members were mistakenly recognized as their siblings.

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.

Crypto-biometrics
To resolve the security concerns over using biometrics for proof of human existence, only encrypting the biometrics data through cryptographic models is not enough. For this purpose, a new technique is proposed to use homomorphic encryption along with zero-knowledge proof to encrypt biometrics data in a way that original biometrics data never leaves the device of the user. Instead, the decentralized network is provided only with the relevant information to verify if a person is a real human being through liveness detection and is registered on a network.

Online Turing 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. 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.

Use cases
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.

Another proposed use is to facilitate democratic governance in decentralized online systems, including blockchains and cryptocurrencies, that wish to enforce a "one person, one vote" rule.