Microsoft 基於比特幣打造去中心化身分系統

Microsoft 基於比特幣網路打造 DID 系統,協助去中心化身分成為現實
上週,Microsoft 發布了一個名為 ION(Identity Overlay Network,身分覆蓋網路)的新型去中心化身分覆蓋網路(DID)早期預覽版。任何人都能使用這個運行於區塊鏈上的專用公開網路,建立去中心化身分(DID)並管理其公開金鑰基礎設施(PKI)狀態。其設計目標是打造一套基於比特幣的去中心化方案,同時滿足讓 DID 成為現實所需的規模與效能要求。
雖然 Microsoft ION 並不是業界第一個去中心化身分產品,但 Microsoft 此舉有可能影響整個科技產業。部分原因在於,現今許多企業都在使用 Microsoft 的基礎設施與產品;如果 Microsoft 將 DID 功能整合至其基礎設施及消費性產品,便能推動去中心化身分的廣泛採用。
在此之前,已有兩個組織致力於讓 DID 成為現實:去中心化身分基金會(DIF)與全球資訊網協會(W3C)。目前,W3C 已開始制定仍處於 1.0 草案階段的去中心化 ID(DID)規範,而 ArcBlock、uPort、Civic 與 Sovrin 等早期業界領導者,也都已圍繞 W3C DID 規範草案推出 DID 解決方案。
W3C 的工作對業界十分重要,因為一旦 W3C DID 標準成形,就表示即使各公司的身分系統彼此不同,仍可使用一些共同元件,使各項產品能夠彼此「互連」。如此一來,任何使用符合 W3C 規範之錢包或身分系統的使用者,都能使用及存取其他符合 W3C 規範的身分系統,進而改善使用者體驗,並促進其在不同產業、使用情境等領域的採用。
過去,Google、Facebook 等公司的身分系統都是專有系統,設計上並不與其他系統互動,反而是要將使用者綁定在單一平台上,以便彙整該使用者的資料並讓公司從中獲益。有了這些新的互連系統,使用者便能在不同系統之間自由移動,並在整個過程中持續掌控自己的資料。
舉例來說,假設使用者正在使用 ArcBlock 最近發布、採用開放且符合 W3C 規範之「DID」打造的 ABT Wallet;如果 Microsoft 的身分服務遵循該標準,任何使用 ABT Wallet 的使用者都能立即直接存取 Microsoft 的服務,無須額外註冊,還可使用原先透過 ArcBlock 身分框架取得、以 DID 為基礎的可驗證聲明,例如憑證和帳單。任何使用 Microsoft 支援之身分應用程式或服務的人,反過來也同樣適用。

早在 2018 年 2 月,Microsoft 就宣布會將去中心化身分列為公司整體區塊鏈策略的優先事項。2018 年 10 月,Microsoft 發布了一份名為 "Decentralized Identity" 的白皮書。概括而言,Microsoft 在白皮書中表達的立場基本上與業界一致:「在數位生活與實體世界不斷融合的今日,每個人都需要一個由自己掌控的去中心化數位身分,並由自己擁有的身分識別碼提供支援,以便進行安全且私密的互動。這個自主身分必須無縫融入人們的生活,並置於其數位世界活動的核心。」
Microsoft 也透露,他們將去中心化身分視為進一步鞏固其雲端運算市場地位的方法。Microsoft 希望升級既有的雲端身分系統,讓任何個人、組織和裝置都能完全掌控自己的數位身分與資料,包括分享什麼、與誰分享,以及在必要時將其收回,徹底置於自己的控制之下。為實現此願景,個人需要一個安全、加密的數位中心,用來儲存身分資料,並輕鬆管理自己的線上個人檔案及所存取的服務。這與目前大多數使用者存取線上服務的方式恰好相反:使用者向眾多網際網路應用程式與服務授予廣泛權限,而這些服務再將其身分資料散布或出售給任意對象。當然,還有其他公司也在嘗試類似的做法。如今,Sovrin 已成為 Hyperledger Indy 專案企業級解決方案的先驅,讓企業能立即使用「開放原始碼」身分服務。同樣地,ArcBlock 的 DID 協定與底層區塊鏈框架完全互連,實際上也是業界第一個由下而上支援 DID 的方案。

Microsoft 首次在白皮書中介紹其 DID 技術基礎架構(見上圖),由以下七個技術模組組成:
- W3C 去中心化身分(DID):由使用者獨立於任何組織或政府所建立、擁有及控制的身分。根據 W3C 的註解,DID 是全球唯一的識別碼,並連結至去中心化公開金鑰基礎設施(DPKI)的中繼資料。這些中繼資料由 DID 文件組成,其中包含公開金鑰材料、驗證描述資訊及服務端資訊。
- 去中心化系統(例如區塊鏈和分散式帳本):DID 的可行性最終必須建立在去中心化系統之上。區塊鏈技術提供 DPKI 所需的機制與功能。這也是為何區塊鏈技術出現後,DID 才真正具備技術可行性。
- DID 使用者代理程式:讓現實中的使用者能使用去中心化身分應用程式,協助建立 DID、管理資料與權限,以及對 DID 相關聲明進行簽章驗證。
- 全域 DID 解析器:利用一組 DID 驅動程式,提供一種標準方法,以跨越去中心化系統尋找並解析各種 DID 實作。例如 did: abt 開頭的 did,其中 abt 表示這是 ArcBlock 提供的 DID,因此可透過全域 DID 解析找到 DID 的技術提供者。這是 DID 彼此互連的關鍵之一。
- 身分中心:用於加密儲存個人資料的可複製網格,由雲端及邊緣執行個體組成,例如手機、電腦或智慧型喇叭,便於儲存身分資料並進行身分互動。
- DID 驗證:以 DID 為基礎的驗證協定。當 DID 技術實際落地時,這可能是終端使用者最先感受到的應用方式,也就是使用 DID 登入各種支援 DID 的服務。
- 去中心化應用程式與服務:將 DID 與個人身分資料儲存中心結合,可以建立新的應用程式與服務,在使用者的身分中心儲存資料,並於授權範圍內運作。
Microsoft 在白皮書中明確表示,希望與社群合作,積極開發支援 DID 實作的區塊鏈網路,並計畫開發類似錢包的應用程式,作為管理 DID 及相關資料的使用者代理程式。截至目前,市場上僅有最近發布的 ABT Wallet,以及 Civic 和 uPort 的應用程式等以 DID 為基礎的錢包產品。白皮書發布六個月後,Microsoft 交付了 ION 的第一個版本,成為第一家在去中心化身分領域推出實際技術產品的大型企業。

Microsoft 的 ION 是一個基於開放原始碼協定 Sidetree、運行於比特幣上的開放公開網路。大部分程式碼由 Sidetree 協定所定義的通用元件構成,包括 Sidetree 的核心邏輯模組、目標區塊鏈的讀寫配接器,以及能在節點之間複製資料的內容定址儲存協定。ION 可以使用單筆鏈上交易,在比特幣上錨定數萬筆 DID/PKI 操作。該交易以雜湊編碼,ION 節點使用雜湊,透過 IPFS 分散式儲存協定取得、儲存並複製相關的 DID 批次。與虛擬貨幣資產不同,身分無法交換和交易,因此此網路不需要獨立的共識機制、主鏈或側鏈。節點可以平行取得、處理及組裝 DID 狀態,其彙整能力讓它們能以每秒數萬次操作的速度運行。目前,其他 DID 實作與 ION 之間的主要差異,在於資料如何承載於區塊鏈上。例如,Hyperledger Indy(Sovrin)採用一種稱為「Public Permissioned Chain」的方法,需要使用其專供 ID 使用的區塊鏈技術。ArcBlock 的 DID 技術則將 DID 的基礎植入 Forge 開發框架和 SDK,讓任何基於該框架的鏈與應用程式都具備支援 DID 的能力。其 ABT network 中也有專門用於 DID 的鏈。
總而言之,Microsoft 是全球 IT 產業規模最大且最成功的企業之一,它對 DID 的支持將推動身分產業向前發展。Microsoft 能率先支援業界的開放標準,並有潛力改變人們與服務、應用程式、裝置等互動的方式。身為 DID 探索的先驅與創新者,ArcBlock 未來將與 Microsoft 攜手合作,進一步打造未來資訊社會的基礎設施。
本頁涉及
產品
-
Blocklet Server
superseded
把 blocklet 作為子行程託管的伺服器。這項工作在 ARC 裡繼續;子行程託管這個模型不再往下走。
-
Forge
sunset
一套用來建造鏈上應用的 SDK 和工具鏈,不必分別拼裝節點、資料層和客戶端。它後來成了 ArcBlock Chain。