Etherveil:一款以太坊隐私浏览器

以太坊中文 发布于 2026-06-23 阅读 140

Etherveil 是一个基于 Firefox/Tor 的浏览器,内置 Kohaku 钱包引擎,旨在通过强制隐私三层(网络、执行、链上)实现隐私默认。它使用 Fingerprint Profile 将浏览器 API 行为限制在有限的等价类中,使同一类用户看起来完全相同,从而防止指纹识别。网络层默认使用 Tor,可选 Mixnet,交易通过 Tornado Cash 和 ERC-4337 匿名提交。文章详细介绍了架构、指纹归一化层、钱包引擎和威胁模型,强调了隐私应由运行时强制执行而非用户配置。

重要提示: 本文档为 持续完善中 的内容,是一份早期阶段架构提案。它定义了系统边界与设计原则,但 涉及最终实现的细节或安全保证。请注意 Etherveil 为暂定名称。本文旨在收集社区反馈,欢迎分享你的意见

愿景

Etherveil 是一个基于 Firefox/ Gecko 的浏览器,构建在 Tor Browser 的补丁集之上,并内嵌 Kohaku 作为 原生钱包引擎。核心理念很简单:隐私应是运行时的属性,而非由用户配置的事项

大多数隐私工具将负担转嫁给用户,例如安装此扩展、通过此 VPN 路由、记得使用屏蔽地址等,不胜枚举。Etherveil 将此视为设计缺陷。浏览器在三个层面默认强制执行隐私保护:网络(IP 与流量元数据)、执行层面(浏览器指纹暴露面)以及链上(地址、交易来源、余额)。用户应能打开浏览器,访问支持以太坊的网站,并进行交易,而不会产生超出其分配匿名类别的稳定、可关联、可区分的信号(且无需用户理解底层机制)。Etherveil 通过对所有可观测执行面施加确定性约束,取代了概率性隐私机制。

系统不变量

不变量: 所有可观测的浏览器 API 必须归结为同一 指纹配置文件 类别中用户共享的有限等价类集合。

简而言之:使用相同隐私配置文件的用户,在网站眼中看起来完全一样,因为浏览器将所有可观测行为强制为少数标准模式。

架构

┌────────────────────────────────────────────────────┐
│     Etherveil 浏览器外壳(Firefox/Tor 分支)          │
├───────────────────────────┬────────────────────────┤
│  执行与指纹标准化层       │  Kohaku 引擎           │
│  (Tor 浏览器基础)        │  (钱包 + 交易)       │
├───────────────────────────┴────────────────────────┤
│ 网络隐私与验证层                                    │
│ Tor/可选混合网络、Helios 轻客户端                   │
│ ERC-4337 Bundler 中继                               │
└────────────────────────────────────────────────────┘

指纹标准化层

Tor 浏览器已解决大多数棘手的指纹识别问题;我们对其进行扩展而非重新发明。主要新增内容是我们称之为 指纹配置文件 的东西:一个固定、预计算的浏览器可观测等价类,构造为基于经验分布的相关浏览器信号的约束满足元组,按浏览上下文分配,并在会话生命周期内不可变。这确保了跨字段一致性(例如时区-区域-语言连贯性),并防止独立属性欺骗。

关键设计决策是:这不是每个用户的配置或运行时随机化。随机化实际上适得其反:如果画布噪声种子在页面加载之间发生变化,这种转变本身就是指纹。相反,每个配置文件是一个从真实世界分布离线派生的快照,但不在运行时采样,旨在最大化其所属匿名集的大小。如果某个网站在分配的配置文件下无法运行,整个浏览上下文会在另一个兼容类别下重新启动。会话中间不会发生突变。

被标准化的 API 表面在 Gecko/ SpiderMonkey 层级通过确定性 API 拦截与重写(而非可检测的内容脚本)实现:

  • navigator.*:用户代理、平台、硬件并发数、设备内存
  • Intl/Date:时区、区域、语言协商头
  • Canvas/WebGL:每个配置文件的确定性输出;厂商和渲染器字符串与类别分布对齐
  • screen.*devicePixelRatio
  • WebRTC:ICE 候选被抑制或标准化
  • 高熵 API(音频、字体、性能计时):按配置文件类别量化

所有高熵 API 要么被量化、统一,或映射到配置文件限定的等价类中。

存储与交互隔离

存储(IndexedDBlocalStorage、cookies、缓存)按来源和配置文件分区,无跨配置文件泄漏。除存储外,交互信号——滚动计时、指针移动、按键节律——在有界随机模型中经过平滑和量化处理。目标是降低行为熵至足以击败生物识别重新识别,同时不让浏览器感觉难以使用。可用性与熵的权衡边界是该系统的核心开放设计参数。

Kohaku 钱包引擎

钱包是 原生浏览器子系统,而非扩展。浏览器向 dApp 提供单一交易 API,并刻意不透露给定交易是私下还是公开执行。该区别是引擎的实现细节,dApp 无需了解。

dApp -> 钱包 API -> Kohaku 引擎 -> 隐私中继 -> 链
组件 作用
tornado-cash 默认屏蔽交易层
provider 统一 RPC(Helios/外部节点/本地客户端)
pq-account 后量子 ERC-4337 默认账户类型

所有新账户默认为 pq-account 智能账户。交易通过 Tornado Cash(或更一般地,抽象 zk 屏蔽层)路由,除非用户明确选择公开流程。UserOperation 通过 Tor 路由的 ERC-4337 bundler 提交,因此用户的 IP 永远不会与公共内存池中的交易关联。

网络隐私层

网络栈继承自 Tor 浏览器并进行扩展:

  • Tor(默认): 每个来源的电路隔离;所有流量和 DNS 完全路由
  • 混合网络(可选): 针对时间关联攻击的更强元数据抵抗能力,但以延迟为代价;是否默认启用还是需主动选择,尚未有定论
  • Helios 轻客户端: 通过同步委员会证明进行原生以太坊状态验证,消除对中心化 RPC 提供商的依赖;ENS 解析仅通过 Helios 进行
  • 流量整形: 确定性延迟填充和请求批处理以减少时间关联

威胁模型

浏览器旨在防御以下攻击:

  • ISP 和出口节点流量分析
  • 通过 Canvas、WebGL 及其他高熵 API 进行跨站点指纹识别
  • RPC 端点监控(对 Infura/Alchemy 等的地址查询)
  • 链上地址聚类和交易图分析
  • 行为生物特征重新识别(有限缓解)

它不能完全解决(也未声称解决)以下问题:具备完全网络可见性的全球被动对手、操作系统或硬件级侧信道、以及用户操作安全失误。

非目标

为保持设计一致性,以下内容明确排除在范围之外:

  • 扩展兼容性:WebExtension API 会重新引入身份面,破坏指纹模型
  • 用户控制的指纹调整:匿名保证依赖于用户彼此无差异,而非个性化定制
  • 选择加入或“尽力而为”的隐私模式:该模型仅在统一强制执行时有效
  • 向 dApp 暴露执行模式(私有 vs 公开)

延期设计问题

在实现前需要做出但暂无明确答案的几个决策:

  • 配置文件持久性: 是否应为给定来源跨会话分配相同配置文件,还是每次会话轮换?按来源保持一致性对可用性更好;轮换对不可关联性更好。
  • 混合网络默认: 以 Tor 为基准,混合网络作为选择加入;还是默认启用,并为延迟敏感场景提供逃生口?
  • 交互强化: 行为熵抑制与可用性之间可接受的权衡点在哪里?
  • Web 兼容性: 某些网站在严格指纹类别下会无法运行。当没有兼容的高用户群体配置文件类别能正确渲染网站时,升级路径是什么?
  • 原文链接: ethresear.ch/t/etherveil...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论