來源 | medium.com/pelith
作者 | Ping Chen
數字身份 (digital identity),或自主身份 (self-sovereign identity) 是一種利用非對稱性加密技術為網路交易提供認證,并確保交易的完整性和不可拒付性的技術,它是若干互聯網活動的先決條件,如發證書、私人資訊傳遞、當然還有金融業務。
圖片由Unsplash的 Chris Yang 提供
網路身份的興起
密碼還是密鑰
“密鑰作為身份”這個想法上世紀就已經存在了,然而,數字身份在當時并沒有被普通用戶廣泛接受。主要原因無疑是使用這種系統太復雜了。非技術人員要如何方便、安全地把私鑰保存在自己手上?他們無法做到。
結果是,當 web2.0 出現時,網路公司需要驗證它們的用戶,它們決定采用賬戶密碼模式而不是公-私密鑰對模式。在注冊新賬戶時,用戶創建他們自己記得住的密碼,網路公司保存密碼。之后,它們使用一種“大腦對資料庫 (brain to database)”的驗證方式來登入。
安全與中心化危機
這種簡單模式行得通,但它也帶來一系列安全問題。因為記住多套密碼是很累的,用戶傾向于在每個地方重復使用他們的密碼,如果其中一個服務商以不安全的方式 (例如沒有“加鹽”、使用不安全的哈希函數等)存儲用戶的密碼,并被攻破了,那么所有其他的服務都會陷入危險,
(譯者注,在密碼學中,在密碼任意固定位置插入特定的字符串,讓散列后的結果和使用原始密碼的散列結果不相符,這種過程稱之為“加鹽 (salt)”,這種處理可以增加額外的安全性。)
OAuth
OAuth 的發明就是為了解決這個問題,它使得小公司可以依賴現有的服務供應商,它們不需要運行它們自己的認證服務器,而只需要把這部分工作委托給一個用戶已經擁有賬戶的第三方公司。盡管如此,即使像 Facebook 這樣的巨頭公司也有被發現存儲密碼純文本并被泄露的情況,且不說中心化風險,很多采用 OAuth 的公司都受不斷變化的政策影響,一旦一家公司被 OAuth 供應商禁止,整個業務都會崩塌,
數字身份的回歸
如今,在這個行業里的人開始再次討論賬戶-密碼這種模式的替代方案,像 biometric、SMS 和 OTP 這些無需密碼的解決方案是可行的,但在身份方面,密鑰對似乎仍然是最終目標。我們相信區塊鏈,即以太坊,將使數字身份得以復興。理由如下:
區塊鏈用戶友好的加密貨幣基礎設施
如前所述,可用性是基于密鑰對身份的首要問題,要求外行人用一個命令行工具對交易簽名是不現實的。在使用一個去中心化系統時完全對保存密鑰負責對他們來說也是非常可怕的,
用于存儲私鑰的商業級錢包
在加密貨幣領域的人都已經對所有這些概念非常熟悉了,隨著工具的成熟,使用私鑰進行簽名從未如此簡單。
多虧了 Dapp 和以太坊,越來越多的人有了擁有私鑰并用它對交易簽名的第一次體驗。人們構建了大量瀏覽器擴展程式、移動應用、和硬件設備來滿足不斷增長的需求。這些便于使用的工具有利于數字身份的普及,即便這些工具不是為它而構建的,
區塊鏈的狀態
不同于密碼驗證,公鑰加密本身是無狀態的,這意味著加密簽名的有效性是和環境無關的,然而,在一些高級場景中,數字身份還是需要“狀態”的,很多 GPG 用戶會與一個 (某種程度上) 中心化的密鑰服務器交互,以注冊/替代/撤銷他們的公鑰。總的來說,我們仍然需要狀態來豐富數字身份的可用性和表達力。
(譯者注:GPG 是 GNU Privacy Guard 的縮寫,它是美國軟體公司賽門鐵可推出的 PGP 加密軟體套件的免費軟體替代品)
身份的鏈上記錄
區塊鏈能完美滿足為你的身份提供狀態這個需求,不同于用 MIT 的服務器存儲密鑰記錄,以太坊這個分布式賬本在全世界有大約 5000 個副本,所有的記錄都是可審計、防篡改和有經濟確定性 (economical finality) 的,像 ENS 這樣的項目正在為你的身份提供一個鏈上注冊表。你可以為你的身份鏈接海外賬戶和添加元數據,實現這些都是無需許可的,
由私鑰控制的賬戶 vs. 由代碼控制的賬戶
此外,通過用智能合約實現訪問控制,你在以太坊上的身份就是可編程的了。你可以為你的根身份 (root identity) 添加多簽、社交式恢復,甚至失能開關 (dead man’s switch) 這樣的功能,同時保持日常使用的簡易性。
數字身份+ OAuth
盡管我們已經有許多用戶擁有私鑰了,但要讓數字身份被更多人采用,我們在服務供應商方面還沒有通用的解決方法。幸運的是,OAuth 已經被很多供應商采用了。把 OAuth 與基于密鑰的驗證結合起來,web2 公司可以用他們習慣的方式集成數字身份。
Eauth 是一個基于以太坊的,兼容 OAuth 的認證服務,集成者可以無縫地把數字身份作為 OAuth 的一個選項,而不需要任何密碼學和 web3 錢包的知識。盡管使用 OAuth 通常意味著要把控制權交給第三方,但通過 Eauth 認證的身份將始終保持非托管狀態,
用戶、錢包和 web2 服務供應商通過 Eauth 溝通
走向去中心化的路線圖
無可否認,web2+以太坊登入并不能完美實現去中心化,去中心化的世界應該是完全無需許可和去信任的,但目前大多數的網路活動都仍然在 web2 服務器上進行。很可能的情況是 web2 和 web3 世界要并行一段時間。期間,Eauth 可以成為連接兩個世界的橋梁,