Cointime

扫码下载App
iOS & Android

V神新文:隐身地址不完整指南

原文作者:Vitalik Buterin

原文编译:Karen,Foresight News

当前以太坊生态系统中最大挑战之一是隐私。默认情况下,进入公共区块链的任何内容都是公开的,这不仅意味着资产和交易活动,还意味着 ENS 域名、POAP、NFT 和灵魂绑定代币等。使用一系列以太坊应用就意味着你的很多活动会公开给其他任何人查看和分析。

我们需要改善这种状况。然而,到目前为止,关于改善隐私的讨论主要围绕一个特定的用例,即:ETH 和主流 ERC20 代币的隐私保护转移。这篇文章将描述一种不同类别工具的机制和用例,可以在许多其他情况下改善以太坊的隐私状态,也就是「隐身地址」( stealth addresses)概念。

隐身地址系统是什么?

假设 Alice 想要给 Bob 转移资产,可能是一定数量的加密货币(例如 1 ETH、500 RAI),也可能是一个 NFT。当 Bob 收到资产时,他不想让其他人知道该笔资产的接收人是他。隐藏已经转移发生的事实是不可能的,特别是如果转移的是一个在链上仅存在一个副本的 NFT,不过隐藏谁是接收者可能更可行。

Alice 和 Bob 更想要的应该是这样一个支付流程系统,即,Bob 向 Alice(或支持 ENS 域名)发送某种能接收付款的「地址」编码,仅此信息就足以让 Alice(或其他任何人)向他发送资产,而且这与目前的支付工作流程几乎完全相同。

需要注意的是,这种隐私性与 Tornado Cash 提供的隐私完全不同。Tornado Cash 可以隐藏 ETH 或主要 ERC-20 等主流可替代资产的转账(经常用于私下发送给自己),但在为鲜为人知的 ERC20 转账添加隐私方面非常薄弱,并且根本无法为 NFT 转账添加隐私。

如上提到的使用加密货币进行支付的普通工作流程,增加了隐私性,即,没有人能知道资产接收人是 Bob,而且工作流程未发生改变。

隐身地址是可以由 Alice 或 Bob 生成的地址,但只能由 Bob 控制。Bob 生成一个支出密钥(spending key)并对此进行保密,然后使用该密钥生成一个隐藏元地址(stealth meta-address)。他将这个元地址传递给 Alice(或在 ENS 上注册)。Alice 可以对该元地址执行计算以生成属于 Bob 的隐身地址。然后 Alice 可以将她想发送的任何资产发送到这个地址,Bob 将完全控制这些资产。转移过程中,Alice 在链上发布了一些额外的加密数据(一个临时公钥),来帮助 Bob 发现这个地址属于他。

另一种看待它的方式是:隐身地址提供与 Bob 相同的隐私属性,为每笔交易生成一个新地址,但不需要 Bob 的任何交互。

隐身地址方案的完整工作流程如下所示:

1.Bob 生成他的根支出密钥(m)和隐身元地址(M)。

2.Bob 添加了一条 ENS 记录来注册(M)为 bob.eth 的隐身元地址 bob.eth。

3.我们假设 Alice 知道 Bob 的地址为 bob.eth。Alice 在 ENS 上查找 Bob 的隐身元地址(M)。

4.Alice 生成一个只有她知道的临时密钥,并且她仅能使用一次(生成这个特定的隐身地址)。

5.Alice 使用一种算法,将她的临时密钥和 Bob 的元地址结合起来生成一个隐身地址。她现在可以将资产发送到这个地址。

6.Alice 还生成她的临时公钥,并将其发布到临时公钥注册表(这可以在与第一个将资产发送到这个隐身地址的交易相同的交易中完成)。

7.为了让 Bob 发现属于他的隐身地址,Bob 需要扫描临时公钥注册表,以查找自其上次扫描以来任何人发布的整个临时公钥列表。

8.对于每个临时公钥,Bob 尝试将其与他的根支出密钥结合起来生成一个隐身地址,并检查该地址中是否有任何资产。如果有,Bob 计算该地址的支出密钥并记住它。

这一切都依赖于密码欺骗的两种用途。首先,我们需要一对算法来生成共享密钥(shared secret):一个算法使用 Alice 临时密钥和 Bob 的元地址,另一个算法使用 Bob 的根支出密钥和 Alice 的临时公钥。这可以通过多种方式完成;Diffie-Hellman 密钥交换是建立现代密码学领域的成果之一,它恰好实现了这一点。

但是仅共享秘密远远不够:如果我们只是从共享秘密生成一个私钥,那么 Alice 和 Bob 都可以从这个地址消费。我们还添加了一个密钥盲化机制:在一对算法中,其中 Bob 可以将共享密钥与他的根花费密钥结合起来,而 Alice 可以将共享密钥与 Bob 的元地址结合起来,这样 Alice 就可以生成隐身地址,并且 Bob 可以为该隐身地址生成支出密钥,所有这些都无需在隐身地址和 Bob 的元地址之间创建公共链接(或一个隐身地址与另一个隐身地址之间)。

使用椭圆曲线密码学隐藏地址

使用椭圆曲线密码学隐藏地址最初是由 Peter Todd 于 2014 年在比特币背景下引入的。该技术的工作原理如下:

· Bob 生成一个密钥(m),并计算 M = G * m,其中 G 是椭圆曲线的公认生成点。隐身元地址是(M)。

· Alice 生成一个临时密钥(r),并发布临时公钥 R = G * r。

· Alice 可以计算出一个共享密钥 S = M * r,Bob 也可以计算出相同的共享密钥 S = m * R。

 ·一般来说,在比特币和以太坊(包括正确设计的 ERC-4337 账户)中,地址是包含用于验证来自该地址的交易的公钥的哈希。因此,如果你计算公钥,就可以计算地址。为了计算公钥,Alice 或 Bob 可以计算 P = M + G * hash(S) 

· 要计算该地址的私钥,Bob 可以计算 p = m + hash(S)  

这满足了我们上面的所有要求,而且非常简单。

甚至有一个 EIP 试图为以太坊定义一个隐身地址标准,它既支持这种方法,又为用户提供了开发其他方法的空间(例如,支持 Bob 拥有单独的支出和查看密钥,或者使用不同的密码学来实现抗量子安全)。现在你可能会想:隐身地址并不是很难,理论知识已经扎实,采用仅是一个实施细节。然而,问题在于,真正有效的实现还需要通过一些重要的实施细节。

隐身地址和支付交易费用

假设有人给你发了一个 NFT。如果你想要确保隐私,他们会将其发送到您控制的隐身地址。扫描链上的临时公钥后,你的钱包会自动发现该地址。你现在可以自由证明 NFT 的所有权或将其转让给其他人。但有一个问题是,该帐户中的 ETH 余额为 0,因此也无法支付交易费用。即使是 ERC-4337 代币付款人也不会奏效,因为它们只适用于可替代的 ERC20 代币。而且你不能从你的主钱包向它发送 ETH,因为那样你就创建了一个公开可见的链接,也就是说没了隐私性。

有一种简单的方法可以解决这个问题:只需使用 ZK-SNARKs 转移资金来支付费用。但这样会消耗大量的 Gas,仅单次转账就会额外消耗数几十万 Gas。

另一种比较聪明的方法涉及信任专门的交易聚合器(MEV 术语中的搜寻者 searchers)。这些聚合器将允许用户支付一次以购买一组可用于支付链上交易的「tickets」。当用户需要在一个不包含任何其他内容的隐身地址中花费 NFT 时,他们会向聚合器提供其中一张 ticket,使用 Chaumian 盲法进行编码。这是在 1980 年代和 1990 年代提出的集中式隐私保护电子现金方案中使用的原始协议。搜索者接受 ticket,并重复将交易免费包含在他们的捆绑包中,直到交易在一个区块中被成功接受。

隐身地址和分离支出和查看密钥

假设 Bob 不是只有一个可以做所有事情的主「根支出密钥」,而是想要一个单独的根支出密钥和查看密钥。该查看密钥可以看到 Bob 的所有隐身地址,但不能进行支出。

在椭圆曲线世界中,这可以使用一个非常简单的密码技巧来解决:

· Bob 的元地址(M)现在的形式为 (K, V),编码 G * k 和 G * v,其中 k 是支出密钥,v 是查看密钥。

· 共享密钥现在为 S = V * r = v * R,其中 r 仍然是 Alice 的临时密钥,R 仍然是 Alice 发布的临时公钥。

· 隐身地址的公钥是 P = K + G * hash(S),私钥是 p = k + hash(S)。

第一个步骤(生成共享秘密)使用查看密钥,第二个步骤(Alice 和 Bob 的并行算法生成隐身地址及其私钥)使用根支出密钥。

这有很多用例。例如,如果 Bob 想要接收 POAP,那么 Bob 可以给他的 POAP 钱包(或者甚至是一个不太安全的 Web 界面)查看密钥来扫描链并查看他的所有 POAP,而不需要给这个界面花费那些 POAP 的权力。

隐身地址和易扫描

为了更容易地扫描整个临时公钥集,一种技术是向每个临时公钥添加一个视图标签。在上述机制中执行此操作的一种方法是使视图标签成为共享密钥的一个字节(例如,S modulo 256 的 x 坐标,或 hash(S) 的第一个字节。

这样,Bob 只需要为每个临时公钥执行一次椭圆曲线乘法来计算共享密钥,由于有了视图标签,也更容易进行扫描。

隐身地址和抗量子安全

上面的方案依赖于椭圆曲线,不过尽管这种方案效果很好,但不幸的是,容易受到量子计算机的攻击。我们将需要切换到抗量子算法。有两个自然的候选者:椭圆曲线同源和格(lattices)。

椭圆曲线同源是一种非常不同的基于椭圆曲线的数学构造,具有线性特性,可以让我们使用与上面所做的类似的密码技巧,但巧妙地避免了构造可能容易受到量子计算机离散对数攻击的循环群。

基于同源密码学的主要弱点是其高度复杂的底层数学,以及在这种复杂性下隐藏可能的攻击的风险。一些基于同源(密码学)的协议去年被攻击,但其他协议仍然安全。同源的主要优势是相对较小的密钥大小,以及直接移植多种基于椭圆曲线的方法的能力。

A 3-isogeny in CSIDH

格(lattices)是一种非常不同的密码结构,依赖于比椭圆曲线同构简单的数学,并且能够做一些非常强大的事情(例如完全同态加密)。隐身地址方案可以建立在格上,尽管设计最好的方案是一个悬而未决的问题。然而,基于格的结构往往具有更大的密钥大小。

全同态加密,格的应用。FHE 还可以用于以不同的方式帮助隐身地址协议:帮助 Bob 外包检查整个链中是否包含资产的隐身地址的计算,而无需透露他的视图密钥。

第三种方法是从通用黑盒原语构建隐身地址的方案。该方案的共享密钥生成部分直接映射到密钥交换,这是公钥加密系统中的重要组成部分。更难的部分是让 Alice 只生成隐身地址(而不是支出密钥)并让 Bob 生成支出密钥的并行算法。

不幸的是,你无法使用比构建公钥加密系统所需的更简单的成分来构建隐身地址。有一个简单的证明是,可以用一个隐身地址方案构建一个公钥加密系统。如果 Alice 想给 Bob 加密一条消息,她可以发送 N 笔交易,每笔交易要么发往 Bob 的一个隐身地址,要么发往一个属于她自己的隐身地址,Bob 可以看到他收到了哪些交易来读取消息。这很重要,在数学证明中你不能只用哈希来做公钥加密,而你可以只用哈希来做零知识证明,因此,隐身地址不能只用哈希来完成。

这确实是一种使用相对简单成分的方法:零知识证明,可以由哈希和(密钥隐藏)公钥加密组成。Bob 的元地址是一个公开的加密密钥加上一个哈希 h = hash(x),他的支出密钥是对应的解密密钥加上 x。要创建一个隐身地址,Alice 生成一个值 c,并将 Bob 可读的 c 加密作为她的临时公钥发布。该地址本身是一个ERC-4337 帐户,其代码通过要求交易提供零知识证明来验证交易,证明值 x 和 c 的所有权,使得 k = hash(hash(x), c)(其中 k 是帐户代码的一部分)。知道 x 和 c,Bob 就可以自己重建地址及代码。

(c) 的加密不会告诉除 Bob 之外的其他任何人任何信息,并且 (k) 是一个哈希,它几乎不会透露有关 c 的任何事情。钱包代码本身只包含 (k),(c) 私有意味着 (k) 无法追溯到 (h)。

然而,这需要一个 STARK。最终,我认为后量子以太坊世界很可能会涉及使用许多 STARK 的应用,因此我提倡像此处描述的聚合协议将所有这些 STARK 组合成一个递归 STARK 以节省空间。

隐身地址和社交恢复以及多 L2 钱包

很长一段时间以来,我一直很感兴趣社交恢复钱包,社交恢复钱包具有多重签名机制,其密钥能在机构、你的其他设备和朋友的某种组合之间共享。如若你丢失主要密钥,绝大多数密钥允许恢复账户访问。

然而,社交恢复钱包不能很好地与隐身地址结合:如果你必须恢复你的账户(改变控制它的私钥),你还必须执行一些步骤来改变你的 N 个隐身钱包的账户验证逻辑,这将需要 N 笔交易,以高昂的费用、便利性和隐私成本为代价。

社交恢复和多个 L2 协议的相互作用也存在类似的担忧:如果你在 Optimism、Arbitrum、StarkNet、Scroll、Polygon 上有账户,出于扩展原因有十几个并行实例,并且您在每个实例上都有一个帐户,那么更改密钥可能是一个非常复杂的操作。

更改多条链中多个帐户的密钥是一项巨大的工作。

也许你可以使用一些自动化软件在两周的时间跨度内以随机间隔将资产转移到新的隐身地址,以降低基于时间的关联的有效性。但这远非完美。另一种方法是在监护人之间秘密共享根密钥,而不是使用智能合约恢复。但是,这会消除停用监护人帮助恢复您帐户的权力的能力,因此存在长期风险。

一种更复杂的方法涉及零知识证明。这允许许多帐户,甚至跨越许多 L2 协议,在某处(在基础链上或某些 L2 上)由单个 k 值控制,其中更改该值足以更改所有帐户的所有权,所有这些都不会泄你的多个帐户之间的联系。

结论

当前基本的隐身地址可以快速实施,并且可以显著提高以太坊上用户的隐私。我认为出于其他与隐私相关的原因,钱包应该开始转向更原生的多地址模型(例如,为你与之交互的每个应用创建一个新地址可能是一种选择)。

然而,隐身地址确实会带来一些长期的可用性问题,例如社交恢复的困难。从长远来看,这些问题是可以解决的,不过隐身地址生态系统看起来确实严重依赖于零知识证明。

评论

所有评论

推荐阅读

  • ETH突破2300美元

    行情显示,ETH突破2300美元,现报2300.05美元,24小时涨幅达到1.35%,行情波动较大,请做好风险控制。

  • 本周重要事件与数据预告:美国中期选举、非农、中国外储

    11月2日,本周重要事件与数据预告如下: 1. 周一:①数据:中国10月RatingDog制造业PMI;瑞士9月实际零售销售年率;法国、德国、欧元区、英国10月制造业PMI终值;美国10月标普全球制造业PMI终值;美国10月ISM制造业PMI;美国9月营建支出月率;②事件:今日有1万亿隔夜逆回购、560亿元7天期逆回购到期。③财报:苹果(AAPL.O)、Palantir(PLTR.N)等。 2. 周二:①数据:澳大利亚至11月3日澳洲联储利率决定;瑞士10月CPI月率;美国9月JOLTs职位空缺;美国9月工厂订单月率;②事件:澳洲联储公布利率决议和货币政策声明,主席布洛克召开货币政策新闻发布会;2027年FOMC票委、芝加哥联储主席古尔斯比发表讲话;欧洲央行管委拉德夫、穆兰、科赫尔、多伦茨等发表讲话;2026年美国中期选举;③假期:日本东京证券交易所因文化日休市一日;④财报:辉瑞(PFE.N)、AMD(AMD.O)、BioNTech SE(BNTX.O)等。 3. 周三:①数据:美国当周API原油库存;中国10月RatingDog服务业PMI;法国、德国、欧元区、英国10月服务业PMI终值;欧元区10月CPI初值;美国10月ADP就业人数;美国9月贸易帐;美国10月标普全球服务业PMI终值;美国10月ISM非制造业PMI;美国当周EIA原油库存、当周EIA俄克拉荷马州库欣原油库存、当周EIA战略石油储备库存;②事件:欧洲央行管委内格尔、首席经济学家连恩发表讲话;美国财政部发布季度再融资公告;第二十四届中国半导体封装测试技术与市场年会于11月4日-6日在南京丰大国际大酒店举行;③财报:高通(QCOM.O)、Arm(ARM.O)、Uber(UBER.N)、麦当劳(MCD.N)等。 4. 周四:①数据:法国9月工业产出月率;瑞士10月季调后失业率;欧元区9月PPI月率;美国10月挑战者企业裁员人数;英国至11月5日央行利率决定;美国至10月31日当周初请失业金人数;美国10月全球供应链压力指数;美国当周EIA天然气库存;②事件:日本央行公布9月货币政策会议纪要;欧洲央行管委穆兰、执委施纳贝尔等发表讲话; 英国央行公布利率决议、会议纪要及货币政策报告,行长贝利召开货币政策新闻发布会;瑞士央行行长施莱格尔发表讲话;2026年FOMC票委、克利夫兰联储主席哈玛克就稳定币和避险货币汇率问题发表讲话;2027年FO

  • 伊朗外长披露“两天计划” 美方履约方能重启伊美谈判

    当地时间11月1日,伊朗外长阿拉格齐在接受媒体采访时表示,伊朗代表团访问卡塔尔是伊朗与卡塔尔、巴基斯坦等调解方持续沟通的延续。目前,摆在桌面的方案与伊朗此前提出的“七日计划”基本相同。卡塔尔和巴基斯坦等调解方也就此进行了多次磋商和讨论,并提出了比伊朗“七日计划”更具可行性和可操作性的建议。 阿拉格齐表示,卡塔尔提出的建议之一是“将七天期限缩短至五天甚至更短”。目前,伊朗同意一项“两天计划”,即:第一天,美国将采取一系列(履约)措施。第二天,霍尔木兹海峡将开放,海峡交通将恢复到之前的状态。 阿拉格齐指出,现在所有这些问题都摆在了桌面上,只要(美国)遵守伊朗这个为期两天的计划,就能为和平铺平道路,使霍尔木兹海峡恢复正常。在美国履行相关承诺、霍尔木兹海峡开放后,伊朗与美国恢复谈判的道路才会打开。据了解,伊朗提出的美国必须履约的条件包括:确定霍尔木兹海峡通航新航线、解冻伊朗资金、结束包括黎巴嫩在内的地区战争、解除海上封锁、伊朗出口石油豁免权、解除在《伊斯兰堡谅解备忘录》后美国实施的新制裁等。(央视)

  • 以媒:以色列已准备好与美国联手打击伊朗,但具体目标尚不明确

    11月2日,据《耶路撒冷邮报》报道,如果特朗普要求以色列国防军(IDF)在11月3日美国中期选举后参与美军空军对伊朗的军事行动,以军已做好打击准备,但目前局势仍笼罩在诸多不确定性之中。特朗普此前曾在今年8月、10月初及其他多个时点撤回对伊朗发动袭击的威胁,而如今袭击可能性再次上升,部分原因在于各方已尝试通过其他途径争取伊朗让步,特朗普团队中的部分成员也正重新转向支持军事打击。过去一周,超过10架美国军用运输机抵达以色列南部的内瓦提姆空军基地和乌夫达空军基地,似乎是在为一场重大军事行动做准备。另有报道称,美国正向以色列及其他阿拉伯盟友调运防空系统和拦截弹。不过,目前美国在该地区的兵力仍少于此前一些时期的部署规模。但这可能只是部署的开始。美国与以色列对于此类军事行动的具体目标仍存在分歧。(金十)

  • 币安:目前提现量已逐步趋于稳定,提款规模占资产管理规模的比例非常小

    11月2日,据官方消息,币安已于2026年11月1日14:00(东八区时间)起分阶段恢复提现服务。截至20:36(东八区时间),首批涵盖的全部15个网络与资产均已恢复提现。提现量在最初短暂激增后已回落,并如预期逐步趋于稳定,充值量则持续保持较高水平。 11月1日14:00至23:30(东八区时间)期间,我们共处理了46.49亿美元的提现及10.1亿美元的充值,净流出约36.4亿美元。根据截至2026年10月28日最新的储备证明数据,这相当于平台1,710亿美元资产管理总额(AUM)的2.1%。我们已于10月31日08:00(东八区时间)完成新一轮储备证明快照,并启动零知识证明(ZKP)计算。更新后的报告预计将于明日在储备金证明网页站公布。 我们的团队正继续对其余网络与资产进行严格测试。我们深知,安全、可靠地提取资金对您至关重要,并将尽快公布下一阶段的具体安排。请放心,目前市场状况稳定。

  • 币安:目前提现量已逐步趋于稳定,提款规模占资产管理规模的比例非常小

    11月2日,据官方消息,币安已于2026年11月1日14:00(东八区时间)起分阶段恢复提现服务。截至20:36(东八区时间),首批涵盖的全部15个网络与资产均已恢复提现。提现量在最初短暂激增后已回落,并如预期逐步趋于稳定,充值量则持续保持较高水平。 11月1日14:00至23:30(东八区时间)期间,我们共处理了46.49亿美元的提现及10.1亿美元的充值,净流出约36.4亿美元。根据截至2026年10月28日最新的储备证明数据,这相当于平台1,710亿美元资产管理总额(AUM)的2.1%。我们已于10月31日08:00(东八区时间)完成新一轮储备证明快照,并启动零知识证明(ZKP)计算。更新后的报告预计将于明日在储备金证明网页站公布。 我们的团队正继续对其余网络与资产进行严格测试。我们深知,安全、可靠地提取资金对您至关重要,并将尽快公布下一阶段的具体安排。请放心,目前市场状况稳定。

  • 币安:目前提现量已逐步趋于稳定,提款规模占资产管理规模的比例非常小

    11月2日,据官方消息,币安已于 2026 年 11 月 1 日 14:00(东八区时间)起分阶段恢复提现服务。截至 20:36(东八区时间),首批涵盖的全部 15 个网络与资产均已恢复提现。提现量在最初短暂激增后已回落,并如预期逐步趋于稳定,充值量则持续保持较高水平。 11 月 1 日 14:00 至 23:30(东八区时间)期间,我们共处理了 46.49 亿美元的提现及 10.1 亿美元的充值,净流出约 36.4 亿美元。根据截至 2026 年 10 月 28 日最新的储备证明数据,这相当于平台 1,710 亿美元资产管理总额(AUM)的 2.1%。我们已于 10 月 31 日 08:00(东八区时间)完成新一轮储备证明快照,并启动零知识证明(ZKP)计算。更新后的报告预计将于明日在储备金证明网页站公布。 我们的团队正继续对其余网络与资产进行严格测试。我们深知,安全、可靠地提取资金对您至关重要,并将尽快公布下一阶段的具体安排。请放心,目前市场状况稳定。

  • 币安恢复ETH、USDT、USDC、BNB 提现,后续资产逐步开放

    11月1日,币安在 X 平台发布提现更新公告,已恢复部分资产与网络的提现服务: - 以太坊网络:USDC、USDT、ETH - BNB 智能链(BSC):USDC、USDT、BNB 币安表示,完成安全检查之后,会分阶段继续开放更多资产与网络的提现,后续进展将通过币安官方渠道对外发布。

  • BTC突破78000美元

    行情显示,BTC突破78000美元,现报78000.01美元,24小时涨幅达到0.97%,行情波动较大,请做好风险控制。

  • glassnode:美国现货以太坊ETF已连续23个交易日净流出,创上市以来最长连续净流出纪录

    11月1日,glassnode于X平台发文称,ETF投资者正在撤离ETH,美国现货以太坊ETF已连续23个交易日净流出,创下该产品自上市以来最长的连续流出纪录。这反映出传统投资者的需求疲软 —— 他们曾在8月和9月大量买入。**