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