通知與使用者儲存的隱私處理方式
關於 MetaMask Web 上新推出的身份驗證、通知及使用者設定儲存功能的相關資訊。
登入 MetaMask Web 可提升您的使用體驗,讓您能夠:
接收有關您錢包活動的通知
在您安裝了 MetaMask 的不同裝置之間同步您的使用者設定與偏好設定。我們將逐步開始備份並跨裝置同步您的通訊錄、交易記錄、已匯入的代幣及已追蹤的地址
在您更換或重設瀏覽器時備份您的設定
您的設定已同步,且不會洩露您的 MetaMask 活動隱私。我們不採用 Web2 式架構(由服務提供商託管使用者資料),而是採用隱私優先的方式,在客戶端(即本機裝置上)對您的資訊進行加密,伺服器僅作為加密資料的儲存與轉發媒介。因此,MetaMask 完全無法得知哪些使用者或地址正在使用此服務,以及其使用方式。
當您嘗試登入 MetaMask Web 時,您的 MetaMask 錢包會要求您使用您的地址對一則訊息進行簽署,以證明您擁有該帳戶。完成簽署後,您將以該帳戶地址登入 MetaMask Web。
我們採用標準的以太坊登入(Sign-In with Ethereum)流程。我們的伺服器會接收已簽署的訊息及您的地址,驗證簽名後,將地址與一個 salt(隨機值)進行雜湊運算以產生您的 AccountID,隨後捨棄該地址。伺服器會對您的 AccountID 進行簽署,並發出一個 JSON web token(JWT),用戶端可使用此 token 存取 MetaMask 服務,例如使用者設定儲存或通知功能。 由於地址不會被儲存,且 AccountID 的雜湊值無法被還原,MetaMask 無從得知是誰以及哪些地址曾經登入。
使用者設定儲存於 MetaMask 伺服器上,並以僅有使用者本人持有的專屬金鑰加密。除使用者本人外,任何人均無法讀取這些設定。
當您登入時,我們會透過將您帳戶的簽章套用至特定訊息所產生的雜湊值,在用戶端建立一組金鑰。這表示該金鑰具有確定性:也就是說,當相同帳戶對相同訊息進行簽章時,結果將始終一致。我們使用此金鑰在用戶端對您所有的使用者設定進行加密,再將其傳送至 MetaMask 伺服器。
在此情境下,MetaMask 僅作為儲存空間,無法得知是誰在使用此服務,也無法讀取設定內容,因為所有資料均已在用戶端完成加密。當有需要時,已加密的資訊可在另一台裝置上解密,前提是同一位使用者透過另一台裝置登入其 MetaMask 帳戶。 我們也正積極與生態系統合作,探索未來將使用者設定儲存去中心化的可能性。
我們儲存偏好設定與配置,其中可能包含您的公開地址、貨幣、常用代幣、介面設定或地址簿等資訊。我們不會儲存、傳輸或備份您的私鑰或 Secret Recovery Phrase,這兩項資訊僅供您本人存取。
我們為您監控區塊鏈,並在您的地址發生相關事件時(例如收到代幣、NFT 或解除質押)推送通知給您。
與僅在用戶端儲存加密資料的使用者設定服務不同,通知服務需要在伺服器端儲存受監控地址的未加密版本。為確保無法將多個地址歸屬於同一人,我們的伺服器在儲存通知任務時,不會將其與所屬使用者綁定。這表示 AccountID 與地址之間的關聯僅儲存於用戶端。