Crates.io | confidential_identity_v2 |
lib.rs | confidential_identity_v2 |
version | 2.1.2 |
source | src |
created_at | 2022-06-17 13:00:00.5842 |
updated_at | 2023-04-25 12:51:16.745203 |
description | Confidential Identity Library |
homepage | |
repository | https://github.com/PolymeshAssociation/cryptography |
max_upload_size | |
id | 607968 |
size | 40,662 |
This library implements the Confidential Identity Library protocol, as described here. The cryptographic building blocks are described here.
Refer to the README.md file in the root of the repository for build instructions.
The library provides the following APIs.
CDD Claims and Scope Claims are types of claims that can be attached to an investor's identity on the PolyMesh. CDD claims are registered by a trusted CDD provider using cdd-register-did API, and Scope claims are created and added to the chain by the investor using add_claim API.
CDD claims are generated by a PolyMesh trusted CDD provider during the CDD process (see
cdd-register-did), and privately link an investor's unique id (investor_unique_id
, which
is kept secret between the investor and CDD provider) to their on-chain identity (investor_did
, the serialized
IdentityId of the investor). In order to achieve this, the CDD provider has to generate a CDD Id,
include it in their claim, and submit it to the PolyMesh chain.
Note that every time an investor requests a new identity from a CDD provider, the same unique identity (which is
obtained from the Polymath Unique Identity System (PUIS)) must be used to create the CDD claim, even though the
investor's DID will be different. A CDD claim has the following format.
{
"investor_did":[32_bytes_array],
"investor_unique_id":[16_bytes_array]
}
Scope Claims are generated by the investors and reference a specific scope (e.g. asset); see add_claim.
The investor must generate this claim for each identity that they wish to use to invest in a particular asset
(i.e. scope). Currently scope_did
is set to be the asset's ticker name (a 12 bytes string, e.g. AAPL
).
The Scope Claim has the following format.
{
"scope_did":[12_bytes_array],
"investor_unique_id":[16_bytes_array]
}