人,總以某身分出現。
一個女人,在家以「母親」的身分出現,在公司以「員工」身分出現,在愛情關係中以「情人」身分出現,在政治共同體中以「公民」身分出現。
我們所說的「身分」並不是錯別字,在 1978年以前出版的《新華字典》與《國語辭典》僅有「身分」,沒有「身份」,後續隨著身份證的流行,「身份」才慢慢被接受,關於這兩個詞如何演進,我們暫不討論,但它們背後的意義值得深思。
「身分」中的「分」,包含「名分」的意思,也就是出身、階層、職業等,「身分」可被譯為 status,即「地位、狀態」。而我們日常生活中,衣食住行,使用頻繁的卻是「身份」,也就是 identity,即「同一性」。
通常身份證中包含唯一的證件號碼,以及相關的屬性(姓名、籍貫、出生日期等)。當你出示身份證時,並不是證明我就是我,這是不證自明的,而是證明我就是「我」,「我」代表政府檔案中的數據,也就是證明我與政府檔案中的數據之間的關聯關係,該關係是恆等不變的,如同 A = B,也就是我們提及的「同一性」。
所以當你丟失身份證的時候,你還是你,不過丟失一段你與政府檔案數據的關係。
總的來說,身分與身份的區別,前者強調實體屬性,動態變化;後者則強調實體與屬性的關聯關係,恆等不變。
理解「身分」與「身份」之間微妙差異,以及釐清「身份」概念含義,以便於為我們後續談論「區塊鏈上的自主身份」奠定基礎。
互聯網上的數字身份,主要解決兩個問題:驗證(Authenticate)與授權(Authorization),也就是你可以做什麼?你擁有什麼?
但互聯網發展至今,依然存在一些無法解決的問題,分別兩點:管理碎片化,用戶需要不斷重複註冊帳號或賬戶;依賴第三方服務商的能力與自律,諸如 CSDN 曾經密碼明文存儲,Fackbook 用戶數據洩漏等。
用戶所擁有的身份數據,需重複證明,也不屬於自己,這是一件怪誕但現實的事情。造成這些問題的原因,可以歸咎於服務商與服務商之間的封閉,以及用戶無法通過常規手段保護自己的身份隱私。
時至今日,基於區塊鏈與非對稱加密的基礎,讓自主身份成為可能,用戶不必重複註冊帳號或賬戶,也可以通過自身保管身份數據。
何謂「區塊鏈上的自主身份」?借助非對稱加密,私鑰擁有者可以推導出相應的地址,作為身份的唯一標識符,進而將身份屬性通過智能合約進行關聯。用戶可以選擇性公開自身身份數據,也可對第三方進行授權使用,同時因為區塊鏈去中心化的特性,服務商之間不必維護用戶身份存儲,統一從區塊鏈中以公開或授權的方式獲得相關信息即可。
目前以太坊(Ethereum)社區關於身份(identity)的方案分為兩個方向,身份管理與身份應用。身份管理方案以 EIP 725 提案與Uport 為主,通過智能合約進行身份管理。身份應用方案則以 imToken 為主,通過錢包作為載體進行身份應用。
EIP 725 的提案作者 Fabian Vogelsteller 在接受采訪時,曾提到:
If you are who you say you are, then why must you prove it over and over again?
這也是 EIP 725 提案的核心關鍵,通過智能合約進行身份管理,避免重複的身份證明。 EIP 725 提案主要分為三個智能合約進行實現,分別為 Keys 、Execution 、Claims 合約:
Keys 合約:負責公鑰管理,可映射多種身份,如會員、員工等等。
Execution 合約:負責代理,對轉賬、授權進行操作。
Claims 合約:負責身份屬性管理,以及權威的第三方機構的身份屬性註冊。
示例:
過往我們參與眾籌前,需要進行 KYC 認證,作為參與者參與不同眾籌時,需重複登記同樣的 KYC 信息。
借助 EIP 725 提案,將你的 KYC 信息註冊在智能合約當中,當你的地址向眾籌的智能合約發起調用時,合約可以調用 Claims 合約進行檢查,如果檢查無誤,則可以參與眾籌,避免重複性的 KYC 信息登記。
Uport 的方案與 EIP 725 類似,具體細節不表,稍具特色的地方在於身份恢復。 Uport 提供 Controller 合約,維護一個 Recovery Network 登記可信任的地址列表。當你丟失私鑰時,可通過 Recovery Network 進行授權,恢復身份。
該方案可以解決私鑰意外丟失,導致資產損失的問題,可惜目前智能合約存在治理與技術上的問題,該方案尚未成熟。
了解智能合約如何進行身份管理之後,我們看下 imToken 作為錢包如何進行身份應用。
當你使用 imToken 2.0 時,你會在初始頁看到身份創建與恢復。引入身份概念,對於用戶會產生暫時的疑惑,但對於 imToken ,這是一次前瞻性的選擇。以下,我會講解 imToken 如何通過助記詞推導多鏈錢包以及衍生相關身份所需信息。
希望作為用戶的你,共同感受 imToken 對於區塊鏈產品設計的思考與誠意。
1. 一份助記詞,推導多鏈錢包
通過助記詞作為隨機數的熵值,根據非對稱加密以及多鏈錢包的地址特性,進行相關的算法推導,產生多鏈錢包。用戶將來僅需管理一份助記詞,無需面對繁瑣的備份管理。注:助記詞需謹慎備份
2. 身份信息衍生
借鑒 Automatic Encrypted Wallet Backups (BIP DRAFT) ,為用戶自動生成唯一身份標識符與授權、加密、備份的公私鑰,減少暴露主私鑰,讓相應的公私鑰各司其職。滿足「自主身份」在區塊鏈場景的應用,諸如 JWT 驗證、數據加密、分佈式存儲等。
最後 imToken 希望做好身份的工作,並隱於無形。
給用戶提供簡單易用的產品,但不失豐富功能與安全。
參考:
1. 採用「身分 」、「身份」 的取捨
2. 論「身分」與「身份」:現代國家的人口治理
3. 雙重論證結構下現代公民身份的起源
4. ERC-725 Identity
5. Uport:一個自主身份識別平台
6. Automatic Encrypted Wallet Backups