A person is applying for a course with say a university or position with an
organisation that requires the learner has verifiable existing skills.
The person provides their SDI e.g. 9cbdb0a2-45e7-4be3-83d8-c8d0723aea87,
and their email address e.g. jane@email.com.
selfdriven has issued a SDV token for the SDI which includes the
email
attribute that was verified as controlled by the person at the time of issuing -
On-Chain Example
Once the organisation has verified the person still has control of the email address
- by say sending them a unique code and asking for them communicate it back to them
- they then hash the SDI & email adddress and check that it matches the hash in the
SDV token as per below.
Checking the SDV Token Identifier Attribute
Check the SDV metadata for the version
Version type of privacy protection is open, but common options are:
sdvk = SDVk; the verfication key
(password) that goes with the SDV verification token and issued to community
member when they get
their public on-chain SDI. They can then share it with anyone wanting to verify
them.
Then using the matching algorithm version; hash or encrypt:
eg
- sha256; [SDI]-[Attribute]-[Value]
- sha256-sdvk; [SDI]-[Attribute]-[Value]-[SDVk]
- aes256; [SDI]-[Attribute]-[Value]
eg for sha256-sdvk:
9cbdb0a2-45e7-4be3-83d8-c8d0723aea87-11942f7e-b6f4-4375-920e-fbe1991951da-9cbdb0a2-45e7-4be3-83d8-c8d0723aea87-email-john@email.com
Which hashes as:
4bd1c5d26d688b0383b0db8fc33cd08209525c7feb3d84f28b7f372310bd7fcf
Then verify that this value equals the one in the SDV token
metadata.
And this either proving or disproving that the claim by the person that the SDI
is theirs.
SDV Identified Attributes Structure
Version
Can be any algorithm, but typically, including our mixed "sdvk"
hashing:
"sha256", "sha512", "sha256-sdvk", "sha512-sdvk", "aes256", "pem"
Category
eg 'environment', 'social-interaction'
Type
"virtual", "physical"
Context
Can be as required, but typically:
"uri", "communication", "geolocation",
"service", "cardano", "avatar", "website", "did", "ipfs"
Attibutes
Can be as required, but typically:
"email", "usi", "mobile", "address",
"transaction", "uxto", "url", "name", "w3c", "public-key-rsa-spki", "hash"
Example Binding to IAMX DID
Bind a IAMX DID based on "Communications" context (Socials/Email) and/or "Who Am
I" (KYC)
Entity creates DID using
nftidentity.iamx.id, which is currently stored as DID
document on IPFS.
IPFS Hash is submitted to selfdriven via app.slfdrvn.io and based on a matching
email a SDV token is created with:
- Category: "understand-of-self"
- Type: "virtual"
- Context: "ipfs"
- Attribute: "hash"
- Value: {{IPFS Hash of the IAMX DID document}}