去中心化ID應(yīng)用的基本概念和應(yīng)用解析
掃描二維碼
隨時(shí)隨地手機(jī)看文章
去中心化 ID[1] 可以說(shuō)是繼區(qū)塊鏈之后越來(lái)越受關(guān)注的互聯(lián)網(wǎng)技術(shù)概念。然而,隨著人們前赴后繼地涌入,展開(kāi)一波又一波關(guān)于去中心化 ID 的討論,這一概念的復(fù)雜程度卻不減反增,讓本就云里霧里的群眾更加迷惑。這篇文章,作為“揭秘去中心化ID系列的第一篇文章,力求用人話(huà)來(lái)講清楚什么是去中心化 ID。
盡管最近關(guān)于去中心化 ID 的討論如火如荼,但這并不是一個(gè)全新的概念。早在互聯(lián)網(wǎng)誕生之初,已經(jīng)有人提出了類(lèi)似的概念,不過(guò)苦于一直沒(méi)有合適的技術(shù)實(shí)現(xiàn),因此去中心化 ID 并不為人們熟知。隨著區(qū)塊鏈[2]技術(shù)日漸成熟,人們猛然發(fā)現(xiàn)區(qū)塊鏈為實(shí)現(xiàn)去中心化ID提供了一片天然土壤,關(guān)于去中心化 ID 應(yīng)用的新討論由此激發(fā)。
要理解去中心化 ID 究竟解決了什么問(wèn)題,我們首先來(lái)看三種不同的數(shù)字 ID,它將對(duì)去中心化 ID 與傳統(tǒng)的解決方案進(jìn)行橫向?qū)Ρ龋瑸榇蠹艺故具@一概念的核心。
傳統(tǒng)中心化 ID
最開(kāi)始的時(shí)候,我們每次登錄互聯(lián)網(wǎng)應(yīng)用服務(wù)都需要?jiǎng)?chuàng)建一個(gè)新賬號(hào)。
但計(jì)劃趕不上變化,有時(shí)是慣用的用戶(hù)名在這個(gè)網(wǎng)站上不可用了,有時(shí)是密碼的要求不斷改變,導(dǎo)致不能用同一個(gè)密碼。
結(jié)果是,在每一個(gè)網(wǎng)站上,我們都有一個(gè)賬號(hào) ID。之所以把這個(gè)賬號(hào) ID 稱(chēng)作“中心化”,是因?yàn)閷?duì)應(yīng)的網(wǎng)站掌握了驗(yàn)證用戶(hù)名和密碼的權(quán)利。換句話(huà)說(shuō),你必須在網(wǎng)站上輸入自己對(duì)應(yīng)的用戶(hù)名和密碼,通過(guò)驗(yàn)證,才能享受用戶(hù)的權(quán)利。
第三方中心化 ID
隨之而來(lái)的,是眼花繚亂的用戶(hù)名,和郵箱里一封接著一封的密碼找回郵件。
為了解決這個(gè)問(wèn)題,某些擁有大量用戶(hù)的公司提出:“既然你已經(jīng)在我們這里有了一個(gè)賬號(hào),干脆以后也用這個(gè)賬號(hào)登錄吧?!?/p>
第三方中心化 ID 應(yīng)運(yùn)而生。
表面上這是一個(gè)不錯(cuò)的解決方案,通過(guò)第三方中心化 ID,我們登錄新網(wǎng)站的時(shí)候再也不用重復(fù)輸入用戶(hù)名、密碼、驗(yàn)證郵箱等,只需要輕輕一點(diǎn)或一掃,就可以通過(guò)一個(gè)第三方賬號(hào)登錄。
但這個(gè)方案依然是“中心化”的,不過(guò)是將驗(yàn)證用戶(hù)名和密碼的過(guò)程從之前的網(wǎng)站轉(zhuǎn)移到了第三方服務(wù)上,也就是說(shuō)離開(kāi)了第三方服務(wù),我們無(wú)法登錄目標(biāo)網(wǎng)站。
而且,第三方中心化 ID 讓我們?cè)诟鱾€(gè)網(wǎng)站上留下的記錄,通過(guò)一個(gè)共同的第三方被串聯(lián)在了一起。根據(jù)這些數(shù)據(jù)記錄,第三方可以生成更詳細(xì)的用戶(hù)畫(huà)像,甚至利用機(jī)器學(xué)習(xí)和大數(shù)據(jù)分析挖掘出更多隱含的信息,由此帶來(lái)的數(shù)據(jù)隱私泄露和濫用的風(fēng)險(xiǎn)日益增加。
那還有別的方法嗎?有辦法讓我們既使用同一套用戶(hù)名和密碼,又不需要把驗(yàn)證權(quán)交給第三方嗎?
去中心化 ID
這就是去中心化 ID 誕生的原因。
一般來(lái)說(shuō),我們需要一個(gè)第三方來(lái)驗(yàn)證用戶(hù)名和密碼互相匹配,從而證明我們是賬號(hào)的持有人。去中心化 ID 的特別之處在于,它讓賬號(hào)持有人可以自證身份,不需要第三方。
這是怎么做到的呢?
DID
首先我們先解釋一下 DID 和去中心化 ID 的區(qū)別。因?yàn)槿ブ行幕?ID 的英文是 Decentralized Identity,所以很多人以為 DID 是去中心化 ID 的縮寫(xiě)。其實(shí)不然,DID 和去中心化 ID 之間有著一些微妙的區(qū)別。
去中心化 ID 是一個(gè)更為籠統(tǒng)的 ID 概念,用于區(qū)別傳統(tǒng)的 ID 概念,強(qiáng)調(diào) ID 的持有者對(duì) ID 以及 ID 相關(guān)的數(shù)據(jù)信息有更大的自主控制權(quán)。
而 DID 實(shí)際上是 Decentralized Identifier(去中心化身份標(biāo)識(shí)符)的縮寫(xiě),代表的是萬(wàn)維網(wǎng)聯(lián)盟(W3C)[3] 提出某一種去中心化 ID 的具體實(shí)現(xiàn)技術(shù)實(shí)現(xiàn)。
鑒于未來(lái)還有可能出現(xiàn)其他去中心化 ID 的實(shí)現(xiàn),以下我們討論的對(duì)象都是 DID。
那 DID 到底是什么呢?
DID 包括兩個(gè)部分:地址和密鑰。
地址和密鑰
地址對(duì)應(yīng)的是用戶(hù)名,密鑰對(duì)應(yīng)的是密碼。
正是地址和密鑰使得讓賬號(hào)持有人自證身份成為可能。其關(guān)鍵在于地址是通過(guò)某種加密算法從密鑰中算出來(lái)的。
在這里,我們不詳細(xì)展開(kāi)加密算法的具體實(shí)現(xiàn)。簡(jiǎn)單來(lái)說(shuō),加密算法使得地址和密鑰有以下兩個(gè)特點(diǎn):
? 從密鑰算出地址很簡(jiǎn)單,但是從地址幾乎不可能反推出密鑰。所以只要我們保管好自己的密鑰,別人無(wú)法通過(guò)地址獲得我們的密鑰。
? 加密算法還有配套的驗(yàn)證算法:我們用密鑰進(jìn)行某種計(jì)算,然后把結(jié)果展示出來(lái)。這樣別人可以通過(guò)這個(gè)運(yùn)算結(jié)果,判斷我們的地址與密鑰是否匹配,卻也無(wú)法通過(guò)運(yùn)算結(jié)果反推密鑰。
去中心化 ID 實(shí)質(zhì)上也是 ID 的一種。我們用 DNA、指紋、護(hù)照號(hào)碼來(lái)區(qū)別每個(gè)人,去中心化 ID 讓每樣事物都有了自己的身份、自己的”指紋“。
任何事物都可以有 DID
是的,凡是能抽象成數(shù)據(jù)的事物都可以有自己的 DID。不光是人,證書(shū)、證件、電影票、農(nóng)產(chǎn)品等等都可以有。只有你想不到,沒(méi)有 DID 表示不了。甚至抽象的關(guān)系也可以有 DID,比如你對(duì)房子的所有權(quán),或者你和朋友的關(guān)系。
如果是這樣,DID 會(huì)不夠用嗎?
理論上來(lái)說(shuō),不會(huì)。原因很簡(jiǎn)單:DID 太多了。
多到什么程度呢?假設(shè)你有十億個(gè)朋友,每個(gè)人每秒鐘可以生成十億個(gè)地址,需要比整個(gè)宇宙壽命還長(zhǎng)的時(shí)間才會(huì)有重復(fù)的地址出現(xiàn)。
DID 完整流程
現(xiàn)在我們來(lái)走一遍通過(guò) DID 自證身份的完整流程。
如果小明想證明他是某 DID 地址的所有人,首先他要用自己的密鑰做某種運(yùn)算,并將運(yùn)算結(jié)果展示出來(lái)。這個(gè)過(guò)程其實(shí)就是簽名的過(guò)程,最后的運(yùn)算結(jié)果就是簽名。然后任何人都可以拿小明的簽名做某種驗(yàn)證運(yùn)算。如果小明的密鑰是正確的,那簽名會(huì)通過(guò)驗(yàn)證,否則,小明的簽名就無(wú)法通過(guò)驗(yàn)證運(yùn)算。
通過(guò)這種方式,小明可以在不暴露自己密鑰的前提下,不通過(guò)第三方即證明了自己是 DID 的所有人。
如果你現(xiàn)在對(duì)去中心化 ID 的概念還是覺(jué)得沒(méi)有徹底掌握,那只需要記得:DID 讓每樣事物都擁有了自己的”指紋“,而持有某個(gè) DID 的意思就是,持有這個(gè) DID 的密鑰。