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
评论