How Encointer can grow to deliver proof-of-personhood on a global level within a few months and serve as a potentially secure-enough basis for sybil-resilient quadratic voting.
A POAP Proof of attendance is commonly understood as a proof that you attended a physical or virtual event which is issued by the event organizer. Usually, attendants scan a QR code shown to the audience and claim an NFT. While this may be fun for collectors, there's so much more that could be done, would the POAP protocol be harder to game: Participants can claim multiple times for themselves or forward a picture of the qr code to their friends at home who can then claim the NFT as well. Therefore, as soon as POAs should be with something, the protocol will break.
Shortcomings of POAP:
With the primitives available in the Encointer protocol, POA could become much more secure and might even serve as a sybil-resilient proof of personhood under some assumptions. That PoP may be weaker and less decentralized than the one obtained in local Encointer communities regularly, but it can be adopted much faster and easier and it may serve reasonably well for many use cases. Under certain circumstances, the security of the suggested protocol might be sufficient to do quadratic voting. (See federated simultaneous POA events)
Starting with the Encointer protocol as-is: Let's pretend that each public Event is its own Encointer community with just one single cycle, asynchronous to the cycle for local communities. A bit like the Encointer Demo at Polkadot Decoded 2022, but much more convenient for the hosts and better UX for participants. We let attendees gather in small randomized groups and let them attest each others' personhood.
With Encointer's gatherings, we can turn an annoyance (waste time following a protocol to obtain a POA) into a feature: We introduce speed-dating in small groups that most likely wouldn't otherwise talk to each other. This actually increases the value of the event as it is a networking opportunity and could become the thing about an event that people keep in good memory.
eid
.If a global organization (or DAO) needs bounded sybil-resilience (i.e. Polkadot for quadratic voting), such an organization could host events all around the world on the same day, such that people can't attend two events. An do that every quarter or once per year
We may need to introduce some abstractions into the Encointer protocol, but the basics are all there already and are well-tested
Events are like communities
, but with the following differences:
cid
, but an eid
which share abstract propertiesregister_participant
will register everyone into the newbie category
assign_event_gatherings
(callable by host only) will assign all newbies and create as many locations as needed to host all registered participants. The assignment will not involve a geographical location, just an integer index, displayed prominently by the app (Please go to gathering 23). This may be an expensive extrinsic if the event hosts a lot of people (thousands)
As soon as assignments are done, This event goes into ATTESTING phase
ìssue_event_poap
(callable by host only) closes the ATTESTING phase, evaluates all attestations and issues a specified reward. The differences to the current protocol are
A note on compatibility: as there is no need for demurrage in the context of BeeDance, standard types can be used and there's no need for custom wallets. The client could be a web-Dapp or a standalone app or integrated in wallet apps
The security assumptions are similar Encointer's current PoP protocol. However, some aspects are weakened: It would be physically possible to attend two gatherings for the same cycle because gathering locations are very close by. Given some social engineering ("sorry, was on the toilet"…"my husband just called me"…), such an attack is feasible.
We still need to assume that >50% of participants are honest. But even if not, the amount of sybils that can be created is bounded. The upside is: we don't rely much on the Event Host to be honest - at least not nearly to the same degree as with POAP.xyz
We claim that the proposed protocol is able to provide reasonable sybil-resilience if applied correctly. In contrast to Encointer communities it is not a grassroots approach but a top down one: Some entity or group needs to coordinate concurrent global events and whitelist the events which are considered secure. Such whitelisting, however, can in principle be crowdsourced and decentralized. Thanks to mutual personhood attestation of attendees, this approach can be combined with other reputation systems to get reasonable trust that events are held according to the rules. Observers can be sent to other events undercover to report on their compliance or a lottery could select a subset of attendees to be hooked on a video call with an attendee in a different location to perform additional attestations (cross-witnessing). Event registration could involve staking based on the number of attendees. The stake would only be released once cross-witnessing reaches a threshold.
It has to be ensured that the later use of the obtained POA can be used in unlinkable fashion. Encointer has a solution for this - to be released soon™.
Using large federated pseudonym parties for digital personhood: Bryan Ford Identity and Personhood in Digital Democracy: Evaluating Inclusion, Equality, Security, and Privacy in Pseudonym Parties and Other Proofs of Personhood
Problem statement and rough idea input for globally synchronized large events specifically for Polkadot governance purposes: Gavin Wood