
說明:目前DID(去中心化身份)筆者知道有兩種,一種是W3C支持的(也是今天本文的重點介紹) ,另一種就是區(qū)塊鏈里把各種區(qū)塊鏈地址(比如以太坊地址)當(dāng)作去中心身份登陸各種區(qū)塊鏈的里去中心應(yīng)用(類似區(qū)塊鏈應(yīng)用較常見,比如defi、nft平臺、去中心社交平臺等,但W3C實際上是兼容區(qū)塊鏈地址did身份的,W3C有較強的自定義和可擴展性,并且已有很多企業(yè)已經(jīng)支持W3C了,看起來更具有發(fā)展前景)
下面這則新聞標(biāo)志著DID作為W3C的正式標(biāo)準:
2022年7月19日,W3C?去中心化標(biāo)識符工作組?發(fā)布?Decentralized Identifiers (DIDs) v1.0?正式推薦標(biāo)準。
W3C組織是對網(wǎng)絡(luò)標(biāo)準制定的一個非盈利組織,W3C是World Wide Web Consortium(?萬維網(wǎng)聯(lián)盟?)的縮寫,像、HTML、XHTML、CSS、XML的標(biāo)準就是由W3C來定制。
DID是什么
did 是W3C(Decentralized Identifier Working Group) 發(fā)布的去中心化標(biāo)識協(xié)議,旨在標(biāo)示任何主體身份(如個人、組織、抽象實體、虛擬實體等)
目前主流互聯(lián)網(wǎng)身份,各平臺自己定義(比如A網(wǎng)站用12345表示用戶id,但其他網(wǎng)站12345可能表示一本書或者一件衣服),數(shù)字相同但它們其實毫無關(guān)聯(lián),一個用戶可能需要記錄多個網(wǎng)站的身份信息,也易導(dǎo)致各種問題,各平臺身份不互通(現(xiàn)在大平臺賬戶也有授權(quán)登陸各種不同網(wǎng)站的),身份數(shù)據(jù)信息都掌握在各應(yīng)用手中.一旦網(wǎng)站關(guān)閉,身份信息即消失
未來did身份與平臺無關(guān),一個身did身份登陸多個不同平臺,即使某個平臺關(guān)閉,不影響該did登陸其他平臺(前提是該平臺支持did),類似現(xiàn)在手機號可以攜號轉(zhuǎn)網(wǎng)一樣,手機號并不屬于移動網(wǎng)絡(luò)平臺,是單獨存在的
DID優(yōu)勢
無中心發(fā)行機構(gòu),具有去中心化特點
身份自主可控:基于DPKI (分布式公鑰基礎(chǔ)設(shè)施),每個用戶的身份不是由可信第三方控制,而是由其所有者控制,個人能自主管理自己的身份。
可信的數(shù)據(jù)交換:身份相關(guān)數(shù)據(jù)錨定在區(qū)塊鏈上,認證的過程不需要依賴于提供身份的應(yīng)用方
DID主要組成部分
DID標(biāo)識符(Decentralized Identifier)

上圖就是DID標(biāo)示符特定格式的字符串,三部分組成,代表一個數(shù)字身份人、機、物、虛擬人或物
did 固定的格式,表示這是字符串為did標(biāo)識符
did method 自定義身份所有在域,定義了這個did用什么方法進行定義和操作的
123***ghi 在did method方法下的唯一標(biāo)識符,比如標(biāo)示在以太坊地址的did系統(tǒng)可能如下:did:ethr:0xc530503a148babcaca68565cfa576d6f43427a2d,第三部分可以看出就是個以太坊地址
DID文檔(DID Document)

@context字段指明了該文檔的版本;
id字段指明了該文檔關(guān)聯(lián)到的did;?
authentication身份驗證 指明了驗證did身份方式,主要是publickey實現(xiàn)。
did文檔可以如上圖的JSON格式或者JSON-LD、YAML、XML等其他格式。一般把did標(biāo)識符為key,did文檔為value存儲在區(qū)塊鏈上,或者至少哈希上鏈。保證共享數(shù)據(jù)訪問、快速驗證的功能.
可驗證聲明(Verifiable Credential)

簡稱VC,指一個did給另外一個did做背書,并給出自己的數(shù)字簽名,證明該did具有某種屬性
頒發(fā)者Issuer就是證書的頒發(fā)機構(gòu),比如身份證就是公安機關(guān)作為頒發(fā)者,畢業(yè)證書就是大學(xué)作為頒發(fā)者。
持有者Holder就是證書的持有人,任何人、機、物都可。
驗證者Verifier就是在我們使用證書時查看我們證書的人或者機構(gòu)。比如我們?nèi)胱【频?,前臺要驗證我們的身份證,那么酒店前臺就是驗證者;再比如我們?nèi)肼毿鹿緯r需要提供大學(xué)畢業(yè)證書,新公司HR就是驗證者。
DID注冊系統(tǒng)Verifiable Data Registry就是我們存儲了DID標(biāo)識和DID文檔的地方,通過DID標(biāo)識可以查詢到對應(yīng)的DID文檔。
VC 主要包含以下幾部分:

VC元數(shù)據(jù),主要就是發(fā)行人、發(fā)行日期、過期時間等信息。
聲明,一個或者多個關(guān)于主體的說明。比如大學(xué)給學(xué)生的VC,在聲明中會包含:姓名、性別、出生日期、專業(yè)、畢業(yè)年限等信息。
證明,通常就是頒發(fā)者的數(shù)字簽名,保證了本VC能夠被驗證,防止VC內(nèi)容被篡改以及驗證VC的頒發(fā)者
VC 格式如下:

DID解析器(DID resolver)
DID解析器是一個軟件和/或硬件組件,它以DID作為輸入并產(chǎn)生符合要求的DID文件作為輸出來執(zhí)行DID解析功能。
身份存儲庫(Identity Hub)
存儲真實數(shù)據(jù)的地方,比如你的身份證信息存放在公安系統(tǒng)數(shù)據(jù)庫里,購物信息在購物網(wǎng)站數(shù)據(jù)庫里;這里要區(qū)分的是-DID文檔里只存儲和身份相關(guān)的數(shù)據(jù);
DID工作流程
1.小白用區(qū)塊鏈地址0xc530503a148babcaca68565cfa576d6f43427a2d 在DID Registry服務(wù)注冊一個did身份,did文檔信息存儲將存儲在以太坊上
2.小白用did 登陸某社交應(yīng)用,和各種朋友愉快的玩耍(該社交應(yīng)用通過DID解析器獲得了小白的DID 文檔,所以可以驗證小白did)
3.某天小白迷上某個游戲網(wǎng)站,于是同樣使用上面的did登陸進該游戲即可(無需注冊新的用戶名、記錄新密碼等繁瑣步驟)
4.小白參與汽車搖號,需要提交本地社保證明(一年),小白向社保局申請自己的社保證明,社保局查詢自己內(nèi)部系統(tǒng)發(fā)現(xiàn)小白確實繳夠了一年社保,因此社保局簽名生產(chǎn)VC給小白,小白提交給汽車搖號系統(tǒng),汽車搖號系統(tǒng)會驗證該簽名是否為社保局的簽名,驗證通過,小白則可被加入本地搖號系統(tǒng)(社保局、汽車搖號系統(tǒng)都有自己的did身份,根據(jù)公鑰消息可以驗證是否vc是否合法).
DID應(yīng)用方向
認證、無密碼登陸 上述案例有描述
物聯(lián)網(wǎng)設(shè)備、數(shù)字人身份標(biāo)示 ,可以預(yù)見未來物聯(lián)網(wǎng)設(shè)備和數(shù)字人將大量存在,給他們獨立的身份標(biāo)示有利于數(shù)字身份更快捷的實現(xiàn)數(shù)據(jù)交互和網(wǎng)絡(luò)增長,也將避免因無統(tǒng)一接口而導(dǎo)致較多的浪費和效率低下.
DID缺點:
隱私數(shù)據(jù)存儲在各機構(gòu)(比如:游戲數(shù)據(jù)存儲在游戲平臺、購物信息存儲在購物網(wǎng)站、學(xué)歷證明存儲在學(xué)習(xí)),這個數(shù)據(jù)如何能保證是正確無誤的(有作假的可能).
數(shù)據(jù)權(quán)限問題,無法自己控制,數(shù)據(jù)歸屬應(yīng)該屬于用戶(待討論),用戶應(yīng)該對數(shù)據(jù)有絕對的控制權(quán),比如數(shù)據(jù)使用、數(shù)據(jù)隱私保護等問題
參考文獻:?
w3c 官網(wǎng)文檔:?https://www.w3.org/TR/did-core/