最近,BlockOne 提出的數字身份認證解決方案:“創造安全數字身份的系統和方法”,在美國的司法轄區內獲得了專利授權。
Block.one CTO Dan Larimer, 也就是我們在中文社羣常說的 BM 同學表示,這一方案恰好在 Voice 釋出之前實現了。
有社羣成員猜測,該解決方案為 Voice 提供了必須的功能;而 Voice 何時釋出,也是 EOS 愛好者們常常提及的話題。
簡介
在 B1 提出的數字身份認證解決方案中,想要驗證使用者“是誰”,不需要用像身份證、護照等這類現有的文件資料來證明,使用者只需要一臺儲存了私鑰的智慧裝置(比如,手機)來驗證身份。私鑰會儲存在裝置的硬體之中。
這一方案,能夠用去中心化的方式實現可靠身份驗證,其中包含了一些主要的部分:
- 建立可驗證的數字身份
- 證明裝置屬於個人
- 將裝置與私鑰繫結
- 建立包含可識別特徵的使用者資料資訊
- 生成安全的數字檔案
- 將使用者生成的資料資訊上傳到可審計的公鏈之上
在系統執行原理部分,我們會看到,這幾個部分是如何組合起來,共同形成可靠身份驗證的。
這一系統架構是什麼樣子?
在專利文件中,列出了系統的架構:
區塊鏈系統
這裡,展示了一個區塊鏈系統(用100數字編號來表示),以及一個雜湊樹(用數字編號120來表示)。
如上圖所示,區塊鏈系統 100 用於建立和驗證數字身份,這也是該方案中的主要部分。
區塊
在區塊鏈 100 之中,包含了多個首尾相連的區塊,例如110a, 110b, 110c 就表示三個區塊。
區塊中的hash值
在每個區塊中,都會包含之前區塊的 hash,例如,102a, 102b, 102c 是之前區塊的 hash 值。
這些區塊之中,每個區塊都包含了一個雜湊樹(用數字編號120表示)的根雜湊值(雜湊樹 120 為默克爾樹),如 104a, 104b, 104c 這些所表示的就是根節點雜湊值。而在雜湊樹 120 之中,112a 和 112b 這些事務會被加入到區塊 110b 之中。114a 和 114b 被合併入 104b 這一根節點 hash值之中。
新增到區塊鏈系統(用100表示)的每個區塊 110(比如110a,110b,110c),都是對發生的所有事務的確認。
可以使用 SHA, SHA-1,…SHA256 或者 DSA等hash函式,計算區塊的hash值。
使用者行為
使用者向區塊鏈新增區塊將獲得獎勵。使用者必須互相競爭才能建立區塊 110。使用者必須要提交工作證明在所提交的資訊之中,他所提交的資訊才能被認為是有效的。無論共識協議是什麼,系統都可以相容該協議,包括但不限於權益證明共識機制(proof-of-stake)。
數字身份建立系統的工作原理
那麼,對於該區塊鏈系統的架構有了基礎的瞭解之後,數字身份又是如何建立的呢?
在上文中的系統示意圖中,我們看到,藉助於數字編號為 200 的這一數字身份建立系統,使用者 202 建立了一個安全的數字身份,用圖中的編號 220 來表示。
解釋下圖中的各部分所表示的內容:
200 是數字身份建立系統,包含了如下內容:使用者 202, 一臺認證裝置 204, 認證資料 206,以及區塊鏈 208。
202 表示的是使用這一系統的使用者。
204 表示一臺驗證裝置,其中,210 是裝置 204 所儲存的私鑰(例如,像國際一定裝置識別碼 IMEI 這一數字),212 表示的是在這臺裝置上的應用程式
使用者 202 可以輸入驗證資訊如口令、密碼或者透過刷臉、指紋等生物識別的方式,驗證自己身份,使用認證裝置 204。
使用者使用私鑰 210,在裝置 204 上使用認證程式 212 建立了認證資料資訊:206。這裡多解釋一下,使用者想要使用 212 這一程式,需要驗證使用者的指紋、語音、虹膜、面部等生物特徵
驗證程式 206 還可以包含 GPS 資料、環境聲音等附加資訊。這些附加資訊為保護數字身份增加了額外的安全性。
使用者 202 拍攝並上傳自己的照片,建立起了自己的數字身份 220。
區塊鏈 208 會對使用者上傳的照片打上時間戳,並透過照片,記錄使用者 202 與其他人的所有關係。
透過上述內容,我們可以對數字身份建立系統有了基礎的瞭解。
解決方案的工作流程
該解決方案的工作流程,包含四項要點。
1. 身份驗證,用於識別和個人相關聯的裝置
建立一種驗證方式,用於對裝置進行認證。
認證形式可以有多種,可以選擇密碼認證、音訊簽名或生物識別輸入中的至少一種方式進行。
這裡所說到的生物識別輸入,包括指紋或面部識別。
2.建立可驗證的數字身份
在裝置中,包含一個儲存器,用於儲存指令序列;以及一個處理器,被配置為執行指令序列。執行指令序列時,處理器會對裝置及其所有權進行驗證。
除此之外,這一過程還包括將裝置與儲存於裝置之中的私鑰相繫結。
3.生成安全的數字工件,並上傳至可審計的公鏈之中
使用裝置對使用者生成的首個數字資訊條目進行數字簽名,透過這種方式,建立了一個安全的數字工件。
然後,所生成的數字資訊條目將新增到一條可審計鏈的公共賬本之中。
使用者生成的第二個數字資訊條目,會包含使用者的可識別特徵。第二個數字資訊條目會與使用者生成的首個數字資訊條目一起進行hash計算,在可審計的區塊鏈中建立連結。
這兩個條目之中,包含了透過該裝置生成的至少兩個不同使用者的實況照片。
4.驗證使用者的數字身份
這主要是透過對可審計鏈進行稽覈來完成的。透過驗證使用者的可識別特徵、私鑰、簽名和與裝置的連結。建立使用者所生成的第一個數字資訊條目。
透過比較使用者生成的首個數字資訊條目以及使用者生成的第二個數字資訊條目,使用使用者的可識別特徵來對第二個條目進行驗證。
如上,我們大致瞭解了 B1 的數字身份專利方案,歡迎留言,一起繼續探討。
參考資料
本文參考如下材料進行編譯改寫:
EOS42 期待你的瞭解和支援
EOS42 為 EOS 主網創世節點之一,賬號是 eos42freedom 歡迎為我們投票,表達您的支援。
🍎網站:https://eos42.io
🍋幣乎: https://bihu.com/people/365621
🍑Medium: https://medium.com/@eos42
🍏知乎: https://zhuanlan.zhihu.com/eos42