去中心化身份的獨立日

作者:Robert Mao,ArcBlock 創辦人兼執行長
插畫:Moon Cao,ArcBlock UX 設計師
6 月 30 日,Tim Berners-Lee 爵士推翻了 Google、Mozilla 等對 DID Core 成為 W3C 推薦標準的否決,為 DID Core 最終成為 W3C 推薦標準鋪平了道路。這是 W3C CCG(憑證社群小組)所有成員與貢獻者的勝利,更是使用者的勝利。考慮到 DID 是首個成為 W3C 推薦標準的自我主權身份(SSI)協議,甚至可以說這是人民的勝利。
幾天後的 7 月 4 日,正逢美國獨立紀念日,這一天紀念美國於 1776 年 7 月 4 日宣布獨立。我認為 DID Core 成為 W3C 標準,可視為去中心化身份技術的一種「獨立宣言」,從長遠來看,其意義或許與獨立日一樣深遠。

什麼是 DID?
讓我們先用幾句話簡要介紹 DID。W3C DID Core 規範的基礎,實際上就是定義了一種「去中心化識別碼」的標準格式。
這種格式看起來很像熟悉且常見的以 https:// 開頭的網路地址,並分為三個部分。
- 第一部分永遠是「DID」,表示這是一個「去中心化識別碼」。
- 第二部分稱為「方法(Method)」,範例中的 ABT 是我們 ArcBlock 定義的 DID 方法。
- 第三部分可以是任意字串,其定義、創建與解讀完全由第二部分的方法提供者負責。

舉例來說,Facebook 的用戶 ID 是一個序列號,同樣的數字可能在其他系統中出現,且通常代表完全不同的事物。例如,我的 Facebook 用戶 ID 是 1314596489,但這個 ID 可能在 Amazon 代表一本書,或在 Instagram 代表一張照片。透過 DID 規範,可以明確定義全球唯一的識別碼,無論該物件在哪個系統中,或由誰開發實作,都不會再有混淆。

DID Core 一個獨特(但被 Google 和 Mozilla 批評)的設計,是允許大量註冊的方法,背後的身份由這些不同方法定義與解讀。這個設計本身體現了去中心化的精神,並賦予 DID 無限擴展性與與現有傳統身份系統的相容性。從我們 2019 年初參與時的少數方法清單,到現在已經長達數頁,隨著 DID Core 成為標準,成員與支持的方法清單預計將更為龐大。
Google 和 Mozilla 對 DID 草案的反對意見之一,是 DID 支援多種方法卻沒有嚴格定義標準方法,且由於需要多方法互通,這成為另一個批評點;此外,由於方法可有多重實作,意味著某些方法可能不如其他方法去中心化,這也是 Google 拒絕的理由之一。但我認為這不是設計缺陷,而正是去中心化的體現。我不認為這些大型且既有的公司看不到這樣做的價值,更可能是他們害怕這樣的設計會讓他們失去既得利益以及對用戶身份與數據的壟斷。
W3C 的 DID 也定義了 DID 文件(DID Document)的概念,這是一個非常具擴展性的設計,不僅統一了 DID 與 URI(通用資源識別碼),還借鑑了過去網際網路協議的許多經驗教訓。這部分容易被誤解與混淆,本文不再深入。
什麼是可驗證憑證(Verifiable Credentials)?
DID 僅是最基礎的層級,而基於 DID 的可驗證憑證則是解鎖眾多應用場景的關鍵。
可驗證憑證是一種包含數位簽章以實現驗證的資料格式規範。概念非常簡單,意指資料格式中包含某些驗證資訊,使其能有效驗證且不可被竄改或破壞。此處使用的簽章與驗證技術已廣泛應用於許多網路應用,屬於成熟技術與實務。設計此規範的目的是標準化這些資料格式,使不同系統與實作能有效互通。
W3C CCG 提出基於 DID 的可驗證憑證設計的抽象通用概念模型如下:

在此模型中,憑證的角色主要分為發行者(Issuer)、持有者(Holder)與驗證者(Verifier),每個角色皆由 DID 識別,而可驗證憑證是可由簽章演算法驗證的資料。
從 DID 到可驗證憑證不一定與當今區塊鏈及加密貨幣相關。可驗證憑證的設計常使用類似區塊鏈廣泛採用的雜湊與簽章演算法。上述模型中還有一個角色為可驗證資料登錄(Verifiable Data Registry,VDR),可由區塊鏈實作,但並非必須使用區塊鏈,也可依實際應用場景由傳統資料庫甚至普通檔案實作。在我文章《ArcBlock 如何使用 AWS QLDB 建構去中心化身份解決方案》中,介紹了使用 AWS QLDB 作為 VDR 的 DID 實作方式。
W3C CCG 文件《可驗證憑證工作組的使用案例》列出多個可用可驗證憑證解決的場景與實例。CCG 文件《可驗證憑證工作組的使用案例》列出多個可用可驗證憑證解決的場景與實例。許多市場上所見的「企業區塊鏈應用場景」實際上都是可驗證憑證的典型應用。
可驗證憑證可用於許多具體場景,以下列舉幾個隨機應用範例:
- 你是否達到某個年齡?例如購買酒精與菸草或進入限制年齡場所
- 你是否具備駕駛機動車輛的資格?如數位駕照
- 你是否通過某些培訓並取得資格?例如數位學歷與培訓證書
- 你是否持有專業執照,如醫師執照?例如數位執照
- 你是否通過 KYC 驗證?是否為特定法規下的合格投資人?
- 你是否允許國際旅行?如簽證、護照、疫苗接種卡等
- ...
有人可能會說上述例子今天都已實現且日常使用。沒錯,許多例子確實是現有應用場景,但存在幾個問題:首先,這些基於集中式設計的認證系統基本上需要完美的網路連接,可能在某些網路環境或突發事件中失效;其次,這些集中式設計常成為駭客攻擊目標,導致嚴重資料外洩與隱私災難;再者,現有解決方案多由特定廠商或政府部門實作,彼此無法良好互通,使用者往往需要手機中安裝眾多應用程式以適應不同需求。DID 的可驗證憑證設計目標,不僅是完成上述應用,更要確保去中心化特性並保護使用者隱私。
DID 開啟新的應用開發範式
我們看到的是 DID 帶來的未來應用機會範圍,以及其向應用開發範式的遷移。DID、去中心化應用與近期的 Web3 運動不謀而合。可以想像,DID 技術將成為 Web3 運動中的關鍵技術革命。
DID 對識別碼的標準化,使不同軟體模組與系統間的互通更容易,更重要的是,DID 的核心理念是讓使用者,而非服務提供者,完全擁有與控制自己的資料,這是對過去網際網路時代,特別是 Web2 的思維巨大轉變。過去,網路服務的「核心競爭力」是擁有多少用戶資料,因此廠商間的競爭關鍵在於誰掌控更多用戶資料;而在 DID 思維下,只有使用者擁有自己的資料,廠商僅專注於提供服務或軟體,這使軟體與服務間的緊密合作不再是嚴重的利益衝突。

我們早在 2017 年 ArcBlock 創立時就意識到去中心化身份的需求,但當時尚未找到最合適的解決方案。2018 年我們研究了市場上各種方案,被 W3C CCG 提出的 DID 吸引,認為它是市場上各種去中心化身份中最佳選擇。自 2019 年上半年起,我們將 DID 技術納入核心技術棧,並持續投入此領域。2022 年,我們甚至將 DID 相關技術拆分成立為生態系統一部分的 DID Labs,以便更獨立且專注地發展 DID 技術。
我們參與 DID 制定過程時,標準尚未形成,產業標準往往意味著漫長的時間與大量討論妥協,初創公司難以有足夠資源與時間跟進標準制定流程,因此我們採取更靈活輕量的參與方式。
我們積極參與標準組織社群,仔細研讀社群產生的文件、會議記錄與討論,更多扮演聆聽與學習角色,而非積極輸出意見。
我們不等待標準與社群共識(通常耗時甚久),而是根據自身理解快速實作並嘗試自己的版本,當原型甚至產品實現後,再根據社群其他人的成果或討論架構進行改進。此策略讓我們不必花大量時間在尚未成形的標準上,也不會陷入固有思維。
在與其他 DID 方法的互通性方面,我們採取觀望態度,早期未投入精力,但持續關注社群,標準正式形成後再著手互通工作。
透過此策略,我們已圍繞 W3C DID Core 推薦標準與自身創新,實作一系列 DID 相關模組,形成現已完整且可開箱即用的產品系統。
- 原生 DID 基礎的區塊鏈地址:具 DID 的區塊鏈地址
- DID/VC 基礎的 NFT 格式:使用 DID 與 VC 的 NFT 資料格式
- DID/VC 基礎的 Access Control Passport:基於 DID 與 VC 的存取控制格式
- DID Wallet:用戶管理去中心化身份與數位資產的錢包
- DID Connect:使用 DID 將用戶連接至應用的協議
- DID Motif:DID 的視覺呈現函式庫,讓用戶透過圖案顏色差異一眼辨識不同 DID
- DID Storage:由 DID 管理的用戶資料存取協議與去中心化資料存儲格式

我們將開源並貢獻這些自研產品系統部分給 DID 社群,並隨著 DID 正式標準的形成,全面擁抱標準與互通性。
DID 未來的挑戰
W3C DID 將成為正式的 W3C 推薦標準。這是所有 DID 推動者的重大里程碑,但也只是去中心化漫長道路的開始。成為 W3C 推薦標準的仍僅是最基礎的協議 DID Core,基於 DID 建構應用還需要更多標準與規範,未來仍有漫長路要走。
W3C CCG 的 DID 並非唯一的去中心化身份標準,還有其他競爭或類似協議,可視為同方向競爭的不同學派。其他協議如 OpenID、WebID、Web Authn、IndieAuth 等,其中部分並未解決與 DID 相同的問題,但存在一定程度的重疊。
在 DID 標準形成過程中,Google、Mozilla 等網際網路時代的大公司提出反對並試圖阻止 DID 規範的形成。無論其動機為何,我相信這正顯示了 DID 的價值與潛力。這讓我想起當年我剛進入 VoIP 領域時,大型電話公司、通訊技術公司與國營電信試圖扼殺 IP 電話技術,發動一波又一波的創新阻擊……如今 VoIP 技術已成為基本服務,甚至是當今電信業的新骨幹。所有試圖阻止技術創新的「巨頭」最終不是成為歷史,就是被迫接受並加入新陣營……歷史總是押韻。

在 Hacker News 關於 DID Core 成為 W3C 推薦標準的討論中,我驚訝地看到許多評論集中於批評與嘲諷因眾多區塊鏈技術公司參與 DID 而產生的爭議。我閱讀了數十條評論,幾乎未見任何「有效」的反駁論點,反而充斥著對 DID 的誤解、錯誤詮釋以及對區塊鏈與加密貨幣的惡意。正如前述,DID 與區塊鏈實際上是獨立技術,並非必然相關。但因區塊鏈、數位貨幣與當前流行的 Web3 概念的普及,許多區塊鏈技術公司(包括我們)看到了 DID 的價值並投入其中。令人驚訝且遺憾的是,Hacker News 中的許多極客社群成員對此嘲笑與反感,但這也顯示 DID 距離普及仍有很長的路要走。
就像回顧歷史中 7 月份,當獨立宣言首次撰寫、簽署與宣布時,美國仍是風暴中的一個小而弱的政治體,距離成長為強大國家還很遙遠,沒有人知道這份短短的宣言將在未來寫下不可磨滅的歷史。

本頁涉及
術語
-
DID
DID 是一種數位身分標識。它幫助持有者和驗證方確認某個身分由誰控制,也讓一項聲明有明確的關聯對象。帳戶、登入和授權各自仍有自己的角色。