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