1. Objective
The objective of this R&D motion proposal is to improve the initial people parties implementation that is currently being worked on and to be released shortly. Those improvements have the goal to, among other things, strengthen the personhood validation process, improve the decentralization of the implementation, extend the validation strategy based on validated participants from earlier rounds, and design a more scalable system.
2. Background
People parties are a proof of personhood (also referred to as proof of humanity) built on and for the Internet Computer. Each people party takes place at one specific point in time. Prior to that time, each prospective participant commits to a location that they will visit for the time of the party. At the beginning of the party, participants are assigned to small, random subgroups, and meet in a real-time audio / video call with other participants assigned to the same group. The video call, however, does not show the participants’ faces; instead, participants show their surroundings, proving that they are at the place they committed to. As locations chosen by different participants must have a certain minimum distance, and no participant can be physically present at two locations simultaneously, the proof of personhood even guarantees the uniqueness of the validated persons.
3. Why this is important
The main purpose of people parties is democratization. Each validated participant can designate a neuron in the network nervous system that receives increased voting power; this improves the relative voting power of the “many” vs. the “heavy”. It also provides additional voting rewards to all validated participants, which further motivates people to participate in the parties. The validated personhood also benefits the Internet Computer ecosystem more broadly: Open Internet Systems, which are dapps that are controlled by a decentralized governance system, will be able to benefit from the improved decentralization similarly to the Internet Computer itself. And any dapp will be able to use the validation information in order to, e.g., differentiate between bots and actual human users.
4. Topics under this project
- Improve the proof of personhood to be more inclusive, rely less on centralized components, and gradually increase hardness for keeping bots out.
- New verification strategy that uses information from prior rounds and, e.g., assigns more trust to already (and frequently) validated persons.
- Design scalable implementation by using multiple canisters running on different subnets of the Internet Computer to orchestrate the parties.
5. Key milestones (and technical solution if known)
It is currently too early to already provide the concrete milestones for the future R&D initiative. What can be said already now is that we will work on the improvement in an agile way with the goal of providing value through incremental releases of the functionalities we intend to research and implement. It is likely that we will have multiple milestones for each major functionality, following our usual R&D process.
6. Discussion leads
Björn Tackmann (@bjoern ), Timo Hanke (@timo ), Dieter Sommer (@dieter.sommer)
7. Why the DFINITY Foundation should make this a long-running R&D project
There will be an incentive by attackers to make attempts of building bot systems that would succeed in the personhood proofs and benefit from this. Thus, we expect that validation mechanisms need to continuously improve in order to keep thwarting attacks. This will require a longer-running involvement of the Foundation in terms of research and development efforts in stronger personhood validation mechanisms. Also, new mechanisms will need to be tried out with the community for their practicability and usability.
In addition to the above mentioned challenges, already the basic agenda in this motion proposal will require a substantial amount of R&D activities, which further motivates that this be a long-running R&D motion proposal.
8. Skills and Expertise necessary to accomplish this (maybe teams?)
This R&D initiative requires teams with a broad set of skills including the following:
- Personhood validation
- Thinking like an attacker, anticipating likely next steps by attackers, assessing what attackers may be capable of based on existing and upcoming technology
- Secure system design
- Internet Computer scalability
- Formal security modeling
- Security proofs
- Reliable and resilient browser-based real-time peer-to-peer audio / video conferencing
- Asynchronous systems and communication protocols
9. Open Research questions
- Strengthened mechanisms for proving personhood
- New verification strategies based on verified participants in previous rounds
- Scalability of the canister-based backend to parties of massive size, e.g., by running canisters on multiple subnets
- More strongly decentralized architecture for people parties, avoiding centralized components that may be a single point of failure
10. Examples where community can integrate into project
- Design reviews
- Code reviews
- Ideas / research on strengthened mechanisms for proving personhood
- Code contributions
- Helping test the implementations: This is hard to do for the Foundation alone as larger tests before a GA may require party dry-runs with more people than the Foundation has employees. This is a point where support by the community may be crucial for moving forward.
11. What we are asking the community
- Review comments, ask questions, give feedback
- Vote accept or reject on NNS Motion