以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

干貨 | 數字時代,如何成為一個「真正」有身份的人?_DID

Author:

Time:1900/1/1 0:00:00

作者:樓嵩來自致力于「構建區塊鏈互聯網絡,打通價值孤島」的BitXHub團隊

研究方向:Web3+

導讀

別以為這是一個誘餌式標題,這篇文章是一篇干貨文章,因此取這個標題是有深層次的技術原因的。

本標題的句式是一個疑問句,仔細看,其實包含2個問題:

1.在數字時代如何成為一個有身份的人?

第一個問題答案是「普通的數字身份」。在看文章的各位其實都有一個數字身份,要么是微信號,要么是IP地址。

但你是否發現一個問題:這些數字身份并不是你真正擁有的,而是身份提供商分發給你的。IP地址是運營商分發給你的,隨時可以被運營商收走。微信號也是騰訊分發給你的,你知道賬戶密碼,但是服務器更加知道。你選擇信任運營商信任服務提供商,信任他們不會隨意破壞你的身份,但這沒有技術保障。

2.如何真正擁有身份?

是否有可能真正把賬戶掌握在自己手里?

是否有可能登錄賬戶,但不告訴服務器你的密碼是多少,卻還是能夠讓服務器驗證你確實知道密碼,同時其他任何人都無法冒充?

答案是有。

本文將會進行介紹相關技術以及基于這些技術構建的Web3時代的數字身份技術:分布式數字身份。

首先我們來回顧一下身份發展的歷程。

身份發展的趨勢

在中國古代,身份最早出現在秦朝,當時商鞅變法,避免外國間諜的入侵,發明了照身帖。

之后身份技術在古代不斷發展,我們常在電視劇中看到過的虎符、免死金牌、玉璽、錦衣衛的牙牌,都是古代用于證明身份的技術。

圖1-1

到了現代,我國第一代身份證于1984年發布,此后不斷改進,不斷加入防偽技術。2004年發布了第二代身份證,并且加入了多重防偽技術。2013年,融合了居民的生物特征。

我們發現,身份發展有兩大的趨勢:防偽和互通。

防偽這個趨勢很好解釋,身份本來就是為了證明“我是我”,防偽降低了“其他人冒充我”和“我冒充其他人”的概率。

而互通的原因是,人們往往同時擁有多個特征及身份,指紋特征、面容特征,既有居民證明又有駕駛證明。

Baby Doll項目遭到閃電貸攻擊:金色財經消息,據CertiK監測,Baby Doll (BABYDOLL) 項目遭到閃電貸攻擊,損失25枚BNB(約7,900美元)。BSC合約地址: 0x449cfecbc8e8469eeda869fca6cccd326ece0c04a1cdd96b23d21f3b599adee2[2023/2/19 12:15:31]

現代的數字身份也有類似的趨勢。

隨著信息技術的發展,數字身份開始出現,并先后涌現了中心化身份、聯盟身份、用戶為中心的身份、自主權身份這四個階段的身份。

這四個階段的發展的趨勢有3個:去中心化、互通、隱私保護。

去中心化:用戶個人對自己身份的完全掌控,只有自己知道密碼,只有自己有權限修改、讀取身份信息,身份權無法被任何其他機構剝奪。去中心化可以被理解為是一種終極意義上的防偽。防偽防到從技術上實現只有“我才能證明是我”。

互通:注冊一次數字身份,可以在其他服務商的任意數字服務上登錄。

隱私保護:用戶自己保管數據,從而能夠決定數字服務能夠調用哪些數據。

數字身份的發展趨勢比身份的發展趨勢多了一個隱私保護。

因為數字身份比較涉及到數據,而數據、隱私這個話題是目前非常熱門的一個話題。2020年10月21日,全國人大法工委就《個人信息保護法》公開征求意見,意味著我國首部專門保護個人信息的法律不遠了。

分布式數字身份屬于第四個階段,其希望最終能夠提供實現自主權身份SSI的全部技術。有機構預測分布式數字身份的市場會在2017-2025年增長127倍,從5760萬美元達到73億美元,由此可見分布式數字身份的發展前途無量。

接下去介紹下分布式數字身份涉及的技術。

非對稱加密與數字簽名

前面提到過“不告訴服務器你的密碼是多少,卻還是能夠讓服務器驗證你確實知道密碼”的技術是存在的,這種技術被稱為零知識密碼證明,IEEEP1363.2定義了這種技術。

如果為零知識密碼證明進行分類,它屬于非對稱加密的一種,而且IEEE認為它也是零知識證明的一種。

限于篇幅和行文目的,我們這里只簡單介紹下非對稱加密,而不介紹零知識密碼證明的細節,二者原理是相通的。

非對稱加密是現代密碼學中非常重要的一個分支。一般的非對稱加密中用于認證用戶的不是密碼,而是密鑰,可以理解為了一個長度很長的密碼。

馬斯克:正致力于幫助推特用戶進行內容變現:2月18日消息,針對推特網友表示其推文展示量(Tweet impression)首次超過100萬,但問題是不知道怎么把它變成美元。Elon Musk回復表示,正在致力于這方面的工作。

金色財經此前報道,馬斯克表示,推特將調整算法功能,以推薦用戶感興趣的內容。[2023/2/18 12:15:02]

密碼學主要是用于信息加密的,加密前的內容稱為明文,比如“ATTACKAT6AM”,使用某個加密密鑰以及加密算法后,加密后可能變成了“NP7-UB-LDBUUB”,這個叫做密文。

要想從密文得到明文,必須使用解密密鑰以及解密算法。如果加密密鑰和解密密鑰相同,則為對稱加密;如果不同,則為非對稱加密。

非對稱加密的密鑰有一對2把,稱為公鑰和私鑰。

公鑰加密的內容,用私鑰可以解密;反之用私鑰加密的內容,公鑰可以解密。一般私鑰私藏,只有用戶自己知道;公鑰需要公布給其他人。這樣別人想要給用戶發送消息時,使用公鑰加密該消息,加密后的消息只有擁有用戶私鑰的自己才能解密,其他擁有公鑰的人無法解密。

非對稱加密主要是用于信息加密的,那如何用于用戶的認證呢?

數字簽名。

假設用戶A要證明自己是A,首先,構造一條消息“IAMA”;然后對該消息哈希函數運算得到哈希值H(IAMA),然后使用私鑰Priv對該哈希值進行加密,所得到的密文E(H(IAMA),Priv)即為用戶A對消息“IAMA”的數字簽名。

將消息原文“IAMA”和簽名E(H(IAMA),Priv)發給其他人,其他人使用用戶的公鑰可以解密簽名得到H(IAMA);然后也對消息原文進行哈希計算得到H(IAMA)’,如果H(IAMA)’==H(IAMA),說明發送“IAMA”消息的用戶的確擁有私鑰Priv,證明他就是用戶A。

總而言之,私鑰其實就相當于是用戶的密碼,而公鑰可以給服務器用來驗證用戶是否真的持有私鑰,驗證的方式就是驗證數字簽名。

有了這個基礎,接下去就可以介紹分布式數字身份DID了。

分布式數字身份體系是基于非對稱加密和數字簽名建立起來的。

DID規范

分布式數字身份DID發展至今主要有5個技術規范:DID標識符、DID文檔、DID解析器、可驗證聲明、身份存儲庫,這些技術規范的主要領導組織是W3C和DIF。

之所以有這幾個規范,其實也和身份系統本身的需求有關:

谷歌選擇Coinbase進行加密貨幣云支付,并將使用其托管工具:金色財經報道,明年初,谷歌將開始允許一部分客戶使用數字貨幣支付云服務。此外,谷歌表示將探索使用Coinbase Prime,這是一種存儲和交易加密貨幣的服務。Coinbase將把其部分應用程序從亞馬遜網絡服務轉移到谷歌的云端。(cnbc)[2022/10/11 10:31:04]

DID標識符:身份標識符的格式;

DID文檔:身份信息的格式;

DID解析器:身份信息的獲取,為身份認證提供了保障;

可驗證聲明:隱私數據披露的方式,為數據授權提供了保障;

身份存儲庫:隱私數據的管理;

▲DID標識符

根據Zcash創始人提出的標識符系統“Zooko三角理論”,標識符無法同時實現實現安全、去中心化、對人類有意義三者,W3CDID標識符主要考慮了安全、去中心化兩者。

此處的ALPHA和DIGIT的在ABNF中有定義,而未在此ABNF中定義的其他語法在RFC3986中有定義,值得一提的是W3CDID標識符是符合W3CURI的規范的。

舉個例子:

did:ethr:0xE6Fe788d8ca214A080b0f6aC7F48480b2AEfa9a6

即為一個DID標識,其中ethr是method-name,指明了身份所在的域;0xE6Fe788d8ca214A080b0f6aC7F48480b2AEfa9a6是method-specific-id,表明了這個身份在域中的地址。

▲DID文檔

DID標識符只是表示一個身份的標識符,不包含身份的信息。而DID文檔就是用于描述身份詳細信息的文檔,一個DID標識符關聯到一個DID文檔。

DID文檔一般包含以下內容:

DID標識符;

一個加密材料的集合,比如公鑰;

驗證方法集合;

一個服務端點的集合;

時間,包括創建時間和更新時間。

DID文檔的示例:

Frax Finance推出自有借貸市場Fraxlend:金色財經報道,算法穩定幣協議 Frax Finance 正在推出 Fraxlend,這是一個無需許可的借貸市場,允許任何人使用屬于 Chainlink 數據饋送的任何代幣借出或借入資產。首先,Fraxlend 將使協議能夠通過借貸過程鑄造新的 FRAX。Fraxlend 允許 Frax Finance 協議直接借出 FRAX 并通過現有貨幣市場賺取利息。到目前為止,做到這一點的唯一方法是在 Curve 等借貸平臺上獲得超額抵押貸款。Drake 強調的第二個新應用是為協議到協議交易創建自定義條款清單的能力。(the block)[2022/9/7 13:12:58]

其中@context字段指明了該文檔的版本;id字段指明了該文檔關聯到的DID;publicKey字段指明了相關的公鑰;authentication字段則引用了publicKey字段里存儲的公鑰,并組成了驗證該DID用戶身份的方式。DID文檔其實和傳統PKI系統里的證書有點類似。

DID文檔實際格式可以是JSON,也可以是JSON-LD或者YAML、XML等。其存儲需要上鏈,或者至少哈希上鏈。

▲DID解析器

解析器的作用是通過DID標識符來獲取DID文檔,這樣,當DID用戶登錄某個服務時,該服務提供商調用解析器來獲取DID文檔,從而知道了如何來驗證DID用戶。

DID解析器的規范主要是DIF主導的。

DIFUniversalResolver的架構如下圖。其先通過DID標識得到該DID標識的method,然后去調用該method對應的Driver來完成最終的解析,這些Driver的具體實現不做限定,但是要遵循接口的規范。

DIFUniversalResolver可以認為是一個Driver聚合器。

之所以這么設計架構,是因為不同DID的存儲是位于不同區塊鏈上,而且可能也是在不同的智能合約里存儲的。用戶要使用DID,首先需要完成DID的注冊,而DID的注冊肯定是和某條區塊鏈關聯的,比如以太坊。

而且一般用戶也是使用一些DIDRegistry服務來完成注冊,比如以太坊上有uPort,uPort可以幫助以太坊上的用戶完成DID的注冊,如果是在其他鏈上可能有其他提供DIDRegistry的服務。

因此每個提供DID注冊的Registry服務可能是不同的。使用這種聚合器架構能最大限度地兼容所有的DIDRegistry。

Axie Infinity計劃資助200名創作者參加Nas Academy的新創作者學院:6月21日消息,NFT 游戲 Axie Infinity 計劃資助 200 名創作者參加 Nas Academy 的新創作者學院,幫助 Axie 創作者能夠將內容提升到一個新的水平。這所培訓學校是由 Nas Academy 專門為 Axie Infinity 社區成員設計,與 QU3ST 運營的 Axie Creator Program 獨立但互補,目前報名已開放,將于 7 月 20 日結束。[2022/6/21 4:42:17]

圖3-1

▲可驗證聲明

接下去介紹DID的第四個技術規范可驗證聲明,其可能是目前DID生態里最重要的規范。可驗證聲明VerifiableCredential,簡稱VC。

VC的目的前面說過,就是數據授權,而且是盡可能細粒度的授權,從而盡量降低隱私數據的泄露。

圖3-2

對某個東西的證明可以通過披露不同程度的隱私來實現,如圖3-2從左到右,隱私泄露程度降低。來看一個例子。

假設你今年24歲,如何證明你大于21歲?如果有三種選擇:

出示身份證

出示出生年月日

開一個大于21歲的證明

你會選擇哪種?

很明顯,這三種方案對你個人隱私的披露程度是不同的。

第一種對你隱私信息的泄露最大,而第二種其次,而第三種幾乎沒有泄露任何多余的信息。

圖3-3

VC運行需要有一套機制,需要有很多角色。可以看到圖3-3里有很多角色,這些角色的功能如下:

發行者:能開具VC,如政府、銀行、大學等機構和組織。

驗證者:能驗證VC,由此可以提供給出示VC者某種類型的服務,如游戲網站、香煙店。

持有者:即用戶,能向Issuer請求&接收、持有VC,向Verifier出示VC,開具的VC可以存放在錢包里,方便以后再次證明時使用。

標識符注冊機構:維護DID標識符及密鑰的數據庫,如區塊鏈、可信數據庫、分布式賬本等。

VC的數據格式是什么樣的呢?其大致會包含以下字段:

VC的ID;

VC的發行者;

聲明的主體內容;

聲明的證明。

時間,如發行時間。

一個實例:

在這個VC中,@context字段指明了這個VC的格式;id字段指明了VC的id;type字段指明了VC的類型;issuer字段指明了VC的發行者;issuanceDate字段指明了發行日期;credentialSubject字段指明了VC的主體內容;proof字段指明了VC的證明部分,可以被Verfier驗證。這里最重要的內容當然是credentialSubject和proof。▲身份存儲庫

接下去介紹DID的第五個技術規范,IdentityHub。

首先我們要明確身份數據和隱私數據是不同的。身份數據是指公鑰這種只和這個賬戶相關的數據,而隱私數據是和用戶自己真實信息相關的數據如性別年齡等。

DID文檔里只存儲和身份相關的數據;而IdentityHub就是用來存儲用戶的隱私數據的。IdentityHub,雖然是身份的Hub,但是存儲的是數據,可以理解為數據銀行。

我們習慣將資產放到銀行,為什么?因為安全,銀行保證了我們資產的安全。同樣地,未來我們將數據存儲到數據銀行,可以保證數據的安全。

其有如下幾個特點:

IdentityHub是去中心化的、鏈下的個人數據存儲,可將對個人數據的控制權交給用戶。它們允許用戶以安全而隱私的方式存儲其敏感數據,無用戶的顯式授權就無法獲取用戶數據。

IdentityHub實際在哪由用戶決定,可以是本地,也可以是云端;

在未來,用戶將會把隱私數據存儲到IdentityHub,然后當應用服務調用用戶數據時必須請求用戶的同意才能獲取這些數據。

一個簡例

來看一個簡例。將上面的內容都串起來。

假設小明有一個以太坊上的賬戶0x96f…3d4,小明想使用DID來登錄支持DID的游戲網站A。

1.小明找一個DIDRegistry服務幫其在以太坊上注冊一個DID:did:eth:0x96f…3d4;

2.DIDRegistry服務將與該DID相關的DID文檔存儲到以太坊鏈上;

3.小明在游戲網站A上使用注冊的DID登錄;

4.小明將其個人隱私數據存儲在多個身份存儲庫,其中居民身份證上的隱私數據存在政府機構G,政府機構G也需要注冊好自己的DID身份的;

5.在游戲網站A上,小明想證明自己年齡>16歲從而獲得游戲時間;

6.小明向政府機構G請求開具一個自己年齡>16歲的可驗證聲明;

7.政府機構G通過查詢小明的居民相關隱私數據發現小明確實>16歲,因此開出了這個VC給小明;

8.游戲網站A驗證這個VC的簽名,發現確實是政府機構G開具的選擇信任,從而發放游戲時間;

9.假如某一天,游戲網站A倒閉了。此時小明的DID依舊存在,還可以用于其他應用的登錄。

總結

總結一下DID。

DID的提出是為了達到自主權身份。但是實際上是否能夠完成其目的呢?

從身份上看確實DID的方案是不錯的,將身份存儲在區塊鏈上,用非對稱加密的密鑰保證用戶對賬戶的完全控制。這部分確實DID做的不錯。

不過我們也很明顯能發現一些問題,主要是在數據存儲上。

在VC系統里發放VC的Issuer其實還是掌握用戶數據的,因此VC的這個運轉架構本質上還是中心化和可控的,用戶必須要相信某些機構來托管隱私數據。但這已經比把這些隱私數據放在服務提供商的服務器上要好太多。

而服務提供商雖然沒辦法拿到用戶的隱私數據,但是用戶在服務提供商處產生的數據,比如小明玩游戲產生的裝備、皮膚、等級,這些數據似乎還是被游戲網站A牢牢掌控住了。

課后習題

1.根據本文內容,以下關于“分布式數字身份”的描述,是錯誤的?

分布式數字身份基于非對稱加密和數字簽名技術

分布式數字身份屬于數字身份發展的第三階段

分布式數字身份是為了實現自主權身份

分布式數字身份可以實現個人真正擁有數字身份

2.以下哪個字符串不符合W3CDID標識符的格式?

did:btc:21tDAKCERh95uGgKbJNHYp

did:btcr:xz35-jznz-q9yu-ply

did:github:gjgd

都符合

3.以下說法正確的是?

一個DID文檔必須包含服務端點相關的信息

非對稱加密中使用公鑰加密的信息無法用私鑰解密

對某個消息進行數字簽名過程是:先對該消息進哈希,然后使用私鑰進行加密

我國第一代身份證于1994年發布

4.DID解析器收到did:abc:0x01的解析請求后,以下說法錯誤的是?

會調用abcDriver進行解析

所調用的Driver一定是在區塊鏈上進行查詢

Driver返回一個DID文檔

DID文檔可以是JSON、JSON-LD等格式

5.以下說法不正確的是?

可驗證聲明可以最低程度披露用戶的隱私

可驗證聲明的proof可以被Verifier用于驗證此聲明的有效性

身份存儲庫主要是存儲用戶的隱私數據

身份存儲庫必須是運行在云上

答案都藏在文章里哦

本文用圖來源

圖1-1:https://kknews.cc/zh-hk/history/y5jeaon.html

圖3-1:https://medium.com/decentralized-identity/a-universal-resolver-for-self-sovereign-identifiers-48e6b4a5cc3c

圖3-2:https://uniqueid.substack.com/p/verifiable-credentials-your-digital

Tags:DIDVERENTDENTDidcoinramp幣與leverDragon Evolution Augmented RealityHypersign Identity Token

歐易交易所app下載
真實數據:比特幣新高之前“巨鯨”已開始傾銷,拋售超93000枚BTC_CEN

比特幣的價格現在比幾天前下降了約15%,而離創下歷史新高僅僅相距幾百美元。一項新記錄是如此接近,多頭可以品嘗到勝利,但這一成就被大量“巨鯨”阻止,他們將大量的BTC重新塞滿了加密貨幣交易所,從而.

1900/1/1 0:00:00
圓桌論壇:區塊鏈推動數字經濟與實體經濟深度融合 | 世界區塊鏈大會·武漢_區塊鏈

12月5日至6日,“相信未來--2020世界區塊鏈大會·武漢”在武漢國際會展中心正式開幕。大會由巴比特主辦,并得到了武漢市政府、江漢區政府、武漢市經信局、中國信通院等部門單位的大力支持.

1900/1/1 0:00:00
特朗普出手了!比特幣瞬間蒸發2000億市值,超2萬投資者爆倉_比特幣

來源:21金融圈pro 11月26日,比特幣價格高位急跌,盤中跌破17000美元。截至發稿,根據比特幣新聞資源網Coindesk報價顯示,比特幣價格約為16580美元,24小時跌幅達12.96%.

1900/1/1 0:00:00
圓桌論壇·DeFi之DAO現場:寒武紀大爆發,2020 DeFi年終大盤點?| 世界區塊鏈大會·武漢_EFI

12月5日,2020世界區塊鏈大會·武漢正式在武漢國際會展中心開幕。大會由巴比特主辦,并得到了武漢市政府、江漢區政府、武漢市經信局、中國信通院等部門單位的大力支持.

1900/1/1 0:00:00
美國數字資產行業的合規之路:數字資產領域缺乏的不是嚴格或寬松的框架,而是合法與非法的明確界限_數字資產

導言 數字資產領域缺乏的不是嚴格或寬松的框架,而是缺乏一個合法與非法之間的明確界限。中本聰發布Bitcoin白皮書距今已有12年。比特幣和以太坊等數字資產已逐漸在大眾心目中有一席之地.

1900/1/1 0:00:00
為什么以太坊仍然是NFT技術的主要陣地_NFT

原文標題:WhyEthereumwillcontinuetoremainthehomeforNFTs(thatmatter)為什么以太坊仍然是NFT技術的主要陣地原文鏈接:https://sky.

1900/1/1 0:00:00
ads