๐ชชzkKYC (GIP-1)
A KYC Guardian is an entity or service responsible for verifying the identity of users through government-issued documents (ids, passports, driving licenses, etc) and they work with a strictly defined set of personal data. The role of the KYC Guardian is to ensure the authenticity of the identity of the user.
Personal Details
The following table list the personal details contained in a Galactica zkKYC. These need to be collected and validated by the KYC Guardian.
Key | Description | Technical details |
---|---|---|
Surname | Surname as in passport/id | Latin letters only (UTF-8) |
Forename | Forename as in passport/id | Latin letters only (UTF-8) |
Middle Names | List of middle names as in passport/id | Can be empty, Latin letters only (UTF-8) |
Year of birth | Year in date of birth as on passport/id | Each formatted as uint16. We chose this format instead of a Unix timestamp because
|
Month of birth | Month in date of birth as on passport/id | uint8 from 1 for January to 12 for December |
Day of month of birth | Day in date of birth as on passport/id | uint8 in the range 1 to 31. |
Country of citizenship | Issuer country of passport/id | Formatted as Alpha-3 code from https://www.iban.com/country-codes |
Verification Level | Confidence the provider puts into the KYC. Similar to KYC levels on exchanges. | 0 - no kyc 1 - kyc 2 - qualified investor |
Expiration date | Expiration date of the passport/id used. Checked in ZK validation. | Formatted as Unix Timestamp uint |
Street + Number | Residential address | UTF-8 string |
Postcode | Residential address | UTF-8 string |
Town | Residential address | UTF-8 string |
Region | Residential address | Formatted as ISO 3166-2 code from https://www.iso.org/obp/ui/#search/code/ |
Country | Residential address | Formatted as Alpha-3 code from https://www.iban.com/country-codes |
Passport ID | Passport ID for generating HumanID (also supports national ID number and driver's license number) | UTF-8 string |
Passport ID for Human ID
Galactica features the concept of the DApp specific HumanID. It assigns each human a unique ID in the context of a DApp. For example, it can be used for human centric DAO voting and reputation. The HumanID is derived in a zero-knowledge proof from personal fields in the zkKYC (name, birthday, passport ID) to get as close as possible to a unique ID.
This means that users need to provide and prove their passport ID to Guardians. Other identity documents must not be used for the passport ID field. This restriction prevents users from obtaining multiple different HumanIDs by just using different identity documents at different Guardians.
Last updated