๐ชชzkKYC (GIP-1)
Last updated
Last updated
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.
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 |
---|---|---|
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. To prevent guessing the HumanID, it contains a salt. The hash of this salt is the Holder Commitment. It is registered on-chain in the to limit a user to one salt.
See for more 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
There would be multiple timestamps for a single day (problem for uniqueness of DApp specific HumanID)
Easier to calculate age (no need to consider leap years and DST)
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