雖然有很多第三方圍繞 DID 展開研發,每家的方案也各有異同。但是如果未來 W3C DID 的規範形成標準,那就意味著即使這些不同廠商的 DID 互相之間是“互聯互通”的,而不是像過去的 ID 方案各不相讓、互相競爭,這就為全世界的使用者帶來一個前所未有的福音。例如使用者在 ArcBlock 上的 DID,字首為 did:abt,如果微軟的服務遵循標準,那麼 ArcBlock 平臺上的任何使用者可以無需額外的註冊登記,就可以直接訪問微軟的服務,並且可以把原來的在 ArcBlock 平臺上取得基於 DID 的如證書、票據等可驗證宣告(Verifiable Claims)直接用於微軟的系統,反之亦然。 當這樣的願景實現的時候,將真正出現“天下大同”的全新局面。
微軟在 2018 年 2 月宣佈將從去中心化身份作為公司的區塊鏈戰略切入點,並在 2018 年 10 月發表《去中心化身份》白皮書。微軟在白皮書表述的認知與業界大體一致:數字化生活與物理世界不斷交融的今天,每個人都需要一個自己擁有控制的、去中心化的數字身份,並由自己擁有的、能夠開展安全私密互動的身份識別符號(identifier)支援。這一自主擁有的身份必須無縫融入人們的生活,並將他們置於數字世界中活動的中心。
微軟也透露了其涉足去中心化身份領域的目的是進一步加強微軟在雲端計算市場的地位,它希望升級其現有的雲身份系統,讓任何個人組織和裝置能夠充分控制自己的數字身份和資料——分享什麼、與誰分享,以及在必要時收回,完全為己掌控。個人需要一個安全、加密的數字中心,在這裡他們可以儲存自己的身份資料,並輕鬆控制對其的訪問,而不是向無數的網際網路應用和服務授予廣泛的許可,並在眾多提供商之間傳播他們的身份資料。和微軟的思路相比, 目前已經成為 Hyperledger Indy 的專案 Soverin 是企業級方案的先行者,對於企業需要立刻部署基於開源技術的 DID 具有優勢。而 ArcBlock 的 did:abt協議則和 ArcBlock 的區塊鏈底層框架徹底打通,是業內第一個從底層自下而上支援 DID 的方案。
微軟在白皮書首度介紹了其 DID 的技術基礎框架(見上圖),由以下 7 個技術模組構成——
1. W3C 去中心化身份標識(DIDs): 由使用者獨立於任何組織或政府建立、擁有和控制的身份標識。根據 W3C 制定的標註,DID 是全球惟一的識別符號,與去中心化公鑰基礎設施(DPKI)後設資料連結,後設資料由包含公鑰材料、身份驗證描述符和服務端的 DID 文件組成。
2. 去中心化系統(例如區塊鏈和分散式賬本): DID 的可行性最終需要建立在去中心化系統之上,區塊鏈技術為此提供了 DPKI 所需的機制和功能。這也是區塊鏈技術出現後,DID 才真正技術上變得可行的原因。
3. DID 使用者代理: 讓真人使用者能夠使用去中心化身份的應用,有助於 DIDs 建立、資料和許可權管理,以及簽名驗證 DID 相關的宣告。
4. 全域性 DID 解析器: 利用一組 DID 驅動提供一個標準方法來跨越去中心化系統查詢和解析 各種 DID 的實現。例如 did:abt 開頭的 did,其中 abt 表明了這是 ArcBlock 提供的 DID,因此透過全域性 DID 解析就能定位到 DID 的技術提供方。這是各家的 DID 可以互聯互通的關鍵之一。
5. 身份中心: 個人資料加密儲存的可複製網格,由雲和邊緣例項(如行動電話、電腦或智慧揚聲器)組成,便於身份資料儲存和身份互動。
6. DID 認證: 基於 DID 的認證協議。這可能是 DID 技術落地的時候最先被終端使用者感知的方式, 就是可以用 DID 來登陸各種支援 DID 的服務。
7. 去中心化應用和服務: 與個人身份資料儲存中心相結合的 DIDs,可以建立全新的應用和服務,它們在使用者身份中心儲存資料,並在受權範圍內進行操作。
微軟在白皮書中明確在去中心化系統方面與社羣一起積極研發支援 DID 實現的區塊鏈網路,並計劃開發提供一個類似錢包的應用作為管理 DIDs 和相關資料的使用者代理。迄今為止,市場上 ArcBlock 釋出的 ABT Wallet,以及 Civic,uPort 都已經有此類產品。
白皮書發表半年之後,微軟首先在 DID 網路模組交付 ION ,成為第一家在去中心化身份領域有實際技術產品落地的大企業。微軟表示,為應對既滿足 DID 互動所需效能和規模的需求,又保持其去中心化和自我擁有的特性以區別於現有的身份技術的挑戰,它和去中心化身份基金會(Decentralized Identity Foundation,DIF)成員 ConsenSys、Transmute 開發了一種與區塊鏈無關、專用於建立可規模化的 DID 網路的協議 Sidetree。
ION 是基於開源協議 Sidetree 搭建的、執行於比特幣之上的開放公網,大部分程式碼由 Sidetree 協議定義的通用元件構成。ION 由 Sidetree 核心邏輯模組、目標區塊鏈的讀/寫介面卡,以及可在節點之間複製資料的內容定址儲存協議組成。ION 可以使用單個鏈上交易在比特幣上錨定數萬個 DID/PKI 操作。交易用雜湊編碼,ION 節點使用雜湊透過分散式儲存協議 IPFS 獲取、儲存和複製與相關的 DID 操作批。節點按照一組特定的確定性規則處理這些批操作,這些規則使它們能夠獨立到達系統中身份標識的正確 PKI 狀態。與虛擬貨幣資產不同,身份不能進行交換和交易,因此網路不需要單獨的共識機制、主鏈或側鏈。節點可以並行地獲取、處理和組裝 DID 狀態,其聚合能力允許其以每秒數萬次操作的速度執行。目前其他的 DID 實現和 ION 的思路主要的區別在於資料如何承載在區塊鏈之上,例如 Hyperledger Indy (Sovrin)是一種稱為“Public Permissioned Chain”的方法,需要使用其專門用於 ID 的區塊鏈技術。 而 ArcBlock 的 DID 技術則是把 DID 的基礎植入在其 Forge 開發框架和 SDK 之中,使得任何基於其框架的鏈和應用都具備支援 DID 的能力,在其鏈網 ABT Network 中有專門服務於 DID 的鏈。
總之, 作為全球 IT 界最大最成功的企業,微軟支援 DID 對整個行業是一種推動,能率先支援行業的開放標準,並基於比特幣網路上構建開源的 DID 技術,對微軟而言是一種非常大的勇氣,對網際網路具有深遠的意義。作為 DID 探索的先行者和創新者,ArcBlock 也將和微軟在未來攜手同行,進一步打造未來資訊社會的基礎架構。