bitcoinmix®
← 全部指南
ETHEREUM · 阅读约 1 分钟

如何匿名使用以太坊

以太坊地址会把你的每一步操作都汇集到一个公开的地方。本指南介绍 ETH 用户会在哪些地方暴露身份,如何不留关联地为新钱包提供 gas,以及如何防止应用、跨链桥和节点服务商把你的多个钱包联系在一起。

三个相互独立的以太坊钱包,它们之间的虚线连接已被切断,中间的钱包上有一滴 gas

以太坊的账本上没有姓名,却是最容易被追踪的网络之一。原因不在密码学,而在于账户模型、每一步操作都要支付的 gas 费,以及人们习惯把钱包和姓名、应用或已认证的交易所账户绑在一起。想知道如何匿名使用以太坊,归根结底就是逐一控制这些关联。

为什么以太坊地址就像一份公开档案

以太坊记录的是账户,而不是零散的币。一个地址对应一个余额。它发出的每笔交易都带有一个递增的编号,称为 nonce。任何人打开区块浏览器,都能看到完整余额、每一种代币、每一个 NFT、这个地址接触过的每一个应用,以及每次操作的准确时间。ethereum.org 关于账户的页面展示了这种结构有多简单。

这种设计非常适合开发应用。但从隐私角度看,地址就像一个永远不会删帖的社交主页。由此可以得出三点:

  • 重复使用是默认状态。 大多数人一个地址用好几年。每笔新付款都会加进同一份可见的历史记录。
  • 没有找零这回事。 比特币式钱包可以把资金拆分到新的输出中。以太坊账户只是把余额留在原处,所以痕迹始终集中在一个地方。
  • 持仓本身就会说话。 一个稀有 NFT、一次治理投票,或只在某个国家出售的代币,即使没有附带姓名,也可能指向某一个人。

所以目标不是藏在一个地址里,而是阻止不同地址之间、以及地址与你本人之间被关联起来。

以太坊用户会在哪些地方暴露身份

大多数关联是地址主人自己造成的,而不是被高明的分析发现的。下表列出了常见情况。

泄露来源暴露了什么如何避免
从已认证交易所提币你的真实姓名与收款地址并列把该地址永远视为公开地址
从主钱包转入 gas新地址与主钱包属于同一人通过没有共同历史的路径提供 gas
ENS 域名每笔历史交易上都有一个可读标签ENS 域名只放在公开钱包上
用以太坊地址登录你的地址与邮箱、账户或 IP 并列每个要求登录的应用使用单独地址
代币授权你使用哪些应用,往往长达数年使用单独的应用钱包;撤销不用的授权
默认节点服务商你的 IP 与你查询的每个地址并列运行自己的节点或通过 Tor 转发流量
公开发布地址你的网名与余额之间的关联每次都提供一个新的收款地址
一次性转走全部资金钱包之间金额与时间的吻合改变金额;步骤之间留出时间

本指南接下来会详细讲解其中最棘手的几项。

Gas 难题:第一笔交易就会暴露你

这是让大多数人中招的泄露点,在比特币上并不以同样的形式存在。

为什么新地址无法自行转账

以太坊上的每一步操作都要花费 gas,用 ETH 支付。一个全新地址如果只持有某种代币,比如 USDC,在它也持有一些 ETH 之前,什么都转不出去。gas 文档对这项费用有完整说明。

人们的本能反应是从主钱包转一点 ETH 过去。正是这一小笔转账,告诉所有旁观者这两个地址属于同一个人。为创建新地址所花的心思,被一笔 0.002 ETH 的补给全部抵消。

不留关联地提供 gas 的方法

  • 接收 ETH,而不只是代币。 如果新地址将来需要转出代币,确保先有 ETH 从一个与你其他钱包毫无关联的来源到账。
  • 第一次就收足。 一个日后还需要再补一次的钱包,会诱使你犯同样的错误。
  • 用混币器的输出作为初始余额。 来自以太坊混币器的付款会以普通 ETH 的形式到达新地址,既够付 gas,也够这个钱包的用途。
  • 绝不要用主钱包去“救”卡住的钱包。 如果新地址的 gas 用完了,就再次通过同样的私密路径为它提供资金。

让每个钱包只做一件事

在以太坊上,用几个各司其职的地址,比用一个包揽一切的地址更容易保护隐私。一个简单的配置如下:

公开钱包

这个钱包是公开的。它接收来自已认证交易所的资金,持有 ENS 域名,给朋友付款,或出现在社交媒体上。假设它的一切都是可见的,只放你愿意展示的内容。

私密持仓钱包

这个钱包通过一条与公开钱包没有关联的路径接收 ETH。它从不登录任何应用,从不接收 NFT 空投,也从不直接把资金转回公开钱包。硬件钱包很适合这个角色。

应用钱包

应用会要求签名、授权,以及访问你的代币列表。给它们一个专门为此准备的地址,只放适量资金。如果某个应用泄露了你的数据,它也只知道这个钱包的情况。

这三个钱包都可以放在同一个助记词下,使用不同的派生路径。在链上它们互不相关,直到某笔交易把它们连在一起,而这正是要避免的事情。

消息签名、授权与应用

并非所有关联都来自转账,有些来自签名。

Sign-In with Ethereum(EIP-4361)让网站可以用地址为你登录。这样一来,网站就掌握了你的地址,以及你的 IP、浏览器和你提供的任何邮箱或资料。用同一个地址登录两个服务,任何一方或日后的一次数据泄露,都能把这两个账户联系起来。

代币授权在被撤销之前一直留在链上。一个给十个应用授过权的地址,读起来就像你的习惯清单。撤销旧授权是良好的安全做法,同时也能减少陌生人一眼就能看出的信息。

撸空投是一个不太被注意的隐私问题。项目方会研究钱包集群,找出隐藏在众多地址背后的同一个人。同样的方法也适用于任何想把你的钱包归为一组的人:相同的资金来源、相同的时间、相同的应用调用顺序。

Layer 2 网络与跨链桥

Layer 2 网络让 ETH 用起来更便宜,但并不会让它更私密。每个主流 rollup 都和主链一样有公开的区块浏览器。

跨链桥带来一种特定风险。当 1.37 ETH 从主网进入跨链桥,几分钟后 1.37 ETH 出现在某个 rollup 上,两端很容易对上。转到 Layer 2 改变的是网络,而不是所有权的痕迹。请把跨链桥当作你自己钱包之间的直接转账来看待。

向节点服务商隐藏你的网络流量

账本只是数据的一半,另一半是网络流量。

典型的钱包应用并不运行节点。它向远程服务商查询你的余额、nonce 和代币列表。这个服务商能看到你的 IP 地址与钱包查询的每一个地址并列。如果同一个钱包应用里既有你的公开地址,又有你的私密地址,那么单凭这种请求模式,就能在区块链之外把它们联系起来。

可选做法,从最强到最简单:

  • 运行自己的节点。 ethereum.org 节点指南介绍了所需硬件。这样你的钱包只会向你自己的机器发出查询。
  • 通过 Tor 转发钱包流量。 服务商仍能看到查询内容,但看不到你家里的网络连接。
  • 把私密钱包放在单独的钱包应用或浏览器配置文件中,让它们的查询永远不会与你的公开地址一同发出。

隐身地址:以太坊隐私的发展方向

ERC-5564 描述了以太坊的隐身地址。收款人公布一个元地址,每个付款人随后由此推导出一个全新地址,只有收款人能从中花费。外部观察者看到的是互不相关的一次性地址,而不是一份不断增长的档案。

目前支持它的钱包还很有限。即便如此,这个思路仍值得了解,因为它解决了账户模型的核心问题:地址重复使用。在它普及之前,分开的钱包加上私密的资金来源,可以手动完成同样的工作。

通过混币 ETH 切断钱包之间的关联

分开的钱包只有在资金流转不留痕迹时才有用。混币器负责的正是这一步。ETH 被发送到一个一次性混币地址。在你设定的等待时间过后,新的 ETH 会到达你指定的目标地址,可以是你的私密持仓钱包,也可以是一个已经备好 gas 的新应用钱包。

几个习惯能让效果更好:

  • 发送到从未使用过的地址。 有历史记录的目标地址会把那段历史一并带过来。
  • 选择更长的延迟。 时间越长,转入与转出越难配对。
  • 之后继续转移资金时,避免使用整数或容易记住的金额。
  • 保留担保函。 它是一条你可以自行验证的签名消息。指南什么是担保函介绍了验证方法。

常见问题

以太坊默认是匿名的吗?

不是。以太坊显示的是十六进制字符串而不是姓名,但账户模型会把每一步操作都汇集到一个地址下。一旦这个地址通过交易所、ENS 域名或公开发言与你关联,它的全部历史也就与你关联了。

以太坊比比特币更私密吗?

在日常使用中,它通常更不私密。比特币钱包会自动轮换地址,而以太坊钱包反复使用同一个账户。指南如何匿名使用比特币介绍了比特币方面的内容。

从新钱包发送代币需要 ETH 吗?

需要。每一笔代币转账都要花费用 ETH 支付的 gas。请用一个与你其他地址毫无关联的来源向新钱包转入 ETH,否则 gas 付款本身就会把它们联系起来。

硬件钱包能让我匿名吗?

它让私钥保持离线,这是安全上的提升。但账本仍会公开记录它签名的每一个地址,因此这台设备对可追踪性毫无改变。

ENS 域名以后还能设为私密吗?

基本不能。注册记录以及每一笔历史交易都会留在链上。出售域名或让它过期,都无法抹去它曾建立的关联。请把 ENS 域名放在本来就打算公开的钱包上。

使用 Layer 2 能隐藏我的交易吗?

不能。Rollup 会公开其数据,任何人都可以核查。进出跨链桥的转账很容易通过金额和时间对上。

资料来源与延伸阅读

开始混币 Ethereum →