SpruceID 是一家數位身份與個人資料管理公司,致力於建構基礎設施與工具,賦予使用者掌控自身網路身份與資料的能力。其開源程式庫已累積超過 300 萬次下載,並有逾 1,000 個 dapp 採用 Sign-In With Ethereum(SIWE)標準,SpruceID 正在解決使用者資料所有權與互通性這一長久以來的難題。
MetaMask Developer 是 MetaMask 的開發者部門,提供一整套工具、API 與 SDK,旨在協助使用者順利上手,並讓開發者能為 MetaMask 使用者打造獨特的無需許可錢包連接與 dapp 內體驗。MetaMask Developer 建立在 MetaMask 與 Infura 值得信賴且安全的基礎之上,同時透過積極的社群參與與協作,持續提升 MetaMask 錢包對使用者與開發者的體驗。
本篇部落格文章介紹生態系合作夥伴 SpruceID,以及他們如何透過使用者自主控制的身份驗證實現資料互通性,並說明 SpruceID 與 MetaMask Developer 合作,如何將 EIP-4361(即 Sign-In with Ethereum,SIWE)整合至 MetaMask,同時催生了 MetaMask 改進提案。
透過使用者自主控制的身份驗證實現資料互通性
當今的網際網路高度中心化,使用者資料的互通性幾乎不存在。舉例來說,一位醫療病患若想轉換至新的醫療提供者,由於資料儲存於中心化資料庫,往往難以順利轉移現有的病歷記錄。這種做法並非醫療產業獨有,在傳統金融、社群媒體與政府機構中同樣普遍。
SpruceID 認為,透過轉向「資料保險庫架構」即可輕鬆解決這一問題——使用者的資料不再由第三方服務儲存與管理,而是存放於由使用者自行操作的安全加密個人保險庫中。
然而,要實現這一目標,需要一套身份驗證標準,讓使用者能隨時授予或撤銷對其資料的存取權限。這套標準還必須具備足夠的延伸性,以支援基於同意的資料分享,讓使用者能針對不同情境,精細控制哪些資料要分享、哪些不分享。
另一項挑戰在於確保這套身份驗證標準能在生態系中獲得 dapp 開發者的認可與採用。此外,與此身份驗證方法相關的特定安全問題,只能在錢包層級加以解決。例如,當網站要求使用者簽署交易時,確認使用者網址列中的地址是否正確、請求是否透過安全網路傳輸,這些複雜的安全檢查在 dapp 層級難以實作,但錢包卻能輕鬆執行。
MetaMask Developer 與 SpruceID 合作實作 EIP-4361
透過制定 (SIWE)標準,SpruceID 團隊建立了一套基於密碼學與使用者公私鑰的使用者自主身份驗證方法。透過這些金鑰,使用者可以簽署機器無法偽造的數位簽章,也可以簽署授權憑證,讓 dapp 存取其資料保險庫。SIWE 還提供精細化控制,讓使用者能指定資料保險庫中哪些資源涉及特定互動。
為促進生態系的廣泛採用,尤其是在 dapp 開發者之間,SpruceID 與 MetaMask Developer 合作,將 SIWE 作為功能整合至 MetaMask 錢包。此次合作借助 MetaMask 內部 JavaScript 安全專家的專業知識,在錢包層級解決了多項安全問題,開發者因此無需再於 dapp 層級自行處理這些問題。
「回顧與 MetaMask Developer 團隊的合作經歷,腦海中浮現的兩個詞是 「極度積極回應」 與 「嚴謹細緻」 。我們來回反覆迭代多次,共同追求對使用者最有利的結果。我們非常感謝 MetaMask Developer 團隊認識到保護使用者安全的重要性。」—— Wayne Chang,SpruceID 創辦人
此外,透過這次合作,MetaMask Developer 建立了一套流程,讓 SpruceID 等專案能夠提出新功能建議並對 MetaMask Wallet API 提出變更。這套流程稱為 MetaMask 改進提案(MIP),詳細內容可參閱這篇部落格文章。
立即開始使用 MetaMask Developer
您是正在開發消費者 dapp 的開發者嗎?
MetaMask Developer 套件涵蓋 MetaMask Wallet API、SDK、Web3 服務 API 與 Snaps,提供一整套工具,協助您吸引數百萬最活躍的 Web 使用者上手。
歡迎前往開發者入口網站,深入了解我們提供的各項服務。