本文涵蓋了去中心化身份的核心概念、互聯網上身份的演變、Web3 身份基礎設施堆棧的逐層概述以及隱私基元的相關發展。人身證明(Proof-of-Personhood)、合規性和應用層將在未來的文章中介紹。
原文:Towards Digital Self-Sovereignty: The Web3 Identity Stack(1kxnetwork)
編譯: Yangz,DeFi 之道
封面: Photo by Shubham Dhage on Unsplash
身份是由與個人、實體或物體相關的數據組成的新興屬性。在物理世界中,我們以抽象的聲譽和心理關聯的形式將這些數據存儲在大腦內。在數字世界中,身份被形式化為兩個組成部分:
- 標識符:一組獨特的字符或數字,用於識別一個主體(例如,護照號碼、Twitter ID、學生 ID)。
- 與該主體相關的數據(如旅行歷史、推特和關注、學術成就)。
為互聯網創建身份層是困難的,因為對它應該是什麼以及如何運行缺乏共識。數字身份與環境有關,我們會通過各種內容體驗互聯網,而這些內容至少存在於許多不同的環境中。如今,我們的數字身份大部分都是支離破碎的,處於少數利益相關方的控制之下,他們的利益是防止我們從他們的環境中溢出到任何其他地方。
- 企業將客戶關係視為關鍵資產,不願意放棄對這些關係的控制。到目前為止,沒有任何一種方法可以作為這麼做的動力。即使是一次性的臨時身份,也比他們無法控制的框架要好。
- 當涉及到維護與客戶和供應商的數字關係時,像金融這樣的特定行業有著獨特的需求(如合規)。
- 政府有區別於其他類型組織的需求。例如,對駕駛執照和護照的管轄權。
這種模式在個人和管理我們身份和數據的各方之間造成了權力的不對稱。它限制了我們的自主權,使我們無法同意、有選擇地披露自己的信息,並在不同的環境中移植我們的身份,以獲得在線和離線的一致體驗。
在 Crypto 和 web3 興起之前,去中心化身份已是一項集體努力。總體目標是讓個人重新獲得對其身份的自主權,而不依賴中心化的、單一的看門人。客戶數據的濫用和對大公司信任的減弱,使去中心化成為下一個互聯網身份時代的核心。
去中心化身份的核心概念
去中心化標識符(DID)和證明是去中心化身份的主要構建模塊。DID 被發布並存儲在可驗證的數據註冊處(VDR),作為自主的 “命名空間”,不受中央管理。除了區塊鏈之外,去中心化的存儲基礎設施和 P2 P 網絡也可以作為 VDR。
在這裡,實體(個人、社區、組織)可以使用去中心化的公鑰基礎設施(PKI)來認證、證明所有權和管理他們的 DID,與傳統的網絡 PKI 不同,它不依賴中心化的證書機構(CA)作為信任根。
關於身份的數據被寫成證明,即一個身份對另一個(或他們自己)的 “聲明”。聲明的驗證是通過 PKI 實現的加密簽名來完成的。
去中心化標識符有 4 個主要屬性:
- 去中心化:不依賴中心化機構來創建。實體可以隨心所欲地創建,在不同的環境下,保持他們所期望的身份、角色和互動的分離。
- 持續性:一旦創建,就永久地分配給實體。(雖然有些 DID 是為短暫的身份設計的)。
- 可解析:可以用來揭示有關該實體的額外信息。
- 可驗證:實體可以證明 DID 的所有權或關於它的聲明(可驗證的憑證),而不依賴第三方,這要歸功於加密簽名和證明。
這些屬性將 DID 與其他標識符區分開來,如用戶名(不可驗證)、護照(不可去中心化)和區塊鏈地址(非持續性,可解析性有限)。
萬維網聯盟(W3C)是一個由組織、工作人員和公眾組成的國際社區,共同致力於開發網絡標準。W3C 的 DID Spec 定義了 4 個主要部分:
- 方案:前綴 “did” 告訴其他系統,它正在與 DID 進行交互,而不是其他類型的標識符,如 URL、電子郵件地址或產品條形碼。
- DID 方法:向其他系統指定如何解釋該標識符。在 W3 C 網站上列出了 100 多種 DID 方法,通常與它自己的 VDR 相關聯,並有不同的機制來創建、解析、更新和停用標識符。
- 唯一標識符:一個特定於 DID 方法的唯一標識。例如,一個特定區塊鏈上的地址。
- DID 文件:上述 3 個部分可解析為 DID 文件,其中包含實體可以自我認證的方式,關於實體的任何屬性/聲明,以及指向關於實體的額外數據定位的指針(“服務端點”)。
Crypto 的影響
雖然公鑰基礎設施(PKI)已經存在了很長時間,但 Crypto 通過代幣網絡的激勵機制加速了它的採用。曾經主要由注重隱私的技術專家使用的東西,現在成為了參與新經濟的先決條件。用戶需要創建錢包來自我保管資產,並與 web3 應用程序交互。在 ICO 熱潮、DeFi 之夏、NFT 狂熱和代幣化社區的推動下,用戶手中的鑰匙比以往任何時候都多。隨之而來的是一個充滿活力的產品和服務的生態系統,使密鑰管理更加容易、更加安全。Crypto 一直是去中心化身份基礎設施和採用的完美特洛伊木馬。
讓我們以錢包開始講起。雖然錢包仍然主要是在金融意義上的資產管理背景下思考的,但代幣化和鏈上歷史已經使我們能夠代表我們的利益(NFT 藏品),工作(Kudos,101)和意見(治理投票)。丟失私鑰正在變得不像丟失金錢,而更像是丟失護照或社媒賬戶。Crypto 模糊了我們擁有的東西和我們是誰之間的界限。
然而,我們在鏈上的活動和持有的東西對我們是誰給出了一個有限的看法(而且不是保護隱私的)。區塊鏈只是去中心化身份堆棧的一個層次。其他的堆棧也有助於解決一些重要的問題,比如:
- 我們如何在網絡和生態系統中識別和認證自己?
- 我們如何證明自己的事情(聲譽、獨特性、合規性),同時保持隱私?
- 我們如何授予、管理和撤銷對我們數據的訪問?
- 在一個我們控制自己身份和數據的世界裡,我們如何與應用程序交互?
這些問題的解決方案對互聯網在未來幾代人中的面貌有著深遠的影響。
下面幾節將逐層介紹 Web3 身份堆棧的情況。即可驗證的數據註冊、去中心化存儲、數據的可變性和可組合性、錢包、認證、授權和證明。
Web3 身份堆棧
區塊鏈作為可驗證的數據註冊處
區塊鏈的分佈式和不可改變的特性使其適合作為可驗證的數據註冊處,並在此基礎上發布 DID。事實上,各種公共區塊鏈都有 W3 C 的 DID 方法,例如:
- 以太坊,did:ethr : public key 代表以太坊賬戶的身份。
- Cosmos,did:cosmos : chainspace:namespace:unique-id 代表 Cosmos 鏈間兼容的資產
- 比特幣,其中 did:btcr : btcr-identifier 代表一個 TxRef 編碼的交易 ID,參考基於 UTXO 的比特幣區塊鏈中的交易位置。
值得注意的是 did:pkh : address——一種與賬本無關的生成性 DID 方法,旨在實現區塊鍊網絡的互操作性。根據 CAIP-10 標準,是賬戶 ID,用於跨鏈的密鑰對錶達。
Fractal 是一個身份供應和驗證協議,旨在為需要獨特和不同級別的 KYC 用戶的應用而設計。在完成有效性和/或 KYC 檢查後,Fractal DID 會被發佈到相應的以太坊地址,並被添加到相應的列表中。Fractal 的 DID 註冊是以太坊上的一個智能合約,交易方可以根據該合約查詢 Fractal DID 及其驗證級別。
Kilt、Dock 和 Sovrin 是用於自我主權身份的特定應用區塊鏈。在撰寫本文時,它們主要被企業用來向終端用戶發放身份和憑證。為了參與網絡,節點需要質押原生代幣,以處理交易,如 DID/憑證的發行,定義憑證模式,並執行撤銷更新。
去中心化數據存儲
雖然通用區塊鏈也可以作為不可改變的用戶數據的數據源,如資產所有權和交易歷史(如投資組合跟踪器和 “DeFi 評分” 應用程序),但它們可能不適合存儲關於用戶的大多數數據,因為編寫和定期更新大量信息的操作成本很高,且會損害隱私,因為數據是默認可見的。
也就是說,有一些特定應用的區塊鏈,如 Arweave *,是為永久存儲而設計的。Arweave 向礦工支付區塊獎勵和交易費用,以換取對網絡上存儲的信息的複制。礦工需要提供 “ 訪問證明”,以便增加新的區塊。一部分費用也被支付給一個永久的捐贈基金,當存儲成本不能被通貨膨脹和費用覆蓋時,該基金將在未來支付給礦工。
以太坊和 Arweave 是基於區塊鏈的數據持續性方法的例子。在 Ethereum 上,每個完整的節點都必須存儲整個鏈。在 Arweave 上,處理新區塊和新交易所需的所有數據都被記入每個單獨區塊的狀態中,允許新的參與者加入網絡,只需從其受信任的同伴那裡下載當前區塊。
基於合約的持續性意味著數據不能被每個節點永久地複制和存儲。相反,數據是通過與多個節點簽訂合約而持續存在的,這些節點同意在一段時間內持有一塊數據,並且每當它們用完時必須續約以保持數據的持久性。
IPFS 允許用戶在一個點對點的網絡中存儲和傳輸可驗證的、有內容地址的數據。用戶可以在自己的 IPFS 節點上保存他們想要的數據,利用專門的節點組,或使用第三方的 “pinnin” 服務,如 Pinata、Infura 或 web3.storage。只要有一個節點在存儲數據,數據就會存在於網絡中,並在其他節點要求時提供給它們。在 IPFS 的頂層是加密經濟層,如 Filecoin 和 Crust Network,旨在通過創建一個長期數據持久性的分佈式市場來激勵為網絡存儲數據。
對於個人身份信息(PII),許可的 IPFS 可以用來遵守 GDPR / CCPA 的被遺忘權,因為它允許用戶刪除他們存儲在網絡中的數據。身份錢包 Nuggets 採用了這種方法,並通過讓商家和合作夥伴運行專門的節點,進一步去中心化了。
其他基於合約的去中心化存儲解決方案包括 Sia 和 Storj,它們在整個網絡的多個節點之間加密和分割單個文件。兩者都使用擦除編碼(只需要一個存儲節點的子集來提供文件),以確保數據的可用性,即使一些節點離線。它們也有內置的激勵結構,使用原生代幣進行存儲。
數據變更和可組合性
通用區塊鏈、Arweave 和 IPFS 都保證了不變性,這對靜態 NFT 藝術和永久記錄等數據來說是一個有用的屬性。然而,我們今天與大多數應用程序的交互會不斷地更新我們的數據。為易變數據設計的 Web3 協議就是為了實現這一點,利用了下面的去中心化存儲層。
Ceramic 是一個用於去中心化數據變更和可組合性的協議,其工作原理是將 IPFS 或 Arweave 等持久性數據存儲網絡中的不可改變的文件轉化為動態數據結構。在 Ceramic 上,這些 “ 數據流” 類似於它自己的可變賬本。私人數據可以在鏈外存儲,其模式在 Ceramic 上有索引,附在通往外部私人存儲的 DID 數據存儲上。
當用戶在一個由 Ceramic 驅動的應用程序中更新他們的資料時,該協議將這些更新驗證為一個流,將其轉化為一個新的狀態,同時保持對以前狀態變化的跟踪。Ceramic 上的每一個更新都由一個可以映射到多個地址的 DID 來驗證,為用戶在沒有服務器的情況下更新他們的數據鋪平道路。
今天,Web2 實體擁有 UI 和後台,它們在那裡存儲和控制用戶數據。谷歌和 Facebook 利用這些數據在算法上個性化我們在他們平台上的體驗,進一步將他們收集的數據產品化。新的應用程序必須從頭開始,不能從一開始就提供個性化的體驗,這使得市場的競爭力下降。
Web3 使數據民主化,為新產品和服務提供了公平的競爭環境,為應用程序的實驗和競爭市場創造了一個開放的環境。在一個用戶可以把數據從一個平台帶到另一個平台的世界裡,應用開發者不需要從一個空白的狀態開始,它們可以立即給到用戶個性化的體驗。用戶可以用他們的錢包登錄,並授權應用程序讀取/寫入他們完全控制的 “ 數據庫”。
Ceramic 上的 ComposeDB 是一個去中心化的圖形數據庫,使應用開發者能夠使用 GraphQL 發現、創建和重用可組合的數據模型。圖中的節點是賬戶(DID)或文件(數據流)。圖中的邊代表節點之間的關係。
DID 代表可以向圖中寫入數據的任何實體,例如最終用戶、組織、應用程序或任何類型的認證服務。
模型是 Ceramic 流,存儲關於文檔的數據結構、驗證規則、關係和發現信息的元數據。開發人員可以創建、組合和重新混合模型,形成數據組合,作為他們應用程序的數據庫。這取代了有著中心化的 UID 和相關數據的傳統用戶表。應用程序可以建立在由用戶控制的公共數據集之上,而不是管理他們自己獨立的表格。
由於應用程序可以去允許地定義他們將用於特定環境的模型,策展市場就變得非常重要,因為它為最有用的數據模型(為社交圖、博客文章等定義的模式)提供了一個信號。有了這些數據模型的市場,應用程序可以對這些模型發出信號,使其更容易被消費。這將激勵公共數據集產生更好的分析和信息圖,以便產品在此基礎上進一步創新。
Tableland 是用於可變的、結構化的關係數據的基礎設施,其中每個表都是作為 EVM 兼容鏈上的一個 NFT 被鑄造的。NFT 的所有者可以為表設置訪問控制邏輯,允許第三方在數據庫上執行更新,如果該方有適當的寫入權限。Tableland 運行一個鏈外驗證器網絡,管理表的創建和後續的變更。
鏈上和鏈下的更新由智能合約處理,該合約使用 baseURI 和 tokenURI 指向 Tableland 網絡。通過 Tableland,NFT 元數據可以變更(使用訪問控制)、查詢(使用 SQL)和組合(與 Tableland 上的其他表)。
類似於像 ERC-20 和 ERC-721 這樣的智能合約標准給了 dapp 一個關於我們如何創建和轉移代幣的共享語言,數據模型標准給了應用程序之間關於資料、聲譽、DAO 建議和社交圖的共享理解。通過任何人都可以提交的開放註冊,這些數據可以被多個應用程序重新使用。
將應用程序與數據層解耦,允許用戶在平台之間移植自己的內容、社交圖和聲譽。應用程序可以進入相同的數據庫,並在其背景下使用,使用戶能夠在不同的背景下獲得一個可組合的聲譽。
錢包
廣義上講,錢包包括用於密鑰管理、通信(持有人、發行者和驗證者之間的數據交換)以及債權展示和驗證的接口和底層基礎設施。
值得區分的是加密錢包(MetaMask、Ledger、Coinbase Wallet 等)和身份錢包。加密錢包存儲區塊鍊網絡特有的加密密鑰,旨在發送/接收代幣和簽署交易。身份錢包存儲身份,並允許用戶創建和提供聲明,這樣他們就可以跨應用程序和服務提供身份數據。
身份錢包的例子包括 ONTO , Nuggets , 和 Polygon ID Wallet .。一些身份錢包,如 Fractal,將有效性檢查和 KYC 作為其進入流程的一部分,因此用戶可以有一個聲明(Claim),以提交給有此類要求的應用程序。這在加密錢包中要少得多。此外,身份錢包也更有可能支持 W3C 認可的 DIDs、可驗證憑證和 DIDComm 的實現以及 web3 以外的用例。
WalletConnect 是一個連接錢包與錢包以及 dapps 之間的通信協議。作為一個簡約的、無偏見的協議,WalletConnect 已經為數以百萬計的加密用戶提供服務,在加速採用自我主權身份基礎設施方面,WalletConnect 可能被證明是 DIDComm 的一個強有力的替代。與 DIDComm 需要服務供應商提供託管調解器基礎設施不同的是,WalletConnect 將信息存儲在中繼網絡的 “雲郵箱” 中,當錢包重新上線時,將這些信息推送給錢包。
認證
認證是根據一個或多個認證因素來確認用戶的身份。認證因素可以是用戶擁有的東西(數字簽名、身份證、安全代幣)、他們知道的東西(密碼、PIN、秘密答案)或生物識別(指紋、聲音、視網膜掃描)。
在去中心化的身份範式中,用戶可以使用他們的錢包認證自己。在後台,錢包使用其存儲的密鑰來產生數字簽名,作為持有人擁有與該賬戶相關的私鑰的 “證明”。由於加密錢包可以產生簽名,提供 web3 登錄的應用程序能夠讓用戶用他們的 Metamask 或 WalletConnect 進行認證。
多年來,加密用戶們通過連 “接錢包” 與 dapp 交互。dapp 對連接的用戶沒有任何記憶,每次訪問網站時都會把他們當作是一塊白板。
今天,用戶與 dapp 有了更深的交互模式。去中心化的身份信息在這裡變得有用,因為它允許應用程序獲得更多圍繞用戶的背景,在提供個性化的體驗的同時,讓個人保留對自己數據的控制。
對於更豐富的背景交互,如加載用戶偏好、配置文件或私人聊天信息,應用程序需要首先確保它是在與賬戶背後的實際秘鑰持有人對話。雖然 “連接錢包” 不提供這種保證,但認證標準可以。認證與用戶建立了一個會話,並允許應用程序安全地讀取和寫入他們的數據。
Sign-In with Ethereum(SIWE)是由 Spruce、ENS 和 Ethereum 基金會率先提出的認證標準。SIWE 標準化了一種消息格式(類似於 jwt),供用戶使用基於區塊鏈的賬戶登錄服務。Sign-In with X(CAIP-122)在此基礎上,使 SIWE 成為以以太坊為中心的 SIWx 的實現,將標準泛化為跨區塊鏈運作。
對於個人來說,這意味著能夠用他們的 web3 錢包註冊或登錄,而不需要創建一個用戶名和密碼,“只需點擊幾下” 的用戶體驗就能模仿社交登錄,同時保持對其在線身份的主權。應用程序可以將此作為一種針對 web3 原生受眾的市場策略,滿足用戶的需求。
從中期來看,使用加密錢包登錄 dapp 和其他 web2 服務的能力將成為 web3 原生的用戶體驗改進。然而,這將使用戶面臨相關和跟踪問題,這些問題在 web2 中變得非常有害。通過 Peer DIDs 或自我認證的標識符的認證可以作為一個替代解決方案。
與上面描述的 “普通”DIDs 不同,Peer DIDs 被設計為在 2 個或 N 個已知方之間使用。它們可以被用作每個服務和/或互動的唯一標識符。該數字身份中的加密錢包地址可以與 VC 一起存儲,作為每個商家或服務互動的驗證證據。
授權和訪問控制
認證確認了用戶的身份,而授權決定了一個實體應該能夠訪問哪些資源,以及他們被允許對這些資源做什麼。這兩個過程是獨立的,但在用戶體驗流程中往往是攜手並進的。在用社交登錄方式登錄到第三方服務後,用戶可能會被提示一些授權請求,如下圖所示:
在聯合身份模式中,你授權第三方應用程序查看或更新你存儲在身份供應商(如穀歌)的數據,他們維護著你授權給這些應用程序的列表和相關權限。Web3 授權基礎設施和標準同樣有助於實現這樣的目標,只是你擁有自我主權的數據,並且可以授予每個第三方解密/閱讀/更新數據的權利,而不需要中心化的中間人。
隨著代幣化社區的興起,web3 代幣門控產品如 Collab.Land、Guild 和 Tokenproof 也隨之出現。這些工具的一個主要用途是對會員專用的 Discord 頻道進行訪問控制,並根據角色和聲譽進行更細化的訪問。社區可以根據代幣持有量、鏈上活動或社會驗證,以編程方式授予訪問權,而不是手動分配訪問權。
Lit 是一個去中心化的密鑰管理和訪問控制協議,它利用 MPC 技術在 Lit 網絡節點之間分配私鑰的 “ 份額”。公鑰/私鑰對由 PKP(可編程密鑰對)NFT 表示,其所有者是該密鑰對的唯一控制者。當任意定義的條件得到滿足時,PKP 的擁有者可以觸發網絡聚合密鑰份額,代表他們解密文件或簽署信息。
在訪問控制的背景下,Lit 使用戶能夠定義鏈上條件,給予鏈下資源訪問權。例如,一個 DAO 可以上傳一個文件到 Arweave 或 AWS,用 Lit 加密,並定義一組條件(如 NFT 所有權)。合格的錢包簽署並向協議節點廣播一條消息,協議節點檢查區塊鏈以確保簽署者符合條件,如果符合條件,則為簽署者聚集密鑰份額以解密文件。這個相同的基礎設施也可用於解鎖 web2 體驗,如 Shopify 折扣,上鎖的 Zoom 房間和 Gathertown 空間,現場直播和谷歌驅動器訪問。
Kepler 圍繞用戶控制的數據庫(”Orbits”)組織數據,這些數據庫代表了數據的指定主機列表,作為一個智能合約,只有他們的密鑰可以控制。這些數據庫可以由可信方、跨主機的共識機制、資源所有者和許可有效性來管理。任何使用 SIWE 的人都可以立即利用私人數據庫來存儲他們的偏好、數字證書和私人文件。通過對多個存儲後端的 “ 自帶存儲” 支持,用戶可以自我託管或使用託管版本。
一些例子說明了應用程序如何使用前面提到的構建模塊的組合:
- Orbis 是一個社交網絡應用(”web3 Twitter/Discord”),使用 Ceramic 進行數據存儲和更新,私信在存儲前首先通過 Lit 進行加密
- 使用 Lit 作為一個去中心化的加密系統,委託誰能夠解密你的 Tableland 數據
- Kepler 可以使用 Ceramic 文檔作為一個信標,以路由到私人存儲區
- 創建 Lit PKPs,讓應用程序 “ 擁有” 一個 Ceramic 流,並授予 Lit Actions(IPFS 上的代碼)在滿足任意條件下簽署和更新數據庫的能力
CACAO 是一種表示鏈不可知對象能力(OCAP)的標準,使用 Sign-in-With X 創建。它定義了一種方法,將 SIWx 簽名操作的結果記錄為基於 IPLD 的對象能力(OCAP),不僅創建了認證的事件接受,還為可驗證的授權創建了可組合和可重放的授權接收。
授權方法讓用戶授予應用程序查看/更新其數據的細粒度、良好範圍和可驗證的能力。此外,它可以是基於會話的,這樣它們就不必在每次更新時簽署消息,而是在應用程序上進行豐富的交互,並在會話結束時簽署一次。
證明和憑證
在這裡,我們達到了去中心化身份基礎設施堆棧的頂端,如圖所示。
一些術語:
- 證明是指證明一項聲明和簽名是有效的,它們產生於對記錄的事件進行獨立核查的需要。
- 憑證是任何詳細說明一個實體的信息的文件,由另一個實體或他們自己書寫和簽署。憑證是防篡改和可加密驗證的,可以存儲在一個錢包裡。
可驗證憑證(VC)是 W3C 可驗證憑證規範所定義的可加密的數字憑證的標準數據模型和表示格式:
- 發行者是憑證的簽發方(如大學)
- 持有者擁有憑證(例如,學生)
- 驗證者驗證證書(如潛在的雇主)
- 可驗證的呈現是指用戶與第三方分享他們的數據,而第三方可以驗證該憑證確實是由發行者簽署的
請注意,這裡的 “發行者”、“持有者” 和 “驗證者” 是相對的。每個人都有自己的 DID 和他們收集的憑證。
憑證是聲譽的基石,而聲譽是一種社會現象,隨環境的變化而變化。一個或多個憑證可以被用作一個實體的資格、能力或權威的代表。任何人都可以對自己說,他們以優異的成績畢業於一所著名的大學,但這對其他人來說沒有什麼意義。大學持有的證書才被認為是合法的或有聲望的。
雖然 Web3 原生的徽章和 X 證明項目並不都遵守 W3C 的 VC 標準,但我們可以從上面描述的系統中找到相似之處。
- 最直接的例子是不可轉讓的 NFT 徽章,只有完成了一些鏈上活動的錢包才可以鑄造。因為所有的交易歷史都在鏈上,所以從一開始就可以驗證和防篡改。DegenScore 通過匯總你與 DeFi 協議的互動來量化你的 ape 屬性,並使用智能合約上的規則輸出一個分數。你可以鑄幣,並將其作為一個 “DeFi 憑證” 保存在你的加密錢包中。如果有一個 Degen DAO 僅限於那些具有一定分數的人,那麼你可以將這個 NFT 呈現給 DAO,隨後代幣門控協議可以驗證你持有它,你便可以進入這個 DAO——Degen 證明
- POAPs * 證明你參加了某個活動或在 IRL 中遇到了某人— 出席證明/邂逅證明
- Otterspace 允許 DAO 決定什麼是有意義的工作,並為其成員頒發 ntNFT 徽章,Proved 要求 DAO 在使其成員為其鑄造 DAO 特定的 NFT 徽章之前 “簽署” 一項主張– 貢獻證明
- 101 在其在線課程結束時,一旦學生通過測試,就會頒發 ntNFT– 學習證明。
- Kleoverse 根據 GitHub 數據向用戶發放 Typescript、Rust 或 Solidity 能力徽章– 技能證明
- 除了上面概述的訪問控制用例,Lit PKPs 還可以作為一個加密公證人,Lit Actions 在簽署證書之前進行檢查。例如,一個去中心化的教育平台可以允許課程創建者定義如何算是通過測試,並將這些條件部署為 Lit Action,根據這些條件使用其 PKP 以編程方式發布 VC。
這裡出現了 2 個問題:這些認證數據點中哪些是有意義的,我們如何匯總它們以獲得聲譽?
Orange 協議對此提供了一個解決方案:通過模型提供者將這些數據點整合到定義明確的模型中。在 Orange 上,MPs 一般是指在其係統內有信譽評估措施的平台。“數據提供者” 允許他們的數據被用作模型提供者設計的模型的輸入。然後 MPs 添加計算方法,並將聲譽標記分配給不同的實體,並將這些模型提供給其他人使用。Dapps 可以為他們的用例策劃和插入這些信譽模型。
到目前為止,Aave , Gitcoin , Snapshot , DAOHaus 等已經將他們的數據提供給了 Orange。這些數據由他們和其他項目如 Dework , talentDAO , and Crypto Sapiens 建模,為成員提供 ntNFTs,這釋放了從使用 CollabLand 和 Guild 改善 Discord 許可,到 Snapshot 的聲譽加權治理的廣泛機會。
隱私
如果不考慮隱私問題和實現隱私的技術基元,關於身份基礎設施的討論就不完整。隱私是堆棧中所有層級的一個因素。在過去的十年中,區塊鏈的採用加速了強大的加密基元的研發,如 zk-proofs,除了它在擴展技術中的應用,如 rollups,允許身份對可公開驗證的信息做出細微的、保護隱私的聲明。
隱私保證幫助我們避免使用完全透明的數據產生可信的聲明所帶來的負面外部性。如果沒有這些保證,第三方可以發起與原始交易無關的範圍外的互動(例如廣告、騷擾)。利用密碼學和 zk 技術,我們可以構建身份系統,其中的互動和數據共享被 “沙盒化” 在明確定義的、與背景相關的範圍內。
“普通的” 可驗證憑證通常以 JSON-JWT 或 JSON-LD 格式出現,每個憑證都有外部或嵌入的證明(數字簽名),使其具有防篡改和可驗證的特性,由發行人撰寫。
Zk-proofs 和新的簽名方案則增強了 W3 C VC 的隱私保護特性,如:
- 抗關聯性:每次持有人分享憑證時,這個標識符就會被分享,因此,每次出示憑證都意味著驗證者有可能串通起來看到持有人在哪裡出示他們的憑證,並將其三角定位到一個被識別的人身上。有了簽名盲文,你可以每次都共享簽名的唯一證明,而不共享簽名本身。
- 有選擇的披露:只分享 VC 的必要屬性,而隱藏其餘的屬性。JSON-JWT 憑證和 JSON-LD LD – 簽名憑證都要求持有人與驗證者分享整個憑證— 不存在 “部分” 分享。
- 複合證明:將多個 VC 的屬性合併到一個證明中,而不需要去找發行人或生成一個新的 VC。
- 預測:允許在操作中使用隱藏的值,並由驗證人提供一個值。例如,憑證持有人的賬戶餘額超過某個閾值而不透露餘額,或者經常被引用的情況是證明你是合法飲酒年齡而不透露你的出生日期。
一個有望的方法是 BBS 簽名方案,最初由 MATTR 在 2020 年提出。該提案允許 BBS 簽名與 VC 常用的 JSON-LD 格式一起使用。持有人可以選擇性地披露最初簽署的憑證中的聲明。該方案產生的證明是簽名的零知識證明,這意味著驗證者無法確定哪個簽名被用來產生證明,從而消除了一個常見的關聯來源。
Iden3 是一個 zk 原生身份協議,它提供了一個可編程的 zk 框架和開源庫,用於 zk 身份原語、認證和證明生成的聲明。該協議使用 Baby Jubjub 橢圓曲線為每個身份生成密鑰對,該曲線被設計成能與用於以保護隱私的方式證明身份所有權和聲明的 zk-SNARKs 有效協作。PolygonID 目前將該協議用於其身份錢包。
應用 zkp 是一個活躍的研究和實驗領域,在過去的幾年裡,已經從加密社區建立了很多興奮點。在 web3 中,我們已經看到它被用於以下應用中:
- 私人空投:Stealthdrop
- 保護隱私但可信的證明:Sismo(所有權),Semaphore(成員資格)。
- 匿名信息傳遞:heyanon
- 匿名投票/表決:Melo
結論
本項研究的一些一般啟示:
- 就像 Crypto 如何催化 DPKI 的發展和採用一樣,授予在線/IRL 訪問權限的可組合信譽將成為去中心化身份基礎設施的催化劑。目前,憑證發行(x 證明)協議在不同的用例和區塊鍊網絡中是零散的。在 2023 年,我們將看到這些的聚合層(如配置文件)成熟,並作為一個統一的界面獲得採用,特別是如果它可以用來解鎖 crypto 以外的體驗,如訪問活動或電子商務折扣。
- 密鑰管理仍然是一個摩擦點,容易出現單點故障。對大多數加密原生用戶來說,這是一個笨重的體驗,而對大多數消費者來說,這是一個完全無法訪問的體驗。聯合身份認證是對 web1.0 模式的用戶體驗改進,允許單點登錄與每個應用程序的用戶名和密碼。雖然 web3 認證的用戶體驗正在改善,但它仍然提供了較差的用戶體驗,需要種子短語,並且在密鑰丟失時提供有限的追索權。隨著 MPC 技術的成熟和在個人和機構中的推廣,我們將看到這方面的改進。
- 加密基礎設施正在滿足用戶在 web2 中的需求。Web3 基元開始與 web2 應用程序和服務整合,為大眾帶來去中心化身份,例如 Collab.Land 與 Nuggets 整合,允許 Reddit 用戶將他們的聲譽作為 VC 來解鎖訪問。Auth0 認證和授權中間件集成了 SIWE 作為身份提供者,他們的企業客戶現在可以在 SSO 之外提供錢包登錄。
- 隨著數據的民主化,淨化機制需要得到驗證。就像索引協議 The Graph 使用策展人和委託人的網絡對最有用的子圖發出信號一樣(鏈上數據的 API),圍繞 Ceramic 和 Orange 等協議的用戶和聲譽的數據模型需要時間和社區參與才能成熟,從而超越 DAO 和加密用例。
- 隱私考慮。項目在選擇其堆棧時應仔細考慮公共或永久存儲的影響。相對於保護隱私的 VC、短暫和 P 而 DID 以及鏈上/鏈下活動的 ZKP 的組合,“純” 公共數據 ntNFTs 可能適合有限的用例(例如,一些鏈上活動的抽象),這些活動提供了選擇性披露、密鑰旋轉、反相關和可撤銷等功能。
- 像 zkSNARKs 這樣的新加密工具將是下一代身份基礎設施的重要組成部分。雖然 zkp 目前被應用於孤立的用例,但它將需要一個自下而上的集體研發工作來集中應用程序設計模式、用於加密原語的 ZK 電路實現、電路安全工具和開發人員工具。這是需要密切關注的事情。
去中心化身份是一個大項目,它需要整個生態系統的努力,在標准上趨同,在基元上迭代,並在設計決策的影響上相互檢查。
本文涵蓋了去中心化身份堆棧的基礎設施部分,下一篇文章將討論配置文件、防女巫攻擊、合規性和應用層,這些都是由這裡提到的構建模塊實現的。
如果你正在這個領域進行建設,或者對這個話題有更多的想法,我們希望能聽到你的意見。
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。文章內的信息僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。