揭開數字身份的神秘面紗(1/2)

買賣虛擬貨幣
身份一直以來都是一個挑戰,不僅在去中心化技術中,在一般的線上應用中也是如此。具有挑戰的地方在於,人們不清楚“身份”的含義,以及它在數字產品、服務和網路中的多種形式。這是構建者經常感到困惑和沮喪的原因,導致許多人避免處理身份 ID 或實現短期的變通方法。每種身份系統都會產生巨大的影響,隨著產品的使用和成熟,身份系統的重要性和複雜性都在增長。編者注:根據上下文不同,數字身份根據上下文不同、存在多個表述方式:身份、身份 ID、身份系統。本系列有兩篇文章,將幫助你分解數字應用程式、服務和產品的身份,特別是對於去中心化架構和互動性的 web。其目的是將一個模糊的主題具體化,將一個大問題具體化,將一個困難而空洞的領域簡單化分析。第一部分分析身份在數字產品中的作用包括:· 數字身份的明確定義和範圍;
· 它為你的產品或服務帶來的價值;· 常見的身份解決方案(如金鑰對、鏈上 id、oauth 登入和自定義解決方案)。第二部分分享了在數字身份基礎實施上需要做些什麼包括:· 身份系統該建立的關鍵標準;· 它必須支援的 5 個特性和能力;
· 一個適合你的靈活的技術棧模型;· 一天內實現未來架構。數字身份是一個快速發展的領域,有著悠久的學術和實踐貢獻歷史(我曾試圖引用其中一些),因此並不總是容易被理解或接受。我的觀點是透過幫助建立 uPort 和 3Box,參與社羣標準,和合著一本關於身份的社會學的書來實現的。本系列決不是身份的完整歷史或完整檢視,但我希望它有助於使基礎設施的關鍵部分更容易理解和構建。身份是什麼?在社會學、心理學和生物學的領域裡,沒有一個公認的身份定義。學術界的研究範圍從嚴格的類別集合到模糊的概念。著名心理學家埃裡克·埃裡克森說過:一個人寫的[身份]越多,這個詞就越成為一個術語,它是深不可測的,因為它無處不在。
埃裡克森後來創造了“身份危機”這個術語。

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

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

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

如果我們希望構建一個真正連線的、可信的、可用的、可以擴充套件到全球使用的 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 1056[5](Joel Thorstensson, Pelle Braendgaard)。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 進步變成了部分的集合而不是它們的總和。我們的每一種產品都被鎖定在一個更小、更弱、更沒有吸引力的市場和效能集合中。

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

揭開數字身份神秘面紗系列的第二部分概述了成功的身份標準的要求,探索了現有的工作,並幫助你開始構建。

待續: 第二部分: 一個偉大的身份系統的元素[6]

參考資料

[1]登鏈翻譯計劃: https://github.com/lbc-team/Pioneer
[2]will: https://learnblockchain.cn/people/617
[3]Tiny 熊: https://learnblockchain.cn/people/15
[4]2017 社會復甦: /uport/making-uport-smart-contracts-smarter-part-2-introducing-identitymanager-af656ba7441b
[5]EIP 1056: https://github.com/ethereum/EIPs/issues/1056
[6]第二部分: 一個偉大的身份系統的元素: https://learnblockchain.cn/article/1457
[7]Cell Network: https://www.cellnetwork.io/?utm_souce=learnblockchain

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;