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