Etherveil-一款以太坊隱私瀏覽器

本文為機器翻譯
展示原文

重要提示:本文檔尚處於開發階段,僅代表早期架構方案。它定義了預期的系統邊界和設計原則,但並未明確最終實現方案或安全保證。請注意, Etherveil僅為暫定名稱。本文旨在收集社群回饋,歡迎分享您的意見

想像

Etherveil 是一款基於Firefox / Gecko核心的瀏覽器,它採用了Tor 瀏覽器的補丁集,並嵌入了Kohaku作為原生錢包引擎。其核心概念很簡單:隱私應該是執行時期環境的屬性,而不是使用者需要配置的

大多數隱私工具都會負擔轉嫁給用戶,例如安裝這個擴充功能、透過這個 VPN 路由、記住使用屏蔽位址等等。 Etherveil 將此視為設計缺陷。此瀏覽器在三個層面強制執行預設隱私保護:網路層(IP 和流量元資料)、執行層(瀏覽器指紋識別)和鏈上層(位址、交易來源、餘額)。使用者應該能夠打開瀏覽器,訪問支援以太坊的網站,並進行交易,而無需產生超出其分配的匿名等級的穩定、可連結的可區分訊號(也無需使用者了解底層機制)。 Etherveil 以所有可觀察執行層面的確定性約束強制執行取代了機率隱私機制。

系統不變量

不變式:所有可觀察的瀏覽器 API 必須解析為同一指紋設定檔類別中使用者共享的有限等價類集合。

簡單來說:所有使用相同隱私設定的使用者在網站上看起來都完全一樣,因為瀏覽器會將所有可觀察的行為強制納入少數標準化的模式中。

建築學

┌────────────────────────────────────────────────────┐│ Etherveil Browser Shell (Firefox/Tor Fork) │├───────────────────────────┬────────────────────────┤│ Execution & Fingerprint │ Kohaku Engine ││ Normalisation Layer │ (Wallet + Tx) ││ (Tor Browser Base) │ │├───────────────────────────┴────────────────────────┤│ Network Privacy & Verification Layer ││ Tor/Optional Mixnet, Helios Light Client ││ ERC-4337 Bundler Relay │└────────────────────────────────────────────────────┘

指紋歸一化層

Tor 瀏覽器已經解決了大部分棘手的指紋辨識問題;我們正在對其進行擴展,而不是重新發明輪子。主要的新增功能是我們稱為「指紋配置」的東西:一個固定的、預先計算好的瀏覽器可觀察對象的等價類,它由一個滿足約束的元組構成,該元組基於從經驗分佈中導出的相關瀏覽器信號,並根據瀏覽上下文進行分配,並且在會話生命週期內保持不變。這確保了跨欄位的一致性(例如時區、區域設定和語言的一致性),並防止了獨立屬性欺騙。

關鍵的設計決策在於,這並非基於使用者配置或執行時間隨機化。隨機化實際上會適得其反:如果頁面載入之間畫布噪音種子發生變化,這種變化就會留下痕跡。相反,每個配置檔案都是從真實世界分佈中離線生成的一致快照,而非在運行時採樣,其選擇旨在最大化其所屬匿名集的大小。如果某個網站在指派的設定檔下發生故障,整個瀏覽上下文將在另一個相容的類別下重新啟動。會話期間不會發生任何變更。

透過確定性 API 攔截和重寫(而非內容腳本,內容腳本是可以偵測到的),在Gecko / SpiderMonkey層級對錶面進行歸一化:

  • navigator.* :用戶代理、平台、硬體並發性、裝置內存
  • Intl / Date :時區、區域設定、語言協商標頭
  • Canvas/WebGL:每個設定檔都有確定性的輸出;供應商和渲染器字串與類別分佈對齊
  • screen.*devicePixelRatio
  • WebRTC :ICE候選被抑製或標準化
  • 高熵 API(音訊、字型、效能計時):依設定檔類別量化

所有高熵 API 要么被量化,要么被統一,要么被映射到配置文件限定的等價類中。

儲存與互動隔離

儲存( IndexedDBlocalStorage 、cookie、快取)按來源和使用者設定檔進行分區,避免跨設定檔洩漏。除了儲存之外,交互訊號(滾動時間、指針移動、按鍵節奏)也在有界隨機模型中進行平滑和量化處理。目標是在不影響瀏覽器使用體驗的前提下,將行為熵降低到足以抵禦生物特徵重辨識的程度。可用性與熵之間的權衡是該系統的核心開放設計參數。

Kohaku錢包引擎

該錢包是瀏覽器原生子系統,而非擴充程式。瀏覽器向去中心化應用程式(dApp)公開單一的交易API,並且有意不透露特定交易是私下執行還是公開執行。這種區別是引擎的實作細節,dApp無需了解。

dApp -> Wallet API -> Kohaku Engine -> Privacy Relay -> Chain
成分角色
tornado-cash預設屏蔽交易層
provider統一 RPC(Helios/外部節點/本地客戶端)
pq-account後量子ERC-4337預設帳戶類型

所有新帳戶預設都是pq-account智慧帳戶。 UserOperation使用者明確選擇公開交易流程,否則交易會透過 Tornado Cash(或更一般地說,透過抽象的零知識保護層)進行路由。 UserOperation 透過 Tor 路由的 ERC-4337 打包器提交,因此使用者的 IP 位址永遠不會與公共交易池中的任何交易關聯。

網路隱私層

網路協定棧繼承自 Tor 瀏覽器並進行了擴充:

  • Tor(預設):按來源隔離電路;所有流量和 DNS 完全路由。
  • Mixnet(可選):增強元資料抵禦時間關聯攻擊的能力,但會增加延遲;是否應為可選功能或預設功能尚未確定。
  • Helios 輕客戶端:透過同步委員會證明進行本地以太坊狀態驗證,無需依賴中心化的 RPC 提供者; ENS解析僅透過 Helios 進行。
  • 流量整形:確定性延遲填充和請求批次以降低時間相關性

威脅模型

該瀏覽器旨在防禦:

  • ISP和出口節點流量分析
  • 透過 Canvas、WebGL 和其他高熵 API 進行跨站指紋識別
  • RPC端點監控(將查詢傳送至Infura/AlchemyETC)
  • 鏈上地址聚類和交易圖分析
  • 行為生物特徵重識別(有限緩解)

它無法完全解決(也不聲稱能夠解決)具有完全網路可見性的全球被動攻擊者的攻擊、作業系統或硬體級側頻道,或用戶操作安全故障。

非進球

為了保持設計的一致性,以下幾點明確排除在外:

  • 擴充相容性:WebExtension API 重新引入了身分錶面,這將破壞指紋模型。
  • 使用者可控制的指紋調整:匿名性保證取決於使用者之間無法區分,而不是個人化自訂。
  • 選擇加入或「盡力而為」的隱私模式:這種模式只有在統一執行的情況下才能奏效。
  • 向去中心化應用程式(dApp)公開執行模式(私人或公共)

延遲設計問題

實施前需要做出一些決定,但目前還沒有明顯的正確答案:

  • 設定檔Persistence:同一設定檔是否應該在不同會話中分配給相同來源,還是應該在每個會話中輪換使用?同一來源保持一致性更有利於可用性;輪換使用則更有利於防止關聯。
  • Mixnet 預設設定:以 Tor 為基準,Mixnet 作為選用功能,還是預設啟用,並為對延遲敏感的情況提供備用方案?
  • 交互強化:行為熵抑制和可用性之間可接受的權衡點在哪裡?
  • Web相容性:某些網站在嚴格的指紋類別下會顯示異常。當沒有相容的高用戶群體設定檔類別能夠正確渲染網站時,應該如何升級解決?

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
87
收藏
17
評論