每一個(gè)從事密碼學(xué)研究的人都幻想,我們每個(gè)人一出生大腦中就有嵌入的私鑰芯片,這樣我們就可以隨時(shí)確定自己的身份,而不必?fù)?dān)心身份被盜或被
每一個(gè)從事密碼學(xué)研究的人都幻想,我們每個(gè)人一出生大腦中就有嵌入的私鑰芯片,這樣我們就可以隨時(shí)確定自己的身份,而不必?fù)?dān)心身份被盜或被騙。不幸的是,我們現(xiàn)在并不是生活在這樣一個(gè)賽博朋克的烏托邦里,而是一個(gè)密碼和社會(huì)安全號(hào)碼不斷被盜的破碎系統(tǒng)中。
與此同時(shí),區(qū)塊鏈技術(shù)承諾可以將個(gè)人數(shù)據(jù)的所有權(quán)從公司和政府手中返還給個(gè)人,進(jìn)行數(shù)字身份變革,從而使個(gè)人擁有權(quán)力與他人共享數(shù)據(jù),并且可以隨時(shí)撤回。
為了更深入地理解為什么區(qū)塊鏈技術(shù)對(duì)于身份(認(rèn)證)很有效,我們首先需要從哲學(xué)的角度理解身份的定義。請(qǐng)你設(shè)想如下的思維實(shí)驗(yàn)——兩個(gè)放在一起的彈珠看起來(lái)完全相同。雖然這兩個(gè)彈珠的本質(zhì)(比特和原子)是相同的,但是它們的身份是不同的,因?yàn)槲覀兡軌蚪o每個(gè)彈珠一個(gè)類似于“彈珠A”和“彈珠B”的唯一標(biāo)識(shí)來(lái)區(qū)分它們的身份。
但是,一旦我們將這兩個(gè)彈珠放到口袋里混合一下,這種標(biāo)識(shí)便失效了,我們沒(méi)法再區(qū)分出哪個(gè)是“彈珠A”,哪個(gè)是“彈珠B”。這種標(biāo)識(shí)問(wèn)題的一種解決方案是擁有一個(gè)無(wú)所不知的觀察者,在兩個(gè)彈珠混合過(guò)程中一直盯著彈珠(從而在兩個(gè)彈珠混合后,仍然能夠區(qū)分出哪個(gè)是“彈珠A”,哪個(gè)是“彈珠B”)。
這種解決方案是可行的,因?yàn)闀r(shí)間(第四維空間)作為了身份的時(shí)間指標(biāo)。區(qū)塊鏈(保證過(guò)去狀態(tài)的日志不可被篡改)能夠提供時(shí)間連續(xù)性,因此即便是物理環(huán)境發(fā)生變化時(shí),也能正常用于追蹤身份。
身份是 Web 3 基礎(chǔ)設(shè)施缺失的最重要的一部分,有許多項(xiàng)目采用不同的方式構(gòu)建整個(gè)去中心化應(yīng)用生態(tài)系統(tǒng)可以使用的身份層。目前關(guān)注度最高的兩個(gè)層次是命名空間(namespaces)和認(rèn)證(attestations)。
命名空間
去中心化身份的一個(gè)關(guān)鍵點(diǎn)是:如何在沒(méi)有中心持有的注冊(cè)機(jī)構(gòu)的情況下,能夠標(biāo)識(shí)世界上的人、設(shè)備以及其他實(shí)體。在區(qū)塊鏈系統(tǒng)中,我們現(xiàn)在使用地址來(lái)標(biāo)識(shí)我們的身份——一個(gè)形如“0x9992437898114d2770522e050883d6b2dfc48326”的沒(méi)有實(shí)際意義并且很難記住的長(zhǎng)字符串。要是我們能夠?qū)⒚總€(gè)地址與唯一且可讀的名稱對(duì)應(yīng)會(huì)怎么樣呢?
在計(jì)算機(jī)科學(xué)中,命名空間(Namespace)用于組織對(duì)象,使得一些對(duì)象雖然擁有同樣的命名,但不會(huì)發(fā)生混淆。文件系統(tǒng)(給文件命名)和 DNS (全稱:Domain Name System(域名系統(tǒng)),為網(wǎng)站命名)就是命名空間的例子。
類似地,在區(qū)塊鏈中,我們希望維護(hù)一個(gè)包含地址和名稱唯一對(duì)應(yīng)的全局表。此外,理想情況下,我們希望這個(gè)對(duì)應(yīng)表是一直安全、去中心化、并且容易理解的。這可行么?我們直接來(lái)看一看 Zooko 三角。
Zooko 三角,以 Zcash CEO,Zooko Wilcox 的名字命名,是網(wǎng)絡(luò)中命名系統(tǒng)的三個(gè)理想性質(zhì)的三難選擇困境。
安全:當(dāng)你查找一個(gè)名字時(shí),你能夠得到正確的結(jié)果,而不是一個(gè)假名。
去中心化:沒(méi)有中心化權(quán)威機(jī)構(gòu)控制所有的名字。
可理解的:名字是人們可以記住的,而不是某一長(zhǎng)串隨機(jī)的字符。
Zooko 聲稱數(shù)字名稱是無(wú)法同時(shí)包含以上 3 種性質(zhì)的。以下幾個(gè)例子使用了該框架:
DNSSEC, DNS 的安全擴(kuò)展,提供了一種去中心化且便于理解的命名機(jī)制,但是不安全,無(wú)法抵御對(duì)根服務(wù)器的攻擊。
比特幣地址是安全且去中心化的,但是不便于理解,沒(méi)有實(shí)際意義。
I2P, 匿名、防審查的點(diǎn)對(duì)點(diǎn)通信協(xié)議,使用本地運(yùn)行的安全名稱轉(zhuǎn)換服務(wù),并且便于人理解,但是需要在去中心化網(wǎng)絡(luò)中增加權(quán)威節(jié)點(diǎn)。
解決方案
自從 Zooko 提出他的三難困境以來(lái),已經(jīng)有了幾種解決 Zooko 三角的方案。Nick Szabo 首先在他的論文 “Secure Property Titles with Owner Authority(含所有者權(quán)限的安全產(chǎn)權(quán))” 中提出了一種解決方案,文章指出這三種屬性都能夠達(dá)到拜占庭容錯(cuò)的限制。
Aaron Swartz 后來(lái)提出了一種基于比特幣的命名系統(tǒng),該系統(tǒng)使用 PoW 共識(shí)來(lái)建立名稱所有權(quán)共識(shí)。這個(gè)解決方案促進(jìn)Namecoin產(chǎn)生。Namecoin 是比特幣區(qū)塊鏈的第一個(gè) fork,也是Dot-Bit所在底層區(qū)塊鏈。Dot-Bit 是第一個(gè)滿足 Zooko 三角的去中心化 DNS 實(shí)例,使得用戶能夠?qū)⑺麄儸F(xiàn)有域名與 .bit 地址綁定。
自 7 年前發(fā)布以來(lái),Namecoin 主要由于用戶體驗(yàn)差,而很少被采用。(Namecoin中)擁有成千上萬(wàn)的域名,但是僅有約 30 個(gè)開發(fā)了 Dot-Bit 網(wǎng)站。有傳言說(shuō),Namecoin 的開發(fā)者曾經(jīng)找谷哥和 ICANN 尋求潛在合作,背離了使用去中心化 DNS 替代中心化管理的最初目標(biāo)。
Onename, 由 Princeton 研究員 Ryan Shea 和 Muneeb Ali 于 2014 年 3 月推出,是另一個(gè)身份系統(tǒng),將用戶名以及個(gè)人資料存儲(chǔ)在比特幣區(qū)塊鏈上。目前,Onename 已經(jīng)發(fā)展為Blockstack去中心化應(yīng)用平臺(tái)的命名空間注冊(cè)商(類似于 GoDaddy)。Onename 也是一項(xiàng)技術(shù),它使得 Blockstack 用戶能夠在不同去中心化應(yīng)用中保留所有個(gè)人數(shù)據(jù)的所有權(quán),從而減弱 Google 和 Facebook 目前的數(shù)據(jù)壟斷。
ENS是以太坊上的 DNS,同時(shí)具有安全和去中心化的特點(diǎn)。智能合約充當(dāng)注冊(cè)商管理和更新以太坊中的名稱,而不是像 GoDaddy 中一樣使用中心化服務(wù)。任何人都能使用 ENS 創(chuàng)建一個(gè)可讀的 .eth 的子域名,ENS 解析器充當(dāng)著類似于翻譯器的工作,將 ENS 名稱轉(zhuǎn)換到對(duì)應(yīng)地址。
在 Metamask、MyCrypto、Status 等支持 ENS 的錢包中,用戶可以向某些便于記住的地址(類似于“alice.eth”)而不是 '0x4cbe58c50480…' 轉(zhuǎn)錢。ENS 自推出之后,已經(jīng)注冊(cè)了超過(guò) 16 萬(wàn)個(gè)域名,涉及超 320 萬(wàn) ETH 的賬戶。(注釋:已經(jīng)放棄自己的命名空間服務(wù))
Handshake是一個(gè)由 Joseph Poon (閃電網(wǎng)絡(luò)和 Plasma 提出者)主導(dǎo)的新項(xiàng)目,旨在將 DNS 根空間(DNS root zones)去中心化,并且取代 ICANN 以及認(rèn)證中心(CA)。Handshake 構(gòu)建在一條新的 UTXO 區(qū)塊鏈上,其中所有點(diǎn)對(duì)點(diǎn)全節(jié)點(diǎn)都是持有根空間文件的根服務(wù)器,從而使得根空間不受審查、無(wú)需許可,并且不受網(wǎng)關(guān)限制。目前,Namebase等項(xiàng)目允許用戶在 Handshake 區(qū)塊鏈上注冊(cè)頂級(jí)域名,構(gòu)建錢包和交換 Handshake 幣(HNS),使得 Handshake 更易于使用。
-從上圖可以看出,Dot-Bit 和 ENS 等項(xiàng)目分別單獨(dú)支持 .bit 和 .eth 域名地址,而 Handshake 向去中心化 ICANN(根域名文件網(wǎng)關(guān)) 又前進(jìn)一步。來(lái)源:zk Capital-
總而言之,Handshake 是一個(gè)非常有野心的項(xiàng)目,它有可能改變 DNS 和域名服務(wù)目前的運(yùn)作模式。不過(guò),要獲得廣泛接受以及打破諸如 Verisign 等現(xiàn)有證書頒發(fā)機(jī)構(gòu)的壟斷是非常困難的,因?yàn)椴僮飨到y(tǒng)默認(rèn)采用 DNS。
OpenAlias和Portal Network等項(xiàng)目也在嘗試解決 Zooko 三角。
認(rèn)證
對(duì)于一個(gè)去中心化身份系統(tǒng)而言,擁有同時(shí)滿足安全性、去中心化、便于理解的命名空間是不夠的。解釋一下,當(dāng) OneName 推出時(shí),有人立即注冊(cè)了用戶名 +gavin,為此 OneName 之后不得不為比特幣核心開發(fā)者保留 +gavinandresen。
為了防止有人在網(wǎng)上冒充別人,我們需要驗(yàn)證每個(gè)人實(shí)際上就是他們聲稱的那個(gè)人。例如,你在 Airbnb 上租房之前,你必須驗(yàn)證你的電子郵箱和電話,有可能還需要驗(yàn)證你的 Facebook、LinkedIn、Google 賬號(hào)。在這種情況下,Airbnb 充當(dāng)信任中介 —— 買家和賣家都確信 Airbnb 已經(jīng)完成了驗(yàn)證過(guò)程。但是在去中心化應(yīng)用的世界中,我們不再信任第三方,但我們?nèi)匀恍枰谥悄芎霞s執(zhí)行之前驗(yàn)證某人的身份。
因此,認(rèn)證是去中心化身份系統(tǒng)中信任和聲譽(yù)的基石。在現(xiàn)實(shí)世界中,我們使用駕照或護(hù)照等證件證明我們的身份。這些文件包含有關(guān)我們的事實(shí),例如,我們的姓名、年齡、眼睛顏色。但是駕照在互聯(lián)網(wǎng)上并不存在。相反,我們需要找到一個(gè)將真實(shí)身份和加密身份關(guān)聯(lián)的方法。至于如何最好地實(shí)現(xiàn)這一目標(biāo),目前還沒(méi)有定論,許多組織都正在摸索。
身份自治產(chǎn)品
一種解決方案是擁有獨(dú)立的身份產(chǎn)品。這種身份產(chǎn)品需要滿足四個(gè)基本特性:
身份具有某種唯一標(biāo)識(shí)。(存儲(chǔ)這種標(biāo)識(shí)的最佳體系結(jié)構(gòu)就是上文描述的滿足 Zooko 三角的命名空間。)
第三方能夠聲明(注冊(cè))某個(gè)身份的信息。聲明中包括例如名稱、地址、電子郵件等。
能以某種方式請(qǐng)求用戶的身份認(rèn)證。
能有某種方式查詢有關(guān)某身份的聲明。
- Facebook 和 Twitter 目前能夠認(rèn)證某些人的 Blockstack 身份。-
獨(dú)立身份識(shí)別產(chǎn)品具有自治(self-sovereign)的優(yōu)點(diǎn)。身份自治是一種可以在不同去中心化應(yīng)用間遷移的數(shù)字身份,不依賴于任何政府或公司,也永遠(yuǎn)不會(huì)被拿走,而不像現(xiàn)在的互聯(lián)網(wǎng),只要你將你的社會(huì)安全碼(SSN)給了某個(gè)人,他不經(jīng)過(guò)你的同意,就可以在任何地方使用,從而可能導(dǎo)致身份盜竊。有了自治的身份,你就可以在連接 dApp 時(shí)保留對(duì)社會(huì)安全碼等身份信息的控制、同時(shí)證明自己的身份,還不需要把這些身份信息復(fù)制一份給 dApp。
有許多團(tuán)隊(duì)試圖構(gòu)建身份自治標(biāo)準(zhǔn)。
ERC 725提出了一種管理以太坊區(qū)塊鏈鏈上身份的標(biāo)準(zhǔn)。由 Fabian Vogelsteller 提出,他還提出了非常成功的 ERC 20 代幣標(biāo)準(zhǔn)。一個(gè) ERC 725 身份合約包含一個(gè)加密簽名,證明該合約所有者控制對(duì)其身份的特定聲明,例如:電子郵件或電話號(hào)碼。Origin Protocol是一種用于創(chuàng)建無(wú)需中介的共享經(jīng)濟(jì)的協(xié)議,在智能合約執(zhí)行前,使用 ERC 725 驗(yàn)證參與方的身份證明。
uPort是一種身份自治錢包,讓你能夠完全控制你的身份以及個(gè)人數(shù)據(jù)。開發(fā)團(tuán)隊(duì)是 ConsenSys,你可以使用 uPort 在以太坊上創(chuàng)建身份、安全登錄去中心化應(yīng)用且無(wú)需密碼、管理你的個(gè)人信息和認(rèn)證、簽署以太坊交易以及數(shù)字簽名文件。uPort 最新開發(fā)出一種新型去中心化數(shù)據(jù)存儲(chǔ)解決方案 —— 3Box,3Box 使得以太坊用戶能夠使用任意錢包上傳他們的信息并在不同 dApp 間分享。uPort 已經(jīng)與瑞士 Zug 州合作,為居民提供數(shù)字身份證,將真實(shí)世界的身份與區(qū)塊鏈聯(lián)系起來(lái)。
-uPort 通過(guò)分解身份智能合約,在 ERC 725 標(biāo)準(zhǔn)上做了升級(jí)。他們新的分層架構(gòu)提案是ERC 780。來(lái)源:uPort-
Civic
項(xiàng)目由連續(xù)創(chuàng)業(yè)者 Vinny Lingham 領(lǐng)導(dǎo),是一個(gè)基于以太坊的身份驗(yàn)證去中心化應(yīng)用。在 Civic 去中心化生態(tài)系統(tǒng)中,用戶需要驗(yàn)證自己的身份,之后請(qǐng)求接受方(例如銷售服務(wù)的公司)才能接受該用戶為客戶。為此,驗(yàn)證者通過(guò)交叉引用政府?dāng)?shù)據(jù)庫(kù)的文檔驗(yàn)證用戶的聲明。一旦驗(yàn)證者證實(shí)了用戶的身份,他們就用默克爾樹根值來(lái)認(rèn)證這段信息,而默克爾樹就拿用戶的聲明來(lái)做默克爾樹的葉子節(jié)點(diǎn)。
其他類似的身份產(chǎn)品有:Sovrin、Evernym、Nuggets。去中心化身份基金會(huì)(Decentralized Identity Foundation)主頁(yè)列出了目前正致力于解決身份問(wèn)題的團(tuán)隊(duì)列表,基金會(huì)目前包括超過(guò) 50 家合作機(jī)構(gòu)。這些機(jī)構(gòu)以增強(qiáng)系統(tǒng)間互操作性為目標(biāo),共同協(xié)作嘗試不同的去中心化身份(方案),以便于用戶不需要將他們的部分個(gè)人信息分散到多個(gè)協(xié)議里。
去中心化身份會(huì)再次變成中心化么?
身份自治的一個(gè)問(wèn)題是如果用戶私鑰丟失或被盜應(yīng)該怎么辦。攻擊者就應(yīng)該得到私鑰中的資產(chǎn)么?請(qǐng)記住,我們不是生活在一個(gè)賽博朋克的烏托邦里,我們也并沒(méi)有將私鑰植入我們的大腦。也許這個(gè)問(wèn)題需要有可信任的第三方持有(用戶的)身份。
Coinbase 最近收購(gòu)了一家名叫 Distributed Systems 的初創(chuàng)公司,這個(gè)初創(chuàng)公司正在開發(fā)一個(gè)叫做“Clear Protocol協(xié)議”的適用于 DApps 的去中心化身份標(biāo)準(zhǔn)。在此過(guò)程中,Coinbase 可能為測(cè)試用戶增加一個(gè) “Facebook 鏈接”,以便于用戶更簡(jiǎn)便地登錄并連接他們的加密錢包。鑒于 Coinbase 擁有 2000 萬(wàn)用戶的 KYC (Know Your Customer)數(shù)據(jù),Coinbase 可以將它的身份數(shù)據(jù)庫(kù)用在 dApp 中。
-Web 3 身份最終可能看起來(lái)像這樣。-
據(jù)推測(cè),F(xiàn)acebook 區(qū)塊鏈團(tuán)隊(duì)正在為 dApp 構(gòu)建一個(gè)身份認(rèn)證和單點(diǎn)登錄平臺(tái),因?yàn)?Facebook 擁有我們的個(gè)人信息。在 #DeleteFacebook 活動(dòng)中,用戶下載了包含他們所有個(gè)人信息的 .zip 文件,對(duì)于 Facebook 已經(jīng)有多了解他們感到非常震驚…
Telegram Passport是另一種統(tǒng)一授權(quán)方法,用于需要個(gè)人身份證明的服務(wù)。使用 Telegram Passport,你可以一次上傳你的所有文件,并且立刻和需要真實(shí) ID 的服務(wù)共享你的數(shù)據(jù)。
結(jié)論
雖然匿名和假名經(jīng)常被視作加密貨幣的用例,但是像許多新型加密原生行為,例如鏈上治理、代幣注冊(cè)等,也很需要身份解決方案。特別是投票系統(tǒng),例如二次方投票問(wèn)題,很大程度上依賴于可驗(yàn)證的、獨(dú)立的用戶身份,因?yàn)橐粋€(gè)人可以通過(guò)模擬多個(gè)人的身份來(lái)顯著提升自己的影響力。與此同時(shí),身份依舊是這些系統(tǒng)抵抗女巫攻擊以及大規(guī)模有效運(yùn)行的瓶頸。
在我看來(lái),結(jié)合最佳命名空間產(chǎn)品和最佳認(rèn)證產(chǎn)品的一個(gè)分層身份體系結(jié)構(gòu)是最理想的方式??纯醇用苌鐓^(qū)未來(lái)會(huì)采用哪種身份解決方案將會(huì)非常有趣。(作者:Richard Chen)