我們所有人都有許多獨特的標識符/或憑據來識別自己,例如電子郵件地址、社交媒體賬戶、不同網站的用戶名和密碼、駕駛執照ID、護照ID 等等。但在現實中,我們無法控制這些標識符以及它們被共享的方式。

這些標識符通常由第三方公司存儲在可能被黑客攻擊的中心化服務器中,且其存在與存儲它的組織密切相關。如果某組織禁止你使用它的服務或該組織不復存在,你的標識符也將被禁止。 Donald Trump(唐納德· 特朗普)被踢出Twitter 的方式就是一個好的例子,一夜之間Trump 失去了他所有的粉絲和公眾身份。

一種新型數字身份:自我主權身份(SSI),已然現世,用以克服上述情況;允許用戶完全控制自己的標識符如何生成、存儲在哪裡,以及如何分享它們。

自我主權身份(SSI)在過去幾年裡得到了更有力的推動,這也促進了標準的製定以及實施標準的構建模塊的發展。

自我主權身份(SSI)的一個基本構件是去中心化標識符(DIDs:Decentralized Identifiers )。這種獨特的標識符(URI:Unique Identifiers )允許實體能夠在數字世界中生成和控制他們的標識符。

DIDs 具有如下特性:

  • 無需中心化的註冊機構

  • 許多DIDs 使用分佈式賬本技術或任何其他去中心化的網絡,儘管這不是被強制要求的

  • 具有永久性,因為它的存儲不依賴於單一的第三方或中心化的註冊機構

  • 可以通過密碼學驗證

  • 它們將DID 主體(由DID 識別的實體)與DID 文檔(描述DID 主體的一組數據)連接起來,使主體之間能夠進行可信的互動。

  • 只要符合W3C 制定的現有標準,它們就是可互操作和可移植的。

如下即是一個DID :

  • 第一部分,' did ',是一個URI,用於識別交易與去中心化標識符有關。不管是實現什麼,這個URI 不會改變。

  • 第二部分,' example ' 是DID 方法(DID method)。這個值代表協議,該協議用於決定用戶在哪里或如何找到DID 。目前大約有100 種方法,後續可能會增多。這些方法大多圍繞著創建、讀取、更新和刪除,但每種操作的實現會因方法的不同而不同。

  • 第三部分,一串長的字母數字值即是DID 的解析,可理解為將一個DID 解析到一個DID 文檔的算法或數值,這類似於我們今天使用的DNS 地址。

DID 的一個關鍵構件是DID 方法。

什麼是DID 方法?

簡言之,DID 方法是幫助一個DID 解析一個DID 文檔的組件。它定義了DID 文檔如何在網絡上創建、讀取、更新和刪除。

DID 方法通常與可驗證數據登記系統相關聯,後者是一個將DIDs、DID 文檔和DID 方法彙集在一起的系統。可驗證數據登記系統的例子包括:可信數據庫、去中心化數據庫、分佈式賬本和政府ID 數據庫等。在同一個生態系統中可以使用多種類型的登記。

在實現方面,一個DID 方法是由其規範定義的,它精確地定義了DIDs 和DID 文檔是如何創建、更新、失效和解析的。

讓我們通過一個例子來理解這一點:

DID: ELEM: jadjfa;j948madnfaupwmfm

此處

  • DID 是架構

  • ELEM 是可驗證數據登記。此處,ELEM 表示在以太坊網絡上實現sidetree 協議

  • Jadjfa;j948madnfaupwmfm 是特定方法的標識符,是分佈式賬本上的公鑰。

DIDs 是如何工作的?

就像任何其他URI 一樣,DIDs 是一個唯一的標識符,將一個DID 主體與一個DID 文檔聯繫起來。


DID 主體可以是個人、實體、事物等。 DID 文檔是JSON-LD 格式,包含一組描述DID 主體的數據,其中包括密碼學簽名、驗證方法,或任何能夠使DID 主體與網絡上其他實體進行可信互動的東西。

從本質上講,DID 包含一個唯一的標識符,用於查詢與DID 主體有關的DID 文檔。它被存儲在一個或多個分散的存儲系統中,如IPFS 或STORJ 。

所以DID 解析了DID 文檔,而DID 文檔又描述了DID 主體。在這個循環中,DID 主體控制著DID,並決定如何以及與誰分享它。從這個意義上,DID 主體是DID 管理員( DID controller ) ,但DID 管理員和DID 主體並不總是同一個實體。

關鍵的區別在於,DID 管理員有權改變DID 文檔,而且這種權利是通過使用加密鑰匙才能實現的,也正因如此,同一個DID 文件可以有一個以上的DID 管理員。

由此可知,當一個DID 主體決定創建一個DID 與他人共享時,會連接到一個DID 文件,該文件可能包含:

  • DID 本身

  • 它被創建時的時間戳

  • 與其委託和授權有關的元數據

  • 其有效性的加密證明,包括用於驗證DID 主體的公鑰

  • 可以使用該DID 的服務列表

  • 一個JSON-LD 簽名,以驗證DID 文檔的完整性

請注意,DID 文檔不包含關於主體的個人信息,這些信息會通過可驗證憑證(VC:Verifiable Credentia)實現。你可以把DID 想像成去中心化基礎設施的基礎層,而包含主體個人身份信息的可驗證憑證則是更高得一層。

DID 與DNS 的區別
現在,讓我們回到DID,把它分解一下。下面展示了一個DID 文檔得樣子:

如上所示,DID 文檔裡包含驗證DID 管理者所需的加密信息。這裡有幾個關鍵元素:

  • Context —— 表示這是一個JSON-LD 文檔

  • Id —— 指向DID 文檔中的DID

  • Authentication —— 一個可選的屬性,代表一個或多個驗證方法

  • Service —— 也是可選的,描述了與DID 主體的通信方式

我們希望以上信息能幫助你了解什麼是DIDs,以及為什麼你需要它們來進行相關的實現。對於任何對去中心化身份管理的實現感興趣的人它都可以派上用場,可以解決我們面臨的許多緊迫問題,特別是在數字身份領域。

我們將在後續得文章中展示一些真實世界的使用案例。

END

zCloak Network 是基於波卡生態的隱私計算服務平台,使用zk-STARK 虛擬機為通用計算進行零知識證明的生成與驗證。基於獨創的自主權數據自證明計算技術,可以讓用戶在無需對外發送數據的情況下,實現對數據的分析和計算。通過波卡跨鏈消息傳遞機制,可以為波卡生態內的其它平行鏈以及其它公鏈提供數據隱私保護支持。項目會採用“零知識證明即服務”的商業模式,打造一站式的多鏈隱私計算基礎設施。
原文出自Affinidi ,原文鏈接https://academy.affinidi.com/demystifying-decentralized-identifiers-dids-2dc6fc3148fd
轉載請註明原文與本文出處及翻譯團隊zCloak Network