Identity Registrar enables every account holder to prove any arbitrary statements on-chain without the need for any single, centralized authority to verify those claims. Whether the user goal is to publicly state and prove ownership of a specific website, social media handle, moniker, share node identifier, public IP address or any other data, the Identity Registrar is the medium that enables to record and prove such statements. The proof of the claims can either be a self evident signature or, more interestingly, a social consensus in the form of one or many other KIRA accounts that can easily claim to have verified statements of other accounts thus creating a convincing social proof.
At times, user may not want to reveal certain information to third parties in order to support their on-chain statements. However, if user wants to achieve trust within their social circle they can rely on other trusted KIRA account holders to validate their claims, making it more convincing without having to rely on and trust in honesty of any centralized authority. For example, a Validator or another publicly known and respected actor can support the claim that specific account is also a trusted party without need for that account to reveal its private information to centralized entities that could maliciously use or otherwise expose that data in the future.
Identity Registrar is a simple, public key-value pair dictionary where users can name their own entries e.g. “website” and associate it with any arbitrary value e.g. “example.com”. Every existing KIRA account can create an uncapped number of those records and every record can be individually verified by any other KIRA account. If a verified record is edited then all related verifications of that claim become invalid.
Record Verification Flow
Create on-chain transaction containing desired key and value
Request from a publicly trusted KIRA account verification of said key-value pair and include tip
After successful verification record will remain verified unless any changes are made to the verified key
If any changes were made during or after identity record verification process then the record will no longer be verified
Verification requests must include a tip in the amount not less than twice the amount of transaction cost of the approval/rejection transaction. This type of payment mechanism is used to incentivize other accounts to verify identity records. Tips are paid regardless whether records are rejected or approved thus ensuring that the approver is honest and trusted and not motivated only by the financial incentive. At any point of time the governance of the network will have the ability to distrust any account through a proposal process, making it possible to mark accounts as potentially malicious and reference the evidence.
Frontend Applications
To make interactions with the KIRA network more friendly multiple predefined keys can be used in order to store various user related information that can be interpreted by various wallets, explorers and visualizers. For example instead of sending assets to a kira address it is possible to send assets by simply providing a username. This is possible because governance can enforce certain key-value pairs to remain globally unique by modifying UniqueIdentityKeys network property. By default moniker and username must remain globally unique.
Reserved Validator Keys
Validator you can create one or several of the following keys in the Identity Registrar in order to make your nodes more recognizable and trusted by the public.
Reserved User Keys
If you are a KIRA user you can create one or several of the following keys in the Identity Registrar in order to make your account easier to identify and recognize by other users.
NOTE: You can create any custom key in the Identity Registrar, however, the above key names are reserved and will impact how your node or account is visible in explorers, network visualizers, wallets, and other frontend applications. Note that keys such as username and moniker must be unique.
Interacting with Identity Registrar
Let’s now have a look at CLI commands that can be used to interact with the Identity Registrar. The simplest way to begin is to start your KIRA Manager, inspect your validator container and execute any of the following commands:
Creating new entries or editing existing records:
# KM
# e.g.: upsertIdentityRecord <account> <key> <value>
upsertIdentityRecord validator "moniker" "My New Friendly Node Name"
Plain Text
Viewing one or all records
# KM
# showIdentityRecord <account/address>
# showIdentityRecord <account/address> <key/id>
showIdentityRecord validator
showIdentityRecord kiraXXX…XXX
showIdentityRecord validator moniker
showIdentityRecord kiraXXX…XXX 15
Plain Text
Requesting record verification by another account
# KM
# verifyIdentityRecord <account> <verifier-address> <comma-separated-keys/ids> <tip>
verifyIdentityRecord validator kiraXXX…XXX "moniker,social" "200ukex"
verifyIdentityRecord validator kiraXXX…XXX "1,3,5,7,11" "250ukex"
Plain Text
Viewing one or all pending verification requests
# KM
# showIdentityVerificationRequests <account>
# showIdentityVerificationRequests <account> <requester-address>
showIdentityVerificationRequests validator
showIdentityVerificationRequests validator kiraXXX…XXX
Plain Text
Approving or rejecting identity verification requests
# KM
# approveIdentityVerificationRequest <account> <requestest-id>
# rejectIdentityVerificationRequest <account> <requestest-id>
approveIdentityVerificationRequest validator 10
rejectIdentityVerificationRequest validator 13
Plain Text