一个示例详解 Vitalik 的以太坊隐私解决方案
2023-01-31 16:30
去中心化金融社区
2023-01-31 16:30
订阅此专栏
收藏此文章
在本文中,作者试图使用一个示例来解释隐身地址的工作原理。


原文标题:《What Is a Stealth Address? Vitalik’s Solution for Privacy on Ethereum

撰文:Kenny

编译:ChinaDeFi



以太坊的联合创始人 Vitalik Buterin 前段时间发表了一篇文章,该文章主要讨论的是如何通过所谓的「隐身地址」来为以太坊网络增加隐私。他在文章中解释了隐身地址的工作原理,以及该技术在以太坊网络上能够增加用户隐私的潜力。在本文中,作者试图使用一个示例来解释隐身地址的工作原理:Alice 想给 Bob 发送 1.2 个 ETH。


我们为什么需要隐身地址?


很多人认为以太坊和比特币这些公共区块链是私有的,这种想法其实是一种常见的误解。我们应该明确的知道公共区块链不是私有的。公共区块链确实通过钱包地址这种形式的「假名」提供了某种意义上的隐私。但是我们只要把钱包地址想成是一个账户,只要一旦有人匹配到这个账户是现实生活中的哪个人,那么这个人做的所有事情都将摊在阳光下。


钱包地址在链上进行的每一次交互,包括交易,与去中心化应用程序的交互,购买 NFT 等,这些数据都将以公开的方式被记录和存储、只要是能够连接互联网的人都可以随意查看。像 Etherscan 这样的网站,让人们能够非常方便地查看这些信息。Dune Analytics 等应用程序,给人们分析这些信息带来了便利。


如果没有隐私的保护,这些信息可以在未经同意的情况下被他人轻松利用。使用公共区块链,是可以看到用户的购买地点,订阅等内容的,有心者有可能会利用这些信息来进行一些犯罪活动。鉴于此,链上隐私解决方案正迅速成为保护全球 Web3 用户的解决方案。最近 Vitalik Buterin 对这个话题进行了更深入的思考,并通过所谓的隐身地址来为以太坊生态系统提供解决方案。


生成密钥以创建隐身地址


隐身地址必须由两个参与者参与生成:在下面的例子中 Bob 是接收方,Alice 是发送方。


Bob 生成:


  • 一个支出密钥(Spending Key),只有 Bob 知道,之后会用来生成地址;
  • 一个隐形元地址(Stealth Meta-Address),这是一个公共地址,任何人都可以看到,但它也是一个主地址,可以用来与像 Alice 这样的伙伴一起派生无限量的 Stealth 地址。

为了获得 Bob 和 Alice 独有的隐形元地址,Alice 还需要生成两个密钥:


  • 一个临时私钥,只有 Alice 知道;
  • 一个相应的临时公钥类似于隐形元地址。


临时公钥是临时私钥生成的,就类似于助记词生成以太坊地址。临时公钥可以发到任何人都可以查看的公共分类账。临时密钥对只使用一次,因此 Alice 如果想与其他人进行交易,则必须生成新的临时密钥对。

总结一下就是:


  • Bob 生成了一个支出密钥(私有),用这个密钥生成了一个隐形元地址(公共)。
  • Alice 生成了一个临时私钥(私有),用这个密钥生成了一个临时公钥(公共)。


想要生成最终隐身地址的下一个步骤是,Bob 和 Alice 共享各自的公钥。Bob 向 Alice 提供自己的任何人都能查看的隐形元地址(公共)。然后 Alice 将 Bob 提供的隐形元地址与自己创建的临时私钥结合起来。该组合会创建出隐身地址。Alice 可以将 1.2 个 ETH 发送到隐身地址上。

访问隐身地址


Bob 为了能够找到 Alice 给他发送的 1.2 个 ETH 所在的隐身地址,就必须也创建出 Alice 创建的隐身地址,但有一个问题是这个步骤是需要结合 Alice 的临时私钥和 Bob 的隐形元地址的,问题在于,Bob 并不知道 Alice 的临时私钥,因为临时私钥是私有的。


如果使用密码学概念,Bob 就会有另一种选择:他可以使用不同的私钥 / 公钥组合创建相同的隐身地址(并使用自己的支出密钥来控制隐身地址内的加密货币)。Bob 可以将自己的支出密钥和 Alice 的临时公钥进行结合来创建隐身地址。



为了找到 Alice 的临时公钥,Bob 需要浏览所有现有临时公钥的列表。把看到的每个临时公钥,与自己的支出密钥结合起来,就会创建出一个由此产生的隐身地址。Bob 查看隐身地址中可用的加密货币。在大多数情况下,使用随机临时公钥和 Bob 的支出密钥创建出的隐身地址当中应该会包含 0ETH,但只要和 Alice 的临时公钥结合起来,Bob 就可以看到生成的隐身地址中包含 1.2 个 ETH。



实际上,Bob 是不需要手动去匹配所有的临时公钥来寻找正确的那个,这个过程会由计算机自动完成,这样才会大大的减少投入的时间和精力。


总结


Vitalik Buterin 发布的提案是一个实用的解决方案,该方案可以在以太坊网络上更好的保护用户隐私。Manta Network 等其他项目使用 zkAddress 系统 + UTXO 来实现链上隐私。Buterin 提出的隐身地址系统是以太坊网络上一种独特且有前途的隐私解决方案。更重要的是,像 Vitalik Buterin 这样的领导者正在考虑链上隐私的创新,这件事本身就是朝着正确方向迈出的一步。

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

相关Wiki
去中心化金融社区
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开