參考:
https://mp.weixin.qq.com/s/3pUC0uRwQAJJ-QC_FF-QTg
https://w3c.github.io/did-core
https://www.w3.org/TR/vc-data-model/#example-42-the-relationship-property-in-a-child-s-credential
初識
如果我們要用區塊鏈做DID(Decentralized Identity)的話,主要涉及到的三點:
- 去中心化: 用戶個人對自己身份的完全掌控,只有自己知道密碼,只有自己有權限修改、讀取身份資訊
- 互通: 注冊一次數字身份,可以在其他服務商的任意數字服務上登錄,
- 隱私保護: 用戶自己保管資料,從而能夠決定服務商能夠呼叫哪些資料.
個人認為目前我們鏈有能力提供DID相應的基礎服務:
- 去中心化: 鏈上賬戶的注冊與權限認證, 私鑰由用戶自己保管, 可用于登錄認證與授權
- 互通: 鏈的登錄驗證用節點(API節點)提供賬戶權限認證服務, 其它互聯網/數字服務商接入我們的認證SDK
- 隱私保護: 要出示的證明是由權威機構認證后產生的proof與簽名,服務商不會獲取到隱私資料本身,他們能verify你出示的證明
名詞解釋
-
DID方法: 這使實施者能夠設計特定型別的DID,以與他們信任的計算基礎架構(例如分布式賬本,分散式檔案系統,分布式資料庫,對等網路)一起使用,特定型別的DID的規范稱為DID方法,使用DID的應用程式或系統的實作者可以選擇支持最適合其特定用例的DID方法,(不一定非得使用區塊鏈)
-
可驗證的資料注冊表: 為了可決議為DID檔案,DID通常記錄在某種底層系統或網路上,無論使用哪種特定技術,任何支持記錄DID并回傳產生DID檔案所必需的資料的此類系統都稱為可驗證資料注冊表,示例包括分布式分類帳,分散式檔案系統,任何型別的資料庫,政府ID資料庫, 對等網路以及其他形式的可信資料存盤,
-
分散識別符號(DID): 全域唯一的永久識別符號,因為它是通過密碼生成和/或注冊的,因此不需要集中的注冊機構, DID的通用格式在DID Core規范中定義,在DID方法規范中定義了特定的DID方案,許多(但不是全部)DID方法使用分布式分類帳技術(DLT)或某種其他形式的分散網路,
-
分布式分類帳(DLT): 用于記錄事件的非集中式系統,這些系統為參與者建立了足夠的信心,使其可以依靠其他人記錄的資料來做出操作決策,他們通常使用分布式資料庫,其中不同的節點使用共識協議來確認密碼簽名的交易的順序,隨著時間的流逝,數字簽名交易的鏈接通常使總賬的歷史有效地不可變,(比如 區塊鏈)
-
DIDs: 是將DID主題 與DID檔案相關聯的URI,允許與該主題相關聯的可信互動,
-
DID檔案: 每個DID檔案都可以表示加密材料,驗證方法或服務端點,這提供了一組機制,使DID控制器能夠證明對DID的控制,
-
DID檔案: 一個DID檔案可能包含DID主題本身
-
DID主題: DID主題是資訊資源,如資料模型,
-
PII 應保密的個人身份資訊: 如果為所有可公開獲得所有DID和DID檔案的公共可驗證資料注冊表撰寫了DID方法規范,則DID檔案不包含任何個人資料至關重要,所有個人資料應在DID主題的控制下保存在服務端點之后,還應圍繞服務端點中URL的使用進行額外的盡職調查,以防止服務端點URL中意外的個人資料或相關性的泄漏,例如,包含用戶名的URL可能很危險地包含在DID檔案中,因為該用戶名可能具有人類意義,其方式可能會無意間泄露DID主題不同意共享的資訊,使用此隱私體系結構,可以使用由DID檔案中的公鑰描述標識和保護的通信通道,在私人,對等基礎上交換個人資料,這也使DID主體和請求方能夠實施GDPR(通用資料保護條例)權利,因為沒有個人資料寫入不可變的分布式分類帳中,
DID字串
一個DID是一個簡單的文本字串由三個部分組成:
- URI方案識別符號(did)
- DID方法的 識別符號
- DID方法特定的識別符號,
did:example:123456789abcdefghi
DID Document
{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:example:123456789abcdefghi",
"authentication": [{
"id": "did:example:123456789abcdefghi#keys-1",
"type": "Ed25519VerificationKey2018",
"controller": "did:example:123456789abcdefghi",
"publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
}],
"service": [{
"id":"did:example:123456789abcdefghi#vcs",
"type": "VerifiableCredentialService",
"serviceEndpoint": "https://example.com/vc/"
}]
}
可驗證憑證資料模型
該規范提供了一種標準的方法,可以以加密安全,尊重隱私和可機器驗證的方式在Web上表達憑據,
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-MqTVx2oz-1639613215336)(https://www.w3.org/TR/vc-data-model/diagrams/ecosystem.svg)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-9togjJWX-1639613215338)(https://www.w3.org/TR/vc-data-model/diagrams/credential-graph.svg)]
EXAMPLE 40: Usage of the nonTransferable property
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://www.w3.org/2018/credentials/examples/v1"
],
"id": "http://example.edu/credentials/3732",
"type": ["VerifiableCredential", "ProofOfAgeCredential"],
"issuer": "https://example.edu/issuers/14",
"issuanceDate": "2010-01-01T19:23:24Z",
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageOver": 21
},
"nonTransferable": "True",
"proof": { ..
"verificationMethod": "did:example:ebfeb1f712ebc6f1c276e12ec21",
... }
}
EXAMPLE 42: The relationship property in a child's credential
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://www.w3.org/2018/credentials/examples/v1"
],
"id": "http://example.edu/credentials/3732",
"type": ["VerifiableCredential", "AgeCredential", "RelationshipCredential"],
"issuer": "https://example.edu/issuers/14",
"issuanceDate": "2010-01-01T19:23:24Z",
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"ageUnder": 16,
"parent": {
"id": "did:example:ebfeb1c276e12ec211f712ebc6f",
"type": "Mother"
}
},
"proof": { ... }
}
注意
避免將同一驗證方法用于多種目的
-
往期精彩回顧:
- 區塊鏈知識系列
- 密碼學系列
- 零知識證明系列
- 共識系列
- 公鏈調研系列
- 位元幣系列
- 以太坊系列
- EOS系列
- Filecoin系列
- 聯盟鏈系列
- Fabric系列
- 智能合約系列
- Token系列
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/382954.html
標籤:區塊鏈
上一篇:NINANCE的使命與愿景 NINANCE的核心價值觀
下一篇:我可以在不重啟tomcat的情況下編輯和應用tomcat設定(conf/server.xml,context.xml)嗎?
