Format UID Protocol
The UID Protocol in IDCHAIN is based on a standard data format designed to ensure interoperability, security, and efficiency. This format includes the UID (Universal Identifier), UID Document Schema, and Verifiable Credential (VC), which together form the foundation of the digital identity ecosystem.
UID Format (DID)
The UID (Universal Identifier) is a unique identifier managed according to the W3C Decentralized Identifier (DID) standard. The UID serves as a "digital identity" for individuals, organizations, or other entities within the IDCHAIN system.
The UID format (DID) used in the IDCHAIN system is as follows:
{
document: {
uri: 'did:uid: 4pqtbNkWCi73kThaxZxTsm3KFaFkcDa3PSVNYpKeh19SowwL',
authentication: [[Object]],
assertionMethod: [[Object]],
capabilityDelegation: [[Object]],
keyAgreement: [[Object]]
},
web3Name: "johndoe"
}
Component Explanation:
- uri
- A unique identifier based on DID that points to the user's digital identity.
- Example:
did:uid:4pqtbNkWCi73kThaxZxTsm3KFaFkcDa3PSVNYpKeh19SowwL.
- authentication
- The authentication method used to prove ownership of the UID.
- assertionMethod
- A method for validating claims or attributes associated with the UID.
- capabilityDelegation
- The ability to delegate rights or authority to another entity.
- keyAgreement
- Information about the cryptographic keys used for data encryption.
- web3Name
- A web3-based username that is easier to remember compared to the UID URI.
UID Document Schema Format
The UID Document Schema is a metadata structure defined to store additional information relevant to the UID. This document serves as a "digital passport" that holds important information related to the UID in a standard JSON-LD format.
{
"uidDocument": {
"$schema": "https://dummyjson.com/c/e5e3-ed54-49e2-93e4",
"properties": {
"channel_id": {
"type": "string"
},
"document_token": {
"type": "string"
},
"info": {
"type": "string"
},
"message": {
"type": "string"
},
"reference_number": {
"type": "string"
},
"signing_url": {
"type": "string"
},
"status": {
"type": "string"
}
},
"title": "PSrE Schema",
"type": "object",
"$id": "uid:document:0x439663891c78498ccd……………..bc231ea30"
},
"creator": "did:uid:4rpNbVf8ei……………..3sfU2jC",
"createdAt": "0x0000000000000017"
}
Component Explanation:
-
uidDocument: The main object that contains the metadata of the UID document.
- $schema: A URL that refers to the JSON schema definition.
- properties: A list of metadata properties such as channel_id, document_token, and others.
- $id: A unique identifier for the UID Document.
- title: The title or name identifier of the UID Document Schema.
-
creator: The DID of the entity that created the UID
- createdAt: The timestamp of when the UID Document was created.
Verifiable Credential Format
Verifiable Credential (VC) is used to provide verifiable proof related to the UID. The VC format in the IDCHAIN system is as follows:
{
"uid_vc": "uid:vc:0x0a8fd…………daee",
"uid_document": "uid:document:0x4396…………ea30",
"uid_controller": "did:uid:4rp…………2jC",
"doc_type": "PSrE Schema",
"uid_subject": "did:uid:4pq…………owwL",
"proof": {
"reference_number": "QATESTDS150323009",
"channel_id": "001",
"document_token": "8a9468bd367fb92747bcdef808a0f59",
"status": "Uploaded",
"message": "Success",
"signing_url": "https://dev.dcid.io/1c32",
"info": "IQUSDFVBLQEDFOQIWDHGQBSDJKDNDKDMKSISHJFHGMDKDHJFNHMN"
},
"vc_status": "active",
"vc_metadata": {
"proofNonceMap": {
"0xe33aebfaf1a2ecd4665992cdf0b50875bbca4940ba5d21cf87ca8b06dd6772fa": "9edaf7b3-de80-4093-887c-8533e0656d84",
"0xab807b9ab614ef3e670004ee744c99deeba02eeffceff3662b7af87d0e411551": "621ac566-fe05-41f8-a5bf-2023f8a44405",
"0xcf4ff9b531eb021e5cded13d214ea814ddfd7b217f11f1a7a374348156059d17": "700bbd36-1c7e-40eb-9204-fd0561114ebc",
"0xb0614d174781b5e592745145baff9cec3dfd7f6b442e7b91111761a0df2b0d4e": "b81978bd-70b3-462b-9aeb-c5c2cd45a3b3",
"0x64e223274a852e0800eb21a57f0c6f3009e7803eaeef84a3ef070117d351132b": "bc61ffbb-f77d-4e70-ad42-58c7a642a01d",
"0x4dab2c6f098dc8add1b6b3eb1fc4296195e29a03f999fdb2b9d35648e8827202": "b505e2f0-bad9-4989-9923-69a9a827defd",
"0x7578eacf8710c4bbf7e51784517b86962c2f81e3a17fb58723bf069f0e45f37e": "cb245fd7-6bff-4954-b651-e4bea99654dd",
"0x3c653f14824d9275add3a9d7f62406a55ad3893ffc5fe607f6a437825d5e70cb": "e87a4495-2694-49d7-bb4e-a58f578c01b5"
},
"proofHashes": [
"0x219fd19c41b024a75b4aff5d7c30e27fd7a40ac3d624db2910ea2b394ef20585",
"0x27698920542a7c131ad1eb8bc72129b1ebd3f5387d1c3a1c0e8861f45802a6f4",
"0x2fcdfa0ee2e373b7c5688324986ea4cec398af7566cf80ba6a655c7b1efd05d1",
"0x4038b17eed9c632dbdbf8869d597e78f04f336e62f8e838af1153d4d79b7cfbb",
"0x45d11ca8972bd1f1c9b3db5536ce1a90b155896cb8d0bd62dc8e9a99fa972819",
"0xd4da1e746359c62f9c740a94b9edd2778c953c8f6b185c4db94d27ee904c02fc",
"0xd6243e164d70c698036a84ddbeb04d47a6a3085c184d16390311463430cc452f",
"0xf731f4a93b45729a03e13cfce9185c46c482232b5265f1bccc5de1a9cb689cc3"
]
}
}
Component Explanation:
- uid_vc: Unique identifier for the VC.
- uid_document: Reference to the associated UID Document.
- uid_controller: DID of the entity that controls the UID.
- doc_type: Type of document, such as "PSrE Schema."
- uid_subject: DID of the entity that is the subject of the UID.
- proof: Metadata related to the validation of the VC, such as reference number and status.
- vc_status: Status of the VC (e.g., "active").
- vc_metadata: Additional information to verify the legitimacy of the VC.
- proofHashes: A set of unique hashes obtained from the proof data.
- proofNonceMap: A collection of random values used to enhance the security and authenticity of the data, making it difficult for others to alter.
Use of Format
Each format has a specific role in the IDCHAIN ecosystem:
- UID (DID): Serves as a unique identifier for identity.
- UID Document Schema: Used to store additional metadata relevant to the UID.
- Verifiable Credential: Provides verifiable proof about the UID or related information.
By utilizing these formats, IDCHAIN can create a secure, decentralized, and flexible ecosystem to support various digital identity applications.