區(qū)塊鏈上的自主身份應(yīng)用介紹
人,總以某身分出現(xiàn)。一個(gè)女人,在家以「母親」的身分出現(xiàn),在公司以「員工」身分出現(xiàn),在愛情關(guān)系中以「情人」身分出現(xiàn),在政治共同體中以「公民」身分出現(xiàn)。
我們所說的「身分」并不是錯(cuò)別字。在 1978 年以前出版的《新華字典》與《國語辭典》僅有「身分」,沒有「身份」。后續(xù)隨著身份證的流行,「身份」才慢慢被接受。關(guān)于這兩個(gè)詞如何演進(jìn),我們暫不討論,但它們背后的意義值得深思。
「身分」中的「分」,包含「名分」的意思,也就是出身、階層、職業(yè)等?!干矸帧箍杀蛔g為 status,即「地位、狀態(tài)」。而我們?nèi)粘I钪校率匙⌒?,使用頻繁的卻是「身份」,也就是 identity,即「同一性」。
通常身份證中包含唯一的證件號碼,以及相關(guān)的屬性(姓名、籍貫、出生日期等)。當(dāng)你出示身份證時(shí),并不是證明我就是我,這是不證自明的,而是證明我就是「我」?!肝摇勾碚畽n案中的數(shù)據(jù),也就是證明我與政府檔案中的數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,該關(guān)系是恒等不變的,如同 A = B,也就是我們提及的「同一性」。
所以當(dāng)你丟失身份證的時(shí)候,你還是你,不過丟失了一段你與政府檔案數(shù)據(jù)的關(guān)系。
總的來說,身分與身份的區(qū)別,前者強(qiáng)調(diào)實(shí)體屬性,動(dòng)態(tài)變化;后者則強(qiáng)調(diào)實(shí)體與屬性的關(guān)聯(lián)關(guān)系,恒等不變。
理解「身分」與「身份」的微妙差異,以及厘清「身份」概念含義,以便為我們后續(xù)談?wù)摗竻^(qū)塊鏈上的自主身份」奠定基礎(chǔ)。
互聯(lián)網(wǎng)上的數(shù)字身份,主要解決兩個(gè)問題:驗(yàn)證(AuthenTIcate)與授權(quán)(AuthorizaTIon),也就是你可以做什么?你擁有什么?
但互聯(lián)網(wǎng)發(fā)展至今,依然存在一些無法解決的問題,分別為兩點(diǎn):
· 管理碎片化,用戶需要不斷重復(fù)注冊帳號或賬戶
· 依賴第三方服務(wù)商的能力與自律,諸如 CSDN 曾經(jīng)密碼明文存儲(chǔ),F(xiàn)ackbook 用戶數(shù)據(jù)泄漏等
用戶所擁有的身份數(shù)據(jù),需重復(fù)證明,也不屬于自己,這是一件怪誕但現(xiàn)實(shí)的事情。這些問題,可以歸咎于服務(wù)商與服務(wù)商之間的封閉,以及用戶無法通過常規(guī)手段保護(hù)自己的身份隱私。
時(shí)至今日,基于區(qū)塊鏈與非對稱加密的基礎(chǔ),自主身份成為可能,用戶不必重復(fù)注冊帳號或賬戶,也可以通過自身保管身份數(shù)據(jù)。
何謂「區(qū)塊鏈上的自主身份」?借助非對稱加密,私鑰擁有者可以推導(dǎo)出相應(yīng)的地址作為身份的唯一標(biāo)識符,進(jìn)而將身份屬性通過智能合約進(jìn)行關(guān)聯(lián)。用戶可以選擇性公開自身身份數(shù)據(jù),也可對第三方進(jìn)行授權(quán)使用,同時(shí)因?yàn)閰^(qū)塊鏈去中心化的特性,服務(wù)商不必維護(hù)用戶身份存儲(chǔ),統(tǒng)一從區(qū)塊鏈中以公開或授權(quán)的方式獲得相關(guān)信息即可。
目前以太坊(Ethereum)社區(qū)關(guān)于身份(idenTIty)的方案分為兩個(gè)方向,身份管理與身份應(yīng)用。身份管理方案以 EIP 725 提案與 Uport 為主,通過智能合約進(jìn)行身份管理。身份應(yīng)用方案則以 imToken 為主,通過錢包作為載體進(jìn)行身份應(yīng)用。
EIP 725 的提案作者 Fabian Vogelsteller 在接受采訪時(shí),曾提到:
If you are who you say you are, then why must you prove it over and over again?
這也是 EIP 725 提案的核心關(guān)鍵,通過智能合約進(jìn)行身份管理,避免重復(fù)的身份證明。EIP 725 提案主要分為三個(gè)智能合約進(jìn)行實(shí)現(xiàn),分別為 Keys 、ExecuTIon 、Claims 合約:
· Keys 合約:負(fù)責(zé)公鑰管理,可映射多種身份,如會(huì)員、員工等等。
· Execution 合約:負(fù)責(zé)代理,對轉(zhuǎn)賬、授權(quán)進(jìn)行操作。
· Claims 合約:負(fù)責(zé)身份屬性管理,以及權(quán)威的第三方機(jī)構(gòu)的身份屬性注冊。
示例:
我們辦理信用卡需要進(jìn)行 KYC 認(rèn)證。辦理不同銀行旗下信用卡時(shí),需重復(fù)登記同樣的 KYC 信息。
借助 EIP 725 提案,將你的 KYC 信息注冊在智能合約當(dāng)中,當(dāng)你需要辦卡時(shí),合約可以調(diào)用 Claims 合約進(jìn)行檢查,如果檢查無誤,則可以完成 KYC 認(rèn)證,避免重復(fù)性的 KYC 信息登記。
Uport 的方案與 EIP 725 類似,具體細(xì)節(jié)不表,稍具特色的地方在于身份恢復(fù)。
了解智能合約如何進(jìn)行身份管理之后,我們看下 imToken 作為錢包如何進(jìn)行身份應(yīng)用。
當(dāng)你使用 imToken 2.0 時(shí),會(huì)在初始頁看到身份創(chuàng)建與恢復(fù)。以下會(huì)講解 imToken 如何通過助記詞推導(dǎo)多鏈錢包以及衍生相關(guān)身份所需的信息。
希望作為用戶的你,共同感受 imToken 對于區(qū)塊鏈產(chǎn)品設(shè)計(jì)的思考與誠意。
1. 一份助記詞,推導(dǎo)多鏈錢包
通過助記詞作為隨機(jī)數(shù)的熵值,根據(jù)非對稱加密以及多鏈錢包的地址特性,進(jìn)行相關(guān)的算法推導(dǎo),產(chǎn)生多鏈錢包。用戶將來僅需管理一份助記詞,無需面對繁瑣的備份管理。注:助記詞需謹(jǐn)慎備份。
2. 身份信息衍生
借鑒 Automatic Encrypted Wallet Backups (BIP DRAFT) ,為用戶自動(dòng)生成唯一身份標(biāo)識符與授權(quán)、加密、備份的公私鑰,讓相應(yīng)的公私鑰各司其職,以滿足「自主身份」在區(qū)塊鏈場景的應(yīng)用。
最后 imToken 希望做好身份的工作,并隱于無形。
給用戶提供簡單易用的產(chǎn)品,但不失豐富功能與安全。