本文涵蓋了去中心化身份的核心概念、互聯網上身份的演變、Web3 身份基礎設施棧的逐層概述以及隱私原語的相關發展情況。我們會在未來的文章中探討人格證明、合規性以及應用層。
身份是由與個人、實體或物體相關數據所組成的新興屬性。在現實世界中,它是我們在腦海中根據他人聲譽及自我聯想形成的一種思維概念;而在數字世界中,身份由兩個部分組成:
· 身份標識:用于識別單一主體的一組字符或數字(如護照號碼、Twitter ID、學生 ID)
· 與該主體有關的數據(如旅行歷史、發推量和關注量、學術成就等等)
為互聯網創建一個身份層往往并不簡單,因為人們對它的具體含義和運作方式缺乏共識。數字身份離不開情境,我們在網絡上對于不同內容的差異體驗往往也是建立在各類的情境之上。今天,我們大部分的數字身份不僅支離破碎,而且受到少數人的控制,他們不想讓這些身份脫離自己的情境。
· 企業將客戶關系視為關鍵資產,不愿意放棄對這些關系的控制。到目前為止,它們也還沒有找到這樣做的合理理由,畢竟即使是臨時身份也比它們無法控制的框架要好。
· 當涉及到維護與客戶和供應商的線上關系時,金融這類特定行業往往有獨特的需求(如合規)。
· 政府有區別于其他類型組織的需求,例如,它們對駕駛執照和護照有著管理權。
這種模式讓管理我們身份與數據的各方之間有了不同的權力劃分。它限制了我們的自主權,讓我們無法選擇性地披露自己的信息,并在不同的環境中轉移自己的身份,自然也就很難獲得線上/線下的一致體驗。
在 Crypto 和 Web3 興起之前,去中心化的身份已經獲得了不小的關注。其目標是讓個人重新獲得對其身份的自主權,而無需再依賴中心化的組織。與此同時,客戶數據的濫用以及人們對大公司信任程度的減弱,也讓去中心化成為了下一個互聯網身份時代的核心要素。
去中心化身份標識(DID)和證明是去中心化身份的主要組成部分。DID 會發布并存儲在可驗證的數據注冊處(VDR),它是不受中心化管理的自主「命名空間」。除了區塊鏈之外,去中心化的存儲基礎設施和 P2P 網絡也可以作為 VDR。
在這里,各類實體(個人、社區、組織)可以使用去中心化的公鑰基礎設施(PKI)來認證、證明所有權,并管理他們的 DID。與傳統的網絡 PKI 不同的是,它不依賴于中心化的證書機構(CA)作為其信任根(RoT)。
有關身份的數據會被寫成證明——它們是一個身份對另一個身份(或他們自己)所作出的「聲明」。我們可以通過 PKI 實現的 Crypto 簽名來完成對這些聲明的驗證。
去中心化身份標識有 4 個主要屬性:
· 去中心化:其創建不依賴于中心化機構,各實體可以依據不同的環境自主創建相應的身份標識,以實現不同身份、角色和互動情況的分離。
· 永久性:一經創建就永久地歸屬于實體(雖然有些 DID 是為短暫的身份設計的)。
· 可解析性:可以用來揭示有關該實體的額外信息。
· 可驗證性:由于有了 Crypto 簽名和證明,實體可以證明 DID 的所有權或聲明(可驗證憑證),而無需依賴第三方。
這些屬性將 DID 與其他身份標識區分開來,如用戶名(不可驗證)、護照(不可去中心化)和區塊鏈地址(持久性、可解析性有限)。
萬維網聯盟(W3C)是一個由不同組織、工作人員和公眾組成的國際社區,共同致力于開發網絡標準。W3C 的DID Spec定義了 4 個主要組成部分:
· 體系:前綴「did」將告訴其他系統它正在與 DID 進行交互,而不是其他類型的身份標識,如 URL、電子郵件地址或產品條形碼。
· DID 方法:向其他系統指定如何解釋該身份標識。W3C 網站上列出了 100 多種 DID 方法,通常與它自己的 VDR 有關,并有不同的機制來創建、解析、更新和停用身份標識。
Beosin:ULME代幣項目遭受黑客攻擊事件簡析:金色財經報道,10月25日,據Beosin EagleEye 安全預警與監控平臺檢測顯示,ULME代幣項目被黑客攻擊,目前造成50646 BUSD損失,黑客首先利用閃電貸借出BUSD,由于用戶前面給ULME合約授權,攻擊者遍歷了對合約進行授權的地址,然后批量轉出已授權用戶的BUSD到合約中,提高價格ULME價格,然后黑客賣掉之前閃電貸借出的ULME,賺取BUSD,歸還閃電貸獲利離場。Beosin安全團隊建議用戶用戶取消BUSD對ULME合約的授權并及時轉移資金減少損失。[2022/10/25 16:38:21]
· 唯一身份標識:一個特定于 DID 方法的唯一標識,例如某特定區塊鏈上的地址。
· DID 文件:上述 3 個部分可以解析為 DID 文件,其中包括實體可以自我認證的方式,有關實體的任何屬性/聲明,以及實體額外數據存放地點的指示符(「服務端點」)。
雖然公鑰基礎設施(PKI)已經存在了很長時間,但 Crypto 通過 Token 網絡的激勵機制加速了它的采用。Crypto 曾經主要由注重隱私的技術專家使用,現在已經成為了參與新經濟的先決條件。用戶需要創建錢包來自我保管他們的資產,并與 Web3 應用程序互動。在 ICO 浪潮、DeFi 之夏、NFT 熱潮和 Token 化社區的推動下,用戶擁有了比以往更多的密鑰。隨之而來的是一個充滿活力的產品和服務生態系統,大大提高了密鑰管理的便捷性和安全性。可以說,Crypto 為去中心化身份基礎設施及其采用提供了堅實的基礎。
我們可以先來探探錢包,雖然錢包主要還是扮演著資產管理的功能,但 Token 化的實現以及鏈上歷史記錄已經能讓我們展示自己的興趣(NFT 收藏)、工作(Kudos,101)和意見(治理投票)。私鑰的丟失已經不僅限于金錢的損失,而已經更類似于護照或社交賬號的丟失了。所以說,加密逐漸模糊了我們的個人身份與持有物品之間的界限。
不過,我們的鏈上活動與持有物只能部分反映我們的身份。區塊鏈只是去中心化身份棧的其中一層,其他層將有助于解決一些重要的問題,比如:
· 我們如何在網絡和生態系統中識別和認證自己的身份?
· 我們如何在保護個人隱私的同時證明一些事情(聲譽、獨特性、合規性)?
· 我們如何授予、管理和撤銷對我們數據的訪問?
· 我們在能夠掌控自己的身份與數據的情況下與應用程序互動?
這些問題的解決方案對未來的互聯網影響深遠。
在下面幾節中,我將逐層概述 Web3 的身份棧,即可驗證的數據注冊、去中心化存儲、數據的可變性和可組合性、錢包、認證、授權和證明。
區塊鏈的分布式特性和不可變性使其適合作為可驗證的數據登記處,用于發布 DID。事實上,各種公鏈都有 W3C 的 DID 方法,例如:
· Ethereum,其中 did:ethr:代表 Ethereum 賬戶的身份
· Cosmos,其中 did:cosmos:::代表一個 Cosmos 鏈間兼容的資產
· Bitcoin,其中 did:btcr: 代表一個 TxRef 編碼的交易 ID,參考基于 UTXO 的比特幣區塊鏈中的交易位置
值得注意的是,did:pkh: 是一種與賬本無關的生成性 DID 方法,旨在實現區塊鏈網絡的互操作性。根據 CAIP-10 標準,是賬戶 ID,用于跨鏈的密鑰對表達。
Fractal 是一個身份配置和驗證協議,用于需要獨特和不同級別 KYC 用戶的應用。在完成有效性和 KYC 檢查后,Fractal DID 會被發布到相應的 Ethereum 地址上,并添加到相應的列表中。Fractal 的 DID 注冊表是 Ethereum 上的一個智能合約,交易方可以根據該合約查詢 Fractal DID 及其驗證級別。
Kilt、Dock 和 Sovrin是用于自我主權身份的特定應用區塊鏈。在撰寫本文時,它們主要被企業用來向終端用戶發放身份和憑證。為了參與網絡,節點需要質押本地 Token 來處理交易(如 DID/憑證的發行)、定義憑證模式,并執行撤銷更新。
慢霧:跨鏈互操作協議Nomad橋攻擊事件簡析:金色財經消息,據慢霧區消息,跨鏈互操作協議Nomad橋遭受黑客攻擊,導致資金被非預期的取出。慢霧安全團隊分析如下:
1. 在Nomad的Replica合約中,用戶可以通過send函數發起跨鏈交易,并在目標鏈上通過process函數進行執行。在進行process操作時會通過acceptableRoot檢查用戶提交的消息必須屬于是可接受的根,其會在prove中被設置。因此用戶必須提交有效的消息才可進行操作。
2. 項目方在進行Replica合約部署初始化時,先將可信根設置為0,隨后又通過update函數對可信根設置為正常非0數據。Replica合約中會通過confirmAt映射保存可信根開始生效的時間以便在acceptableRoot中檢查消息根是否有效。但在update新根時卻并未將舊的根的confirmAt設置為0,這將導致雖然合約中可信根改變了但舊的根仍然在生效狀態。
3. 因此攻擊者可以直接構造任意消息,由于未經過prove因此此消息映射返回的根是0,而項目方由于在初始化時將0設置為可信根且其并未隨著可信根的修改而失效,導致了攻擊者任意構造的消息可以正常執行,從而竊取Nomad橋的資產。
綜上,本次攻擊是由于Nomad橋Replica合約在初始化時可信根被設置為0x0,且在進行可信根修改時并未將舊根失效,導致了攻擊可以構造任意消息對橋進行資金竊取。[2022/8/2 2:52:59]
雖然通用區塊鏈也可以作為資產所有權和交易歷史等不可改變類用戶數據的數據源(例如用于投資組合追蹤器和「DeFi score」應用程序),但它們可能不適合于存儲用戶的大部分數據,因為編寫并定期更新大量信息的成本相當高昂,并且其數據可見性還會危及個人隱私。
即便如此,Arweave 這樣特定于應用的區塊鏈還是為永久存儲而設計的。為了復制網絡上存儲的信息,Arweave 會向礦工支付區塊獎勵和交易費用。礦工需要提供「訪問證明」(Proof-of-Access),以便增加新的區塊。Arweave 將把一部分費用交給一個永久性的資助基金,將來當通脹和費用不足以支付存儲成本時,該基金將把這部分錢付給礦工。
Etherum 和 Arweave 都是基于區塊鏈的數據永久儲存方案。在 Ethereum 上,每個全節點必須存儲整條鏈的數據;而在 Arweave 上,處理新區塊和新交易所需的所有數據都被記入每個單獨區塊的狀態中,新的參與者只需從其受信任的同伴那里下載當前區塊即可加入網絡。
基于合約的持久性表明,數據不能被每個節點永久地復制和存儲。相反,數據可以通過在多個節點上部署合約來實現持久性。這些節點會在一段時間內持有某項數據,并且每當他們用完后必須續約,以保持數據的持久性。
IPFS 允許用戶在一個點對點的網絡中存儲和傳輸可驗證、有內容地址的數據。用戶可以在自己的 IPFS 節點上保存他們想要的數據,使用專門的節點組或第三方的固定服務,如 Pinata、Infura 或 Web3.storage。只要有一個節點在存儲數據,數據就存在于網絡中,并且可以在其他節點有需求時提供給它們。IPFS 的頂層是 Crypto 經濟層,如 Filecoin 和 Crust Network,旨在通過創建一個長期數據持久性的分布式市場來激勵網絡的數據存儲。
對于個人身份信息(PII),受許可的 IPFS 可以用來遵守 GDPR/CCPA 的被遺忘權,因為它允許用戶刪除他們存儲在網絡中的數據。身份錢包 Nuggets 采用了這種方法,它通過讓商家和合作伙伴運行專門的節點從而進一步實現了去中心化。
Sia 和 Storj 是另外兩個基于合約的去中心化存儲解決方案,它在整個網絡的多個節點之間加密和分割單個文件。兩者都使用擦除編碼(只需要一個存儲節點的子集來提供文件),以確保數據可以在一些節點離線時保持可用;并且都有內置的激勵結構,可供人們使用原生 Token 進行存儲。
通用區塊鏈、Arweave 和 IPFS 都保證了數據的不變性,這對靜態 NFT 藝術品和永久記錄等數據來說非常重要。然而,我們今天與大多數應用程序的交互活動會不斷地更新我們的數據。為可變數據設計的 Web3 協議就是為了實現這一點而創建的,它充分利用了底層的去中心化存儲層。
Ceramic 是一種去中心化數據突變與可組合性協議,它通過從 IPFS 或者 Arweave 這樣的持久性數據存儲網絡獲取不可變的文件,并將它們轉換成動態數據結構。在 Ceramic 中,這些「數據流」類似于它自己的可變分類賬。私人數據可以通過在 Ceramic 上建立索引進行鏈外存儲,附加到通往外部私人存儲的 DID 數據存儲上。
Grim Finance 被黑簡析:攻擊者通過閃電貸借出 WFTM 與 BTC 代幣:據慢霧區情報,2021 年 12 月 19 日,Fantom 鏈上 Grim Finance 項目遭受攻擊。慢霧安全團隊進行分析后以簡訊的形式分享給大家。
1. 攻擊者通過閃電貸借出 WFTM 與 BTC 代幣,并在 SpiritSwap 中添加流動性獲得 SPIRIT-LP 流動性憑證。
2. 隨后攻擊者通過 Grim Finance 的 GrimBoostVault 合約中的 depositFor 函數進行流動性抵押操作,而 depositFor 允許用戶指定轉入的 token 并通過 safeTransferFrom 將用戶指定的代幣轉入 GrimBoostVault 中,depositFor 會根據用戶轉賬前后本合約與策略池預期接收代幣(預期接收 want 代幣,本次攻擊中應為 SPIRIT-LP)的差值為用戶鑄造抵押憑證。
3. 但由于 depositFor 函數并未檢查用戶指定轉入的 token 的合法性,攻擊者在調用 depositFor 函數時傳入了由攻擊者惡意創建的代幣合約地址。當 GrimBoostVault 通過 safeTransferFrom 函數調用惡意合約的 transferFrom 函數時,惡意合約再次重入調用了 depositFor 函數。攻擊者進行了多次重入并在最后一次轉入真正的 SPIRIT-LP 流動性憑證進行抵押,此操作確保了在重入前后 GrimBoostVault 預期接收代幣的差值存在。隨后 depositFor 函數根據此差值計算并為攻擊者鑄造對應的抵押憑證。
4. 由于攻擊者對 GrimBoostVault 合約重入了多次,因此 GrimBoostVault 合約為攻擊者鑄造了遠多于預期的抵押憑證。攻擊者使用此憑證在 GrimBoostVault 合約中取出了遠多于之前抵押的 SPIRIT-LP 流動性憑證。隨后攻擊者使用此 SPIRIT-LP 流動性憑證移除流動性獲得 WFTM 與 BTC 代幣并歸還閃電貸完成獲利。
此次攻擊是由于 GrimBoostVault 合約的 depositFor 函數未對用戶傳入的 token 的合法性進行檢查且無防重入鎖,導致惡意用戶可以傳入惡意代幣地址對 depositFor 進行重入獲得遠多于預期的抵押憑證。慢霧安全團隊建議:對于用戶傳入的參數應檢查其是否符合預期,對于函數中的外部調用應控制好外部調用帶來的重入攻擊等風險。[2021/12/19 7:49:04]
當用戶在一個由 Ceramic 驅動的應用程序中更新他們的資料時,該協議會將這些更新驗證到一個流文件中,將其轉化為一個新的狀態,同時保持對以前狀態變化的跟蹤。Ceramic 上的每一個更新都由一個可以映射到多個地址的 DID 進行驗證,從而讓用戶可以在沒有服務器的情況下更新他們的數據。
目前來看,Web2 平臺擁有自己的用戶界面和后端,用于存儲和控制用戶數據。谷歌和 Facebook 利用這些數據,借助算法來差異化我們的用戶體驗,從而進一步收集數據。新的應用程序必須從頭開始吸納用戶,不能從一開始就提供個性化的體驗,因而也有著更低的市場競爭力。
Web3 實現了數據的民主化,為新產品和服務提供了公平的競爭環境,并為應用程序的實驗和市場競爭創造了開放的平臺。在一個用戶可以把數據從一個平臺帶到另一個平臺的世界里,應用開發者不需要從頭開始便可以給用戶帶來個性化的體驗。用戶可以用他們的錢包進行登錄,并授權應用程序讀取/寫入完全由他們自己控制的「數據庫」。
Ceramic 上的 ComposeDB 是一個去中心化的圖表數據庫,應用開發者可以用 GraphQL 發現、創建、再利用可組合的數據模型。圖表中的節點是賬戶(DID)或文件(數據流),其邊界則代表了節點之間的關系。
DID 代表了可以向圖表中寫入數據的任何實體,例如終端用戶(組)、應用程序或任何認證服務。
模型是存儲有關文檔數據結構、驗證規則、關系和發現信息的元數據 Ceramic 流文件。開發人員可以創建、組合或混合模型,以形成可以作為其應用程序數據庫的數據復合體。這將取代傳統的用戶表,其中包含中心化的 UID 和相關數據。應用程序可以構建在用戶控制的公共數據集之上,而不用管理自己的獨立表格。
由于應用程序在用于特定環境時可以無需權限地對模式進行定義,策展市場也因其可以為最有用的數據模型(為社交圖譜、博客文章制定模式)提供信息而變得非常重要。在以這些數據模型運行的市場當中,應用程序可以為這些模型提供反饋,從而進一步優化它們。這激勵了公共數據集生成更好的分析和圖表,以便產品能在此基礎上完成更多的創新。
慢霧:Avalanche鏈上Zabu Finance被黑簡析:據慢霧區情報,9月12日,Avalanche上Zabu Finance項目遭受閃電貸攻擊,慢霧安全團隊進行分析后以簡訊的形式分享給大家參考:
1.攻擊者首先創建兩個攻擊合約,隨后通過攻擊合約1在Pangolin將WAVAX兌換成SPORE代幣,并將獲得的SPORE代幣抵押至ZABUFarm合約中,為后續獲取ZABU代幣獎勵做準備。
2.攻擊者通過攻擊合約2從Pangolin閃電貸借出SPORE代幣,隨后開始不斷的使用SPORE代幣在ZABUFarm合約中進行`抵押/提現`操作。由于SPORE代幣在轉賬過程中需要收取一定的手續費(SPORE合約收取),而ZABUFarm合約實際接收到的SPORE代幣數量是小于攻擊者傳入的抵押數量的。分析中我們注意到ZABUFarm合約在用戶抵押時會直接記錄用戶傳入的抵押數量,而不是記錄合約實際收到的代幣數量,但ZABUFarm合約在用戶提現時允許用戶全部提取用戶抵押時合約記錄的抵押數量。這就導致了攻擊者在抵押時ZABUFarm合約實際接收到的SPORE代幣數量小于攻擊者在提現時ZABUFarm合約轉出給攻擊者的代幣數量。
3.攻擊者正是利用了ZABUFarm合約與SPORE代幣兼容性問題導致的記賬缺陷,從而不斷通過`抵押/提現`操作將ZABUFarm合約中的SPORE資金消耗至一個極低的數值。而ZABUFarm合約的抵押獎勵正是通過累積的區塊獎勵除合約中抵押的SPORE代幣總量參與計算的,因此當ZABUFarm合約中的SPORE代幣總量降低到一個極低的數值時無疑會計算出一個極大的獎勵數值。
4.攻擊者通過先前已在ZABUFarm中有進行抵押的攻擊合約1獲取了大量的ZABU代幣獎勵,隨后便對ZABU代幣進行了拋售。
此次攻擊是由于ZabuFinance的抵押模型與SPORE代幣不兼容導致的,此類問題導致的攻擊已經發生的多起,慢霧安全團隊建議:項目抵押模型在對接通縮型代幣時應記錄用戶在轉賬前后合約實際的代幣變化,而不是依賴于用戶傳入的抵押代幣數量。[2021/9/12 23:19:21]
Tableland 是用于可變、結構化關系數據的基礎設施,其中每個表格都是作為 EVM 兼容鏈上的一個 NFT 被鑄造的。NFT 的所有者可以為其表格設置訪問控制邏輯,允許第三方在有合理寫入權限的情況下對數據庫上執行更新。Tableland 運行著一個鏈外驗證者網絡,用于管理表格的創建和后續的數據變化。
鏈上和鏈外更新均由一個智能合約處理,該合約使用 baseURI 和 tokenURI 連接至 Tableland 網絡。借助 Tableland,NFT 元數據可以經訪問控制被修改、使用 SQL 進行查詢、并且可以與 Tableland 上的其他圖表進行組合。
就像 ERC-20 和 ERC-721 這樣的智能合約標準為 dapp 提供了一個創建和轉移 Token 的共享語言,數據模型標準也讓不同的應用程序之間實現了資料、聲譽、DAO 提議和社交圖譜的相互理解。由于任何人都可以向公共登記處進行提交,這些數據可以被多個應用重復使用。
應用程序與數據層的分離可以讓用戶在不同平臺之間轉移自己的內容、社交圖和聲譽。應用程序可以在各自的環境中使用相同的數據庫,這樣用戶就能跨平臺獲得一個可組合的聲譽。
廣義上講,錢包由用于密鑰管理、通信(持有者、發行者和驗證者之間的數據交換)以及聲明展示和驗證的接口和底層基礎設施組成。
我們需要區分 Crypto 錢包(MetaMask、Ledger、Coinbase Wallet 等)和身份錢包:Crypto 錢包存儲區塊鏈網絡特有的 Crypto 密鑰,用于發送/接收 Token 和簽署交易;身份錢包存儲身份,并允許用戶創建和提出聲明,這樣他們就可以跨應用/平臺展示身份數據。
身份錢包的例子包括 ONTO、Nuggets 和 Polygon ID Wallet。一些身份錢包,如 Fractal 將活躍度檢查和 KYC 作為其上線流程的一部分,所以用戶可以向有這種需求的應用程序展示他們的聲明,不過這種情況在 Crypto 錢包中并不常見。身份錢包更有可能支持 W3C 所認可的 DID、可驗證憑證和 DIDComm 的實現,以及除 Web3 之外的用例。
WalletConnect * 是一個連接錢包和 dapp 的通信協議。作為一種極簡、無偏見的協議,WalletConnect 已經為數百萬 Crypto 用戶提供了服務,在加速自主身份基礎設施的采用方面,它可能要優于 DIDComm。與 DIDComm 不同的是,DIDComm 需要服務供應商提供托管調解器基礎設施,而 WalletConnect 將信息存儲在中繼網絡的「云郵箱」中,當錢包重新上線時,該網絡會將這些信息推送給錢包。
慢霧:Spartan Protocol被黑簡析:據慢霧區情報,幣安智能鏈項目 Spartan Protocol 被黑,損失金額約 3000 萬美元,慢霧安全團隊第一時間介入分析,并以簡訊的形式分享給大家參考:
1. 攻擊者通過閃電貸先從 PancakeSwap 中借出 WBNB;
2. 在 WBNB-SPT1 的池子中,先使用借來的一部分 WBNB 不斷的通過 swap 兌換成 SPT1,導致兌換池中產生巨大滑點;
3. 攻擊者將持有的 WBNB 與 SPT1 向 WBNB-SPT1 池子添加流動性獲得 LP 憑證,但是在添加流動性的時候存在一個滑點修正機制,在添加流動性時將對池的滑點進行修正,但沒有限制最高可修正的滑點大小,此時添加流動性,由于滑點修正機制,獲得的 LP 數量并不是一個正常的值;
4. 隨后繼續進行 swap 操作將 WBNB 兌換成 SPT1,此時池子中的 WBNB 增多 SPT1 減少;
5. swap 之后攻擊者將持有的 WBNB 和 SPT1 都轉移給 WBNB-SPT1 池子,然后進行移除流動性操作;
6. 在移除流動性時會通過池子中實時的代幣數量來計算用戶的 LP 可獲得多少對應的代幣,由于步驟 5,此時會獲得比添加流動性時更多的代幣;
7. 在移除流動性之后會更新池子中的 baseAmount 與 tokenAmount,由于移除流動性時沒有和添加流動性一樣存在滑點修正機制,移除流動性后兩種代幣的數量和合約記錄的代幣數量會存在一定的差值;
8. 因此在與實際有差值的情況下還能再次添加流動性獲得 LP,此后攻擊者只要再次移除流動性就能再次獲得對應的兩種代幣;
9. 之后攻擊者只需再將 SPT1 代幣兌換成 WBNB,最后即可獲得更多的 WBNB。詳情見原文鏈接。[2021/5/2 21:17:59]
認證系統會根據一個或多個認證因素來確認用戶的身份,該因素可以是用戶的持有物(數字簽名、身份證、安全 Token),也可以是系統已知的信息(密碼、PIN、機密問題答案)或生物特征信息(指紋、聲音、視網膜掃描)。
在去中心化的身份范式中,用戶可以使用錢包來認證自己的身份。在后臺,錢包會使用其存儲的密鑰來生成數字簽名,作為持有者擁有與該賬戶相關私鑰的「證明」。由于 Crypto 錢包可以生成簽名,提供 Web3 登錄的應用程序能夠讓用戶用他們的 Metamask 或 WalletConnect 進行認證。
多年來,Crypto 原住民通過「連接錢包」(Connect Wallet) 與 dapp 進行交互,他們通過這個基本操作指定自己想要使用的帳戶。Dapp 不會記住任何關于已連接用戶的信息,每次用戶在訪問站點時,dapp 都會將他們視為一張白紙。
今天,用戶與 dapp 有了更深層次的交互模式。去中心化的身份信息在這里變得非常有用,因為它允許應用程序訪問用戶的更多信息,從而提供個性化的體驗,同時讓個人保留對自己數據的控制權。
對于更為豐富的交互場景,如加載用戶偏好、配置文件或私人聊天消息,應用程序需要首先確保它們是在與帳戶背后的實際密鑰持有者進行對話。雖然「連接錢包」沒有提供這種保證,但身份驗證標準卻可以做到。身份驗證系統與用戶建立了對話,并允許應用程序安全地讀寫他們的數據。
Sign-In with Ethereum (SIWE) 是由 Spruce、 ENS 和 Ethereum 基金會共同制定的認證標準。SIWE 標準化了一種消息格式(類似于 jwt),從而讓用戶可以使用基于區塊鏈的賬戶登錄服務。Sign-In with X(CAIP-122)在此基礎上讓 SIWE 成為了 Ethereum 版本的 SIWx,并令該標準適用于不同的區塊鏈。
對于個人來說,這意味著他們可以用他們的 Web3 錢包注冊或登錄,而不需要創建用戶名和密碼,同時保證對其在線身份的自主權。應用程序可以將此作為一種針對于 Web3 原生受眾的市場策略,從而滿足用戶的需求。
從中期來看,使用加密錢包登錄 dapp 和其他 Web2 平臺將改善 Web3 原住民的用戶體驗。然而,這也讓用戶面臨著 Web 2 中的相關性和跟蹤問題。鑒于此,通過 Peer DID 或自我認證身份標識進行身份驗證便可以作為一種替代方案。
與上面「普通版」的 DID 不同,Peer DID 可以在 2 個或 N 個已知方之間使用。它們可以被用作每個服務或交互的唯一身份標識。該數字身份中的 Crypto 錢包地址可以與 VC 一起存儲,作為每次商家或服務互動時的驗證證明。
認證確認了用戶的身份,而授權決定了一個實體能夠訪問哪些資源,以及他們可以如何使用這些資源。這兩個過程相互獨立,但在用戶體驗的設計流程中往往又相輔相成。在用社交賬號登錄(認證)到第三方服務平臺后,用戶可能會收到如下的授權請求:
在聯合身份范式中,你可以授權第三方應用程序查看或更新存儲在身份提供者(如谷歌)那里的數據,它們會負責維護你授權給這些應用程序的應用程序列表和相關權限。Web3 授權基礎設施和標準有助于實現同樣的目標,只是在這種情況下你享有自我主權的數據,并且可以授予每個第三方解密/閱讀/更新數據的權利,而不再需要依靠中心化平臺。
隨著 Token 化社區的興起,Collab.Land、Guild 和 Tokenproof 等 Web 3 Token 門檻產品也相繼出現。這些工具的一個主要用途是對會員專用的 Discord 頻道進行訪問控制,以及基于角色和聲譽的精細化訪問。社區可以根據 Token 持有量、鏈上活動或社交驗證,通過編程的方式授予訪問權,而不用手動分配訪問權。
Lit 是一個去中心化的密鑰管理和訪問控制協議,它使用 MPC 技術在 Lit 網絡節點之間分配私鑰的「權限」。公鑰/私鑰對由 PKP(可編程密鑰對)NFT 表示,其所有者是該密鑰對的唯一控制者。當任意定義的條件得到滿足時,PKP 的擁有者可以觸發網絡的聚合機制,從而以他們的身份解密文件或簽署信息。
在訪問控制方面,Lit 讓用戶可以設置鏈上條件,從而獲取鏈外資源。例如,DAO 可以上傳一個文件到 Arweave 或 AWS,使用 Lit 加密,并定義一組條件(如 NFT 所有權)。符合條件的錢包會簽署并向協議節點廣播一條消息,協議節點檢查區塊鏈以確保簽署者符合條件。如果條件符合,協議會為簽署者合成密鑰以解密文件。該基礎設施也可以用來打造 Web2 的體驗,如 Shopify 折扣、設有 Token 門檻的 Zoom 會議和 Gathertown 空間、直播以及谷歌云端硬盤訪問。
Kepler 可以圍繞用戶控制的數據保險庫(「Orbits」)組織數據,這些數據庫代表了數據的指定主機列表,它將作為一個智能合約,持有唯一具備控制權的密鑰。這些數據庫可以由可信方、跨主機的共識機制、資源所有者和許可有效性來管理。任何使用 SIWE 的人都可以立即利用私人數據保險庫來存儲他們的偏好數據、數字證書和私人文件。由于其支持多個存儲后端的「自帶存儲」,用戶也可以進行自我托管或使用托管版本。
下面的這些例子向我們展示了應用程序可以如何運用構建模塊的組合:
· Orbis 是一個社交類應用(「Web3 版的 Twitter/Discord」),它使用 Ceramic 進行數據存儲和更新,DM 在存儲之前會首先通過 Lit 進行加密
· Lit 可以作為一個去中心化的加密系統,用于委托他人來解密你的 Tableland 數據
· Kepler 可以將 Ceramic Documents 用作信標,以路由至私人存儲區
· Lit PKP 可以「擁有」應用程序的 Ceramic 流,Lit Action(IPFS 上的代碼)也將有權在滿足任意條件下簽署和更新數據庫
CACAO 是一個用于表示通鏈對象能力(OCAP)的標準,它是使用 Sign-in-With X 來創建的。CACAO 定義了一種將 SIWx 簽名操作的結果記錄為基于 IPLD 的對象能力 (OCAP) 方法,不僅創建了一個身份驗證的事件記錄,而且還為可驗證的授權創建了一個可組合且可重播的授權書。
授權方法讓用戶可以授予應用程序以精細化、可驗證的方式范圍精準的查看/更新數據。并且,由于這些方法會設置一定的期限,所以人們不用在每次更新時都去進行簽名,而是能夠在應用程序上進行豐富的互動,并在期限結束時簽署一次就可以了。
如圖所示,我們到達了去中心化身份基礎設施棧的頂端:
· 證明能夠確定一項聲明和簽名是否有效,它們的出現是源于對已記錄事件進行獨立驗證的需要。
· 憑證是詳細說明一個實體相關信息的文件,由另一個實體或他們自己書寫并簽署,兼具防篡改性和可加密驗證性,并且可以存儲在錢包里。
可驗證憑證(VC)是W3C可驗證憑證規范所定義的可加密數字憑證的標準數據模型和表示格式:
· 發行者是憑證的簽發方(如大學)
· 持有者擁有憑證(如學生)
· 驗證者負責驗證憑證(如潛在雇主)
· 可驗證的呈現是指用戶與第三方分享他們的數據,第三方可以驗證該憑證確實是由發證方所簽署
注意:這里的發行者、持有者和驗證者都是相對的概念,每個人都有自己的 DID 和各自收集的憑證。
憑證是構建聲譽的基礎,而聲譽本質上是一種社會現象,會隨環境的變化而變化。實體可以借助一個或多個憑證對外展示其資質、能力或權威。這就好比任何人都可以聲稱自己畢業于名牌大學,但這樣說并不會贏得他人的信任,只有大學頒發的證書才能證明這一點。
雖然 Web3 原生的徽章和某某證明項目并不都遵守 W3C 的 VC 標準,但我們可以從上面描述的系統中找到相似之處。
· 最直接的例子便是不可轉讓的 NFT 徽章,只有完成了一些鏈上活動的錢包才可以鑄造它。由于所有的交易歷史都在鏈上,所以它從一開始就具備可驗證和防篡改的特性。DegenScore 通過匯總你與 DeFi 協議的互動來量化你的賭徒指數,并根據智能合約上的規則輸出一個分數。你可以把它鑄造成 NFT,并將其作為一個「DeFi 證書」保存在你的 Crypto 錢包中。如果有某個 Degen DAO 對該分數做出了限制,你就可以向它展示這個 NFT,相應的 Token 門檻協議會對其進行驗證,成功之后你便可以加入該 DAO 了——賭徒證明(Proof of Degen)
· POAP 可以證明你參加了某個活動或在現實生活中遇到了某人——出席證明/相遇證明
· Otterspace 允許 DAO 決定什么是有意義的工作,并為其成員頒發 ntNFT 徽章;
· Proved 要求 DAO 在使其成員為其鑄造 DAO 特定的 NFT 徽章之前「簽署」一項聲明——貢獻證明
· 101 會在線上課程結束以后給通過考試的學生頒發 ntNFT——學習證明
· Kleoverse 會根據 Github 數據向用戶發放 Typescript、Rust 或 Solidity 能力徽章——技能證明
除了上面提到的訪問控制用例,Lit PKP 還可以作為 Crypto 公證人,讓 Lit Actions 在簽署證書之前對其進行檢查。例如,某些去中心化的教育平臺可以讓課程創建者自己定義考試通過的標準,將這些條件部署為 Lit Action,并根據這些條件使用其 PKP 以編程方式發布 VC。
這里出現了 2 個問題:這些證書數據點中哪些是有意義的?我們如何將它們匯總以獲得聲譽?
Orange Protocol 對此提供了一個解決方案:通過模型提供者將這些數據點整合到定義明確的模式中。在 Orange 上,MP 一般是指在其系統內有聲譽評估措施的平臺。「數據提供者」的數據會被用于模型提供者設計的模型之中,然后 MP 會添加計算方法,將聲譽標記分配給不同的實體,并將這些模型提供給其他人使用。Dapp 可以為他們的用例策劃并嵌入這些聲譽模型。
到目前為止,Aave、Gitcoin、Snapshot、DAOHaus 等已經將他們的數據提供給 Orange。這些數據由他們和其他項目如Dework、talentDAO 和 Crypto Sapiens 建模,從而為成員提供 ntNFT。這為使用 CollabLand 和 Guild 完善 Discord 許可,以及 Snapshot 的聲譽加權治理等工作創造了大量的機會。
我們在討論身份基礎設施時不能不考慮隱私問題和實現隱私的技術原語,因為隱私在棧的所有層面都很重要。在過去十年中,區塊鏈的采用加速了 zk-proof 等加密原語的研發,它除了可以應用在 rollup 等擴展技術中外,還允許身份對可公開驗證的信息做出有細微差別、保護隱私的聲明。
隱私保證有助于避免我們在使用完全透明的數據生成可信聲明時所產生的負面外部性。如果沒有這些保證,第三方機構就可以發起與原始交易無關的交互活動(如廣告、騷擾)。利用密碼學和 zk 技術,我們可以構建身份系統,其中涉及到的交互活動和數據共享可以在明確定義且與背景相關的范圍內被放入「沙盒」之中。
「普通」可驗證憑證通常采用 JSON-JWT 或 JSON-LD 格式,每個憑證都有外部或嵌入證明(數字簽名),從而使其具有防篡改和可驗證的特性。
Zk-proof 和新的簽名方案加強了 W3C VC 的隱私保護特性,例如:
· 反關聯性:每當持有者分享憑證時,這個身份標識符都可以得到共享。因此,每次出示憑證時驗證者都有可能串通起來,查看持有者在哪里出示他們的憑證,并將其定位到一個已識別的人身上。而有了盲簽名之后,你可以每次都共享簽名的唯一證明,而不共享簽名本身。
· 選擇性披露:只分享 VC 的必要屬性,而隱藏其余的屬性。JSON-JWT 憑證和 JSON-LD LD-簽名憑證都要求持有者與驗證者分享整個憑證,不能進行「部分」分享。
· 復合證明:將多個 VC 的屬性合并到一個證明中,而不需要尋求發行者的幫助或生成一個新的 VC。
· 判斷依據:允許在證明操作中隱藏驗證者提供的真實數值。例如,證明持有者的賬戶余額超過一定的門檻而不透露其具體數額,或者在不透露生日的情況下證明你達到了法定飲酒年齡。
BBS 簽名方案是 MATTR 在 2020 年最初提出的一種頗具前瞻性的方法。該提案允許 BBS 簽名與 VC 常用的 JSON-LD 格式一起使用。持有者可以有選擇地披露原始簽名憑證中的聲明。該方案生成的證明是簽名的零知識證明,這意味著驗證者無法確定具體哪個簽名被用來生成了證明,從而解決了關聯性問題。
Iden3 是一個 zk 原生身份協議,它提供了一個用于 zk 身份原語、身份驗證和聲明證明生成的可編程的 zk 框架 以及開源庫。該協議使用 Baby Jubjub 橢圓曲線為每個身份生成密鑰對,該橢圓曲線旨在有效地與 zk-SNARK 協同工作,后者用于以保護隱私的方式證明身份所有權和聲明。PolygonID 目前正在利用這一協議來建設其身份錢包。
在過去的幾年時間中,應用型 zkp 吸引了 Crypto 社區的極大關注。在 Web3 中,它已經在以下這些程序中得到了應用:
· 私人空投:Stealthdrop
· 保護隱私但可信的證明:Sismo(所有權)、Semaphore(會員制)
· 匿名通信:heyanon
· 匿名投票:Melo
這項研究的幾點啟示:
正如 Crypto 催化了 DPKI 的發展和采用,能夠提供在線/IRL 訪問權限的可組合聲譽也將成為去中心化身份基礎設施的催化劑。目前,憑證發行(某某證明)協議在不同的用例和區塊鏈網絡中依舊處于零散狀態。到 2023 年,我們將看到這些 (如配置文件) 的聚合層變得成熟起來,并成為一個統一的界面。如果它可以用來解鎖加密以外的其他體驗,如訪問事件或電子商務折扣,那么它也將會有更高的使用率。
密鑰管理仍然是容易出現單點故障的摩擦點。對于大多數 Crypto 原住民來說,這是一種尷尬的體驗,同時也是大多數消費者完全無法觸及到的事情。聯合身份對 Web 1.0 范式的用戶體驗做出了優化,允許用戶使用單點登錄的方式,而無需再記住不同的用戶名與密碼。雖然 Web3 認證的用戶體驗正在改善,但目前來看它提供的用戶體驗仍然不及預期——不僅需要記憶助記詞,而且在密鑰丟失時只提供有限的追索權。隨著 MPC 技術的成熟和在個人和機構中的推廣,這一點也將逐步得到完善。
Crypto 原生基礎設施正在滿足用戶在 Web2 中的需求。Web3 原語開始與 Web2 應用程序和服務進行整合,為人們提供了去中心化的身份,例如 Collab.Land 與 Nuggets 的整合就讓 Reddit 用戶可以將他們的聲譽作為 VC 來解鎖訪問。Auth0 認證與授權中間件整合了作為身份提供商的 SIWE,他們的 2K 企業客戶現在除了 SSO 之外還可以提供錢包登錄。
隨著數據的民主化,策展機制需要得到進一步的證實。就像索引協議 The Graph 會使用策展人和委托人的網絡對最有用的子圖發出信號一樣(鏈上數據的 API),Ceramic 和 Orange 等協議上有關用戶和聲譽的數據模型也需要充分的時間和社區的參與才能超越 DAO 和 Crypto 原生用例而走向成熟。
隱私方面也同樣需要考量。項目在選擇其棧時應仔細考慮公共存儲或永久存儲的影響。相對于保護隱私的 VC、短期和 Peer DID 以及鏈上/鏈下活動的 ZKP 組合,「純」公共數據 ntNFTs 可能適合有限的用例(例如,一些鏈上活動的抽象描述),這些活動提供了選擇性披露、密鑰轉置、反相關和撤銷等功能。
zkSNARK 這樣的新 Crypto 工具將是下一代身份基礎設施的關鍵構件。ZKP 目前正用于獨立的用例,要想將其與應用設計模式、Crypto 原語 ZK 電路的實施、電路安全工具和開發人員工具進行融合,研發部門還需要完成不少的工作。與此同時,這也是一個需要密切關注的問題。
去中心化身份是一個非常龐大的項目,單個團隊很難獨立完成。它的實現需要整個生態系統按照統一的標準,不斷迭代原語,并相互檢查設計決策的影響。
本篇探討了去中心化身份棧的基礎設施部分,下一篇我將討論配置文件、抗女巫攻擊、合規性和應用層,這些都將通過本文提到的構建模塊來實現。
如果你正在這個領域進行建設,或者對這個話題有更多的想法,歡迎提出你的見解。
原文標題:《 Towards Digital Self-Sovereignty: The Web3 Identity Stack 》
原文作者:Nichanan Kesonpat,1k(x)
原文編譯:Kxp,BlockBeats
來源:區塊律動
區塊律動BlockBeats
媒體專欄
閱讀更多
金色財經
金色財經 子木
金色早8點
去中心化金融社區
虎嗅科技
CertiK中文社區
深潮TechFlow
念青
Odaily星球日報
Tags:DIDWEBCRYPTOCRYPTDID幣WEBN幣Crypto Legions V3Global Anti Scam Crypto
此前我們分析了由數據驅動的市場更新(DeFi 之道已編譯)。結論是我們認為加密貨幣將繼續在周期中被采用。市場并沒有陷入長期衰退,也沒有對公共區塊鏈失去興趣.
1900/1/1 0:00:00▌土耳其金融犯罪調查局正在調查FTX金色財經報道,根據周一發布的官方通知,土耳其金融犯罪調查局正在調查FTX,該通知稱,該機構將調查與FTX相關的人員、機構、銀行和加密服務提供商.
1900/1/1 0:00:00OFAC明確表示過,所有與 Tornado Cash 類似的應用程序都將會受到美國的制裁,這無疑澆滅了大多數工程師開發隱私協議的熱情,也不免讓人們對隱私應用的未來產生擔憂.
1900/1/1 0:00:00本文來自 crypto-news-flash,原文作者:Paul Ade盡管目前處理 FTX 破產案件的法院并未規定提交申索賠請的截止日期,但提交索賠申請越早越好.
1900/1/1 0:00:00金色財經 區塊鏈11月12日訊 最近幾年興起的Web3技術給許多傳統企業帶來了新的啟發,這其中不乏一些全球商業巨頭。耐克公司作為當今年輕一代的文化偶像,自然不會錯過嘗新的機會.
1900/1/1 0:00:00毫無疑問,巨鯨正在整個 NFT 世界大行其道。回顧過去的一年,我們看到 NFT 領域出現了很多新場景,新應用和新變化。而買賣 NFT 的玩家也有一些新動作.
1900/1/1 0:00:00