实例详解 Vitalik 的以太坊隐私解决方案
Vitalik Buterin 发布的提案是一个实用的解决方案,该方案可以在以太坊网络上更好的保护用户隐私。
原文作者:Kenny
原文来源:medium
原文标题:What Is a Stealth Address? Vitalik’s Solution for Privacy on Ethereum
编译: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如果想与其他人进行交易,则必须生成新的临时密钥对。
关于【实例详解 Vitalik 的以太坊隐私解决方案】的延伸阅读
公共物品系列:升级以太坊——激励层
作者Ben Edgington是一位以太坊权益证明协议专家,正在撰写一本关于以太坊升级的权威技术书籍。本文介绍了以太坊2.0的质押机制和经济激励措施,以及如何平衡参与度和最终确定性时间。作者建议阅读相关著作来深入了解权益证明协议的设计和挑战。文章还探讨了如何量化信标链的安全性,并提出了一些关于可扩展性和模块化的想法。最后,作者提出了一些读者练习。
Galaxy硬核报告:七大案例看懂以太坊治理流程
本文介绍了以太坊的治理流程和机构,以及历史事件。以太坊通过链下决策流程和在线论坛进行治理,擅长部署硬分叉,需要数千名用户的协调。任何人都可以提出改进提案,以太坊生态系统中的每个用户和利益相关者都可以参与治理。以太坊有多个客户端团队,受到来自各种机构的资助。最近,以太坊向PoS过渡完成,但仍有许多改变协议的计划。以太坊治理复杂,受社会规范和叙述影响,需要考虑社会规范对未来的影响。
总结一下就是:
- 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 这样的领导者正在考虑链上隐私的创新,这件事本身就是朝着正确方向迈出的一步。
免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:Kenny,如有侵权请联系删除。转载或引用请注明文章出处!