# Let's make it easier to register by using registration phrases instead of signs! ## The problem with signs A lot of challenges these days are due to mistakes people make in their signs. For example, of the 13 registrations that are challenged while I'm writing this, a whole 10 of them (77%) are about problems with signs: - https://app.proofofhumanity.id/profile/0xc19c81a04055c1e398f52e7cc28b4c39d3b0e2c9 - https://app.proofofhumanity.id/profile/0xe98829b18767db78434cde5c0367225444e32b85 - https://app.proofofhumanity.id/profile/0x0589a39ae8b8b5f09d1e19af08b2190009d4a294 - https://app.proofofhumanity.id/profile/0xe385fa81138e777a7ce46e44c4f0aa10ad78e2dd - https://app.proofofhumanity.id/profile/0x8377548a05081ab027ee3b5bff208bd3c40a40fa - https://app.proofofhumanity.id/profile/0xe11d5a0e63af66befc7c0b228c122323a600efff - https://app.proofofhumanity.id/profile/0x9e1fe3cbdcfd651059da35b781c73083563a1bfc - https://app.proofofhumanity.id/profile/0x9655667ca1203e9a2c8ea2ed59558f9ad0accc87 - https://app.proofofhumanity.id/profile/0x4e4ceb7c150f54e5d64a241c54a285ad2cd418e9 - https://app.proofofhumanity.id/profile/0x75b885adb09823bfb1ef8227f5943801ea9853c2 It's really painful to see people (who don't always have a lot of money) lose their expensive deposit due to such mistakes. Signs also make even successful registration take longer, be more of a pain, etc. Not everyone has a printer or a second screen, and handwriting out hex addresses is annoying. It's also difficult to juggle your camera and sign while keeping your face and everything in frame. Proof of Humanity should be inclusive, fast, and easy. We can do better! ## Let's use registration phrases instead We can automatically use the person's ethereum address to deterministically generate a phrase of 12 words that the person taking the video must say aloud as part of their registration [1]. For example, the person with address `0xc19c81a04055c1e398f52e7cc28b4c39d3b0e2c9` would be instructed to say the following: "I certify that I am a real human and that I am not already registered in this registry. My registration phrase is: velvet orbit once crater confirm shrug summer dial film labor shop wrong." The submitter is already reading a script on video, so it's pretty easy for them to just read a slightly longer script. Advantages: - Removes need to create a sign - Removes need to have complicated instructions like "The sign should display in a readable manner the full Ethereum address of the submitter (No ENS; no ellipsis). The sign can be a screen. The submitter must show the sign in the right orientation to be read on the video." - Removes concerns over whether video is recorded in mirror image. NOTE: this opens the pathway to allowing people to use their webcam to record the video (some webcams record in mirror image) - A side benefit: we end up with a longer unique voice sample from the registrant. Down the line, when we have tons of registrants, this could be useful for distinguishing between multiple registrants who look similar to one another. When checking a registration, potential challengers/jurors will be able to see the registration phrase on the profile page so they can easily check to make sure it's the same as was said in the video. We may want to include a little leniency, for example making it acceptable to accidentally skip 1-2 words or to swap the order of a couple of words. (We might want to move up to 15 word phrases so we can afford to include this leniency.) ## Next steps Does this sound good? Please offer feedback! The next step would be to write up a HIP draft. If we end up wanting to move to registration phrases, we could have a transition phase where the rules accept *either* a sign *or a registration phrase, and then past a certain date move to exclusively requiring registration phrases. NOTE: After this change, it might be nice to include support for recording the video in Spanish (including the registration phrase). In practice, it seems that Spanish and English are used most commonly in our community for the time being, so we could add Spanish and worry about spreading to other languages later. [1] For example, we could use BIP39 (e.g. https://iancoleman.io/bip39/) with the hex value of the ethereum address (everything in hex after 0x) as seed entropy.