身份基礎設施應該是一個開放和共享的協議,它是跨越 Web 3.0 中不同區塊鏈、分佈式數據庫互操作性的最重要部分。

原文標題:《揭開數字身份的神祕面紗 (1/2)》
撰文:Danny Zuckerman
翻譯:will
校對 : Tiny 熊

身份一直以來都是一個挑戰,不僅在去中心化技術中,在一般的在線應用中也是如此。具有挑戰的地方在於,人們不清楚「身份」的含義,以及它在數字產品、服務和網絡中的多種形式。這是構建者經常感到困惑和沮喪的原因,導致許多人避免處理身份 ID 或實現短期的變通方法。每種身份系統都會產生巨大的影響,隨着產品的使用和成熟,身份系統的重要性和複雜性都在增長。

編者注:根據上下文不同,數字身份根據上下文不同、存在多個表述方式:身份、身份 ID、身份系統。

本系列有兩篇文章,將幫助你分解數字應用程序、服務和產品的身份,特別是對於去中心化架構和交互性的 web。其目的是將一個模糊的主題具體化,將一個大問題具體化,將一個困難而空洞的領域簡單化分析。

第一部分分析身份在數字產品中的作用

包括:

  • 數字身份的明確定義和範圍;
  • 它爲你的產品或服務帶來的價值;
  • 常見的身份解決方案 (如密鑰對、鏈上 id、oauth 登錄和自定義解決方案)。

第二部分分享了在數字身份基礎實施上需要做些什麼

包括 :

  • 身份系統該建立的關鍵標準;
  • 它必須支持的 5 個特性和能力;
  • 一個適合你的靈活的技術棧模型;
  • 一天內實現未來架構。

數字身份是一個快速發展的領域,有着悠久的學術和實踐貢獻歷史 (我曾試圖引用其中一些),因此並不總是容易被理解或接受。我的觀點是通過幫助建立 uPort 和 3Box,參與社區標準,和合著一本關於身份的社會學的書來實現的。本系列決不是身份的完整歷史或完整視圖,但我希望它有助於使基礎設施的關鍵部分更容易理解和構建。

身份是什麼?

在社會學、心理學和生物學的領域裏,沒有一個公認的身份定義。學術界的研究範圍從嚴格的類別集合到模糊的概念。著名心理學家埃裏克·埃裏克森說過 :

一個人寫的 [身份] 越多,這個詞就越成爲一個術語,它是深不可測的,因爲它無處不在。

埃裏克森後來創造了「身份危機」這個術語。

身份定義的模糊性被帶入了數字世界。當技術人員談到身份時,他們表達的含義範圍可能非常廣泛,亦或者與他們相關場景的某個子集。

[譯] 揭開數字身份的神祕面紗 (1/2)「身份解決方案」可能針對的是部分離散問題集

這張圖中描述的身份的各個方面是不一樣的,並且每個方面的解決方案都有很大的不同,但是它們是高度相關的。理解這些元素如何在一個共同的框架下如何結合在一起是獲得成功的關鍵,並且可以將身份從一系列孤立的痛點轉化爲產品架構中最大的簡化和增值的地方之一。

無論你對身份的目標和技術需求是什麼,理解應該從人的層面開始——這也是我們經常誤入歧途的地方。儘管有不完善的定義和分歧,學者們幾乎一致同意,與我們的本能和詞彙相反,身份不是靜態的、單一的或個人的。身份是動態的、多元的和社會性的。

如果我們希望構建一個真正連接的、可信的、可用的、可以擴展到全球使用的 Web3,我們應該在反映這一出發點的基礎設施上構建。正如我們將看到的,強的身份 ID 不是僵化的、固定的和孤立的,而是靈活的、動態的和可互操作的。

身份在產品中的角色

如果你正在構建一個應用程序 (或者錢包、服務、平臺、網絡),你可能需要用戶。這些用戶可能是主流消費者、開發人員、組織和 / 或去中心化組織。無論你服務的用戶類型是什麼,目標都是一樣的 : 讓其他人與你的產品互動,並從中實現價值。這意味着你想 :

  • 消除註冊、認證和參與方面的摩擦
  • 以最小的額外代價,提供儘可能豐富的經驗
  • 專注於你的核心增值點,無需閉門造車創建新的冗餘的基礎應用
  • 該用戶模型可以隨你的需求隨時間增長

這些目標的解決方案取決於你如何管理用戶。他們如何認證 (登錄)?他們能互相交流 (聊天 / 評論) 嗎 ?你能跨越時間、設備和登錄提供持久和個性化的體驗嗎?你可以輕鬆地與用戶所使用的許多其他產品和平臺集成嗎?

在傳統的 web 應用程序中,這通常分爲身份驗證 (與帳戶創建、KYC 等相關)、身份驗證 (登錄、防欺詐) 和授權 (權限、共享)。這種方法將隨着更靈活的去中心化模型而改變。身份涉及到與如何管理、安全、服務和與用戶羣交互有關的所有內容。

身份需求隨着成長而演變

隨着產品的增長,管理用戶羣的需求也會迅速變化。

今天,你最大的「身份」痛點可能是在你的應用程序中填充基本的公開檔案信息,以便用戶能夠識別彼此。下個月,它可能存儲用戶歷史記錄和應用程序狀態的數據,比如過去的或進行中的事務 (比如購物車)。下個季度可能是基本的 KYC,明年可能是反西比爾保護。這些產品需求中的每一個都有不同的潛在解決方案解決了不同的「身份」問題。

  • 檔案文件(Profiles):我應該實現 oauth 還是一個映射到鍵的 IPFS 哈希?但是如果用戶旋轉祕鑰或使用多個祕鑰呢?
  • 數據存儲(Data storage):我應該存儲數據在 Textile ThreadsDB?但是我如何允許用戶管理訪問控制而不添加更多的鍵類型和摩擦呢?
  • KYC/ 人類證明:我應該使用像 Passbase 這樣的服務還是 Democracy Earth 的技術?如何將此檔案文件映射到現有用戶?
  • Anti-Sybil:我應該使用 BrightID 或 Idena 這樣的服務嗎?那麼我如何將它們的圖表映射到我的用戶基礎上呢?

獨立地實現這些解決方案顯然有其自身的挑戰,但是你最大的痛點將來自於沒有從一開始就使用正確的身份基礎設施以一種經得起未來考驗的方式將它們聯繫在一起。

一個強大而靈活的身份基礎設施可以使每一個新的需求自然地擴展到以前的需求,而不是新的孤立的挑戰,這些挑戰需要單獨解決,然後再一起解決。

身份是一種基礎設施

它可以讓你有效地將任何信息與用戶相關的功能綁定在一起。

良好的身份基礎設施應該使滿足你不斷髮展的與用戶相關的需求變得簡單和輕鬆。如果你曾經使用過 Okta 或 Rippling,你就會明白這是他們試圖爲企業做的事情。他們的目標是爲用戶和賬戶提供一個單一的記錄系統,但是他們是在一個明確的、有限的、可控的企業環境中做到這一點的。在一個更加開放和未定義的環境中 (比如 Web3),一個好的身份基礎設施需要以一種可預測的方式在無許可和無限的上下文中工作。

這意味着你的身份基礎設施必須具有足夠的自定義能力,以滿足你自己的需要,同時也必須具有足夠的靈活性,以便能夠很好地與許多其他現有解決方案一起工作。它應該是可擴展的,並且可以跨許多不同的網絡、帳戶 / 密鑰和場景進行互操作。它不僅可以用於你正在使用的其他工具和服務,還可以用於你的用戶正在使用的其他工具和服務以及你將來可能需要的其他工具和服務。這不僅將使身份管理變得更容易,而且將允許每個解決方案在其他解決方案的基礎上創建複合價值。例如,KYC 驗證可以利用現有的用戶配置文件信息,而 anti-sybil 工具可以利用現有的 KYC(和任何其他) 驗證。

也許最重要的是,身份系統應該在不依賴於單個組織、平臺或模型的情況下運行。身份基礎設施應該是一個開放和共享的協議,身份本身應該是用戶管理和自主權的。

沒有適當身份基礎引起的構建問題

🔑 單一密鑰對身份

在當今的加密世界中,默認用戶「身份」往往是一個公開的區塊鏈帳戶密鑰。這是合理的,爲什麼會這樣 : 區塊鏈密鑰已經需要管理資產,所以它們被用戶廣泛擁有,現在有許多偉大的錢包和 sdk 來管理它們。實際上,密鑰和管理這些密鑰的 KMS 解決方案 (錢包) 是驗證到應用程序和執行鏈上交易的一種極好的方式,但是單個密鑰對不能成爲任何希望擴展到有意義和持久使用的產品的用戶身份基礎設施。

使用單個密鑰對作爲身份 ID 的問題:

  • 侵犯隱私:不存在分離的或私有的活動,因爲所有由相同「身份」的交易必須使用相同的公鑰。
  • 創建脆弱性:當密鑰用於簽名和 / 或加密數據時,當密鑰丟失或更改 / 旋轉時,與你的產品相關的所有用戶數據和歷史都會丟失。
  • 創建了隔離:信息只能通過特定的密鑰訪問,沒有機會在錢包和網絡之間實現互操作性和可組合性。這與 Web3 的願景背道而馳。
  • 增加複雜性:向堆棧中添加分佈式數據庫和其他用戶技術非常困難,因爲它們使用不同的加密身份和訪問控制系統操作。
  • 放棄網絡效應:你必須從頭啓動你自己的用戶網絡、配置文件和數據,而不是利用現有的數據來輕鬆地板上用戶和跳過冷啓動。

密鑰對和錢包是 Web3 體驗的核心部分,但它們應該補充 (並與) 優秀的身份基礎設施緊密集成。

🔗 鏈上 , 網絡特殊身份

在區塊鏈生態系統中,依賴單一密鑰對進行身份驗證的侷限性已經被充分理解,這導致了對基於智能合約的身份驗證和特定於網絡的身份標準的嘗試。uPort 在 2016 年開創了基於以太中心智能合約的身份認證,2017 社會復甦 [4],在 2018 年開創了 EIP 10565。Fabian Vogelsteller 編寫了多個版本的 ERC-725,還有許多人試圖爲以太坊或其他區塊鏈網絡建立多密鑰身份模型。

使用鏈上的、特定於網絡的標識符作爲身份 ID 的問題:

  • 泄露隱私:使用鏈上註冊中心或智能合約存儲身份信息 (如 ERC-725 或 ERC-1056) 很可能會泄露用戶隱私或控制權。PII 不應該進入不可變網絡或數據存儲。
  • 網絡鎖定:要求爲你或你的用戶利用的每個網絡創建不同的身份,這會在跨鏈的世界中導致糟糕的開發人員和用戶體驗。
  • 技術鎖定:隨着新的區塊鏈、技術和用戶模式的出現,需要管理更多的時間、成本和複雜性。
  • 互操作性有限:無法輕易地從其他網絡獲取數據或身份。

雖然是對使用密鑰的改進,但爲單一網絡構建的身份標準——依賴於單一的區塊鏈,如以太坊——將我們鎖在了新的隔離和比 web2 更糟糕的用戶體驗中。我們正在走向一個多鏈的未來,像 Filecoin、Arweave、Flow、Near、Celo 和 Solana 這樣的網絡都將上線,併爲正在建立在以太坊上的東西增加價值。更好的系統需要將身份 ID(或身份) 從任何特定網絡中分離出來,這樣就可以跨網絡與密鑰一起使用。

📩 Oauth 登錄

在短期內,某些應用程序可以很好地使用集中服務進行身份驗證。這可以簡化用戶體驗 (特別是在改進的錢包 sdk 之前)。但是這種方法不適用於那些希望提供完美而完整的 Web3 體驗的應用程序。Web2 登錄是一種可行的身份驗證方法,但不是身份解決方案。

使用 Oauth 服務作爲身份 ID 的問題

  • 後端複雜性:需要構建和維護用戶表,以跟蹤 oauth 令牌、內部用戶身份 IF、用戶的區塊鏈帳戶和其他用戶信息 (如資產、交易和數據) 之間的內部映射。
  • 零散用戶數據:登錄方法和其他 web3 體驗之間沒有關聯。這意味着隨着其他 web3 產品使用的增長,開發人員錯過了開放網絡效應和圍繞用戶密鑰構建的數據歷史。
  • 依賴於第三方身份驗證:身份驗證能力依賴於位於你和用戶之間的中間人服務,這增加了風險和複雜性。
  • 昂貴且龐大:Web2 的中間商服務無法爲高使用率的輕量級應用程序擴展 ; 加密身份驗證不僅更安全,而且更有效。

Web3 去中心化的密鑰管理和身份驗證從早期開始已經有了很大的發展,現在在用戶登錄和用戶體驗方面可以與 0auth 匹敵。這一領域的優秀產品,請參考:Magic, Torus, Metamask, Portis/Shapeshift, Argent, Rainbow 和 WalletConnect。

⚒ 定製身份解決方案

認識到現有方法的侷限性,許多應用程序或平臺已經嘗試創建滿足其需求的自定義身份解決方案。這是可以理解的,在某些情況下被認爲是更有利的。然而,大多數人很快就發現,身份之所以不僅在 Web3 中,而且在互聯網出現之初就面臨一系列困難的挑戰,是有原因的。

使用自定義身份解決方案的問題:

  • 高風險: 意外泄露用戶隱私、丟失安全漏洞和脆弱性 (如密鑰撤銷)、滿足監管要求 (GDPR 和用戶刪除數據的權利),很容易產生昂貴的重大風險。在不深入瞭解幾十年來身份挑戰的原因的情況下,涉獵這一領域是一個沉重的負擔。往好了說,它增加了大量的複雜性,往壞了說,它會永久地損害用戶和 / 或開發人員的信任。
  • 技術脆弱性: 定製解決方案通常只針對定製的、特定的、預定義的用例。它們不能很好地擴展到應用程序中的其他新環境,或者應用程序之外的用例 (和互操作性)。
  • 生態系統排除: 自定義解決方案將你的用戶 (和他們的身份) 與更廣泛的社區開發的未來與身份相關的進步隔離開來,例如更好的找回選項、新的身份驗證提供商、新的數據庫和服務。爲了便於使用,身份系統必須在密碼學和模式中「使用同一種語言」,而定製解決方案通常不會這樣做。

在開發好的去中心身份解決方案的過程中,可能需要一些定製實現,但關鍵是至少要構建在覈心的輕量級標準之上,以確保未來可靠的、低風險的和更可擴展的身份功能。

統一身份系統優勢

Web3 是一個跨越許多不同的區塊鏈、分佈式數據庫和生態系統全球性的集體運動。身份是跨這些不同技術和社區的互操作性的最重要部分。雖然智能合約和資產互操作性很方便,但用戶對 Web3 技術的採用依賴於跨應用程序持久、豐富和可管理的用戶體驗。

在一個終端用戶需要同時處理許多鑰匙和錢包 (並跟蹤在每個場景中使用哪個) 的世界中,用戶根本不採用 Web3。另一方面,Web3 相對於 Web2 現狀最大的潛在競爭優勢之一是共享的無許可網絡,它允許開發人員在現有的用戶、數據和體驗的網絡效應基礎上共同構建和構建,速度比任何隔離的 Web2 產品都要快。

共享網絡和網絡效應是 Web3 相對於 Web2 最大的 GTM 優勢。共享身份是利用這一點的關鍵。

如果 Web3 身份系統將用戶和他們的數據資源隔離在每個區塊鏈或應用程序中,我們就是在損害我們自己,因爲 Web3 進步變成了部分的集合而不是它們的總和。我們的每一種產品都被鎖定在一個更小、更弱、更沒有吸引力的市場和性能集合中。

可互操作的身份將使用戶可以帶着他們的所有信息、聲譽、聲明、數據和身份無縫地在網絡上移動,並將使開發人員不僅可以使用可組合資產,還可以使用可組合網絡、用戶、數據和服務進行構建。實現這一點的關鍵是一種基本的、共享的、靈活的身份標準,該標準適用於任何技術棧,爲其提供新功能,並將其連接到正在成長的由其他同行組成的生態系統中。

參考資料

2017 社會復甦
/uport/making-uport-smart-contracts-smarter-part-2-introducing-identitymanager-af656ba7441b

EIP 1056:
https://github.com/ethereum/EIPs/issues/1056

來源鏈接:medium.com