Vitalik Buterin提出了一个想法,使用隐形地址来隐藏NFT所有者的身份,而不需要ZK-SNARKs或Merkle树
以太坊创始人Vitalik Buterin提出了私人NFT的想法,即通过区块链数据不知道所有者。
这个概念被添加到以太坊研究的帖子中,专注于添加 “ERC721扩展zk-SNARKs。”
想法:ERC721的隐形地址。
一个低技术含量的方法,为NFT生态系统增加了大量的隐私。
因此,你将能够例如发送一个NFT到vitalik.eth,而除了我(新的所有者)之外,任何人都无法看到谁是新的所有者。https://t.co/UdqK6NAYjn
– vitalik.eth (@VitalikButerin) August 8, 2022
ZK-SNARKs的ERC721扩展
对ERC721(NFT标准)的扩展是由Nerolation提出的,他说他认为他的方法是在谈论私人POAP时 “完全实现了Vitalik所描述的内容”。
维塔利克在他向世界介绍SBT概念的文章中谈到了对私有Soulbound代币(SBT)的潜在需求。他说,
“隐私是使这种生态系统良好运作的一个重要部分……如果在未来的某一天,接种疫苗成为一个POAP,我们可以做的最糟糕的事情之一是创建一个POAP自动宣传的系统……让他们的医疗决定受到什么在他们特定的社交圈看起来很酷的影响。”
使用ZK-SNARK兼容的ERC721代币的建议试图通过使用隐形地址来解决这个问题,隐形地址包括用户地址的哈希值、代币ID和用户的秘密。
然后,这些信息被添加到链上的Merkle树中,代币被存储在 “从Merkle树中用户的叶子中得出的地址”。
为了证明令牌的所有权(NFT),一个地址必须让隐身地址 “获得一个私钥”,这样当一个信息被签署时,整理后的信息可以传递给Merkle树的一个叶子。然后,该电路将能够比较 “计算出的和用户提供的根进行验证。”
正规的隐身地址
。
在对Nerolation的回应中,Vitalik解释说,他认为有一个更优雅和直接的解决方案,这将使用 “更轻便的技术”。他提议使用 “常规隐身地址”,而不需要复杂的默克尔树。
维塔利克解释说,每个用户都有一个私钥,可以作为椭圆曲线组的基点来创建一个新的私钥,就像通常使用常规隐形地址那样。
然后可以生成一个 “一次性秘钥”,并从椭圆曲线的基点导出配对的公钥。
然后,发送方和接收方可以通过结合私钥和秘钥来 “计算一个共享秘钥”。
一个新的地址通过上述信息的哈希运算,使用这个共享秘密生成。
发送方可以向这个地址发送一个ERC20令牌,正如维塔利克所总结的那样;
“收件人将扫描所有提交的S值,为每个S值生成相应的地址,如果他们发现一个包含ERC721代币的地址,他们将记录地址和密钥,这样他们就可以跟踪他们的ERC721,并在未来快速发送。”
Vitalik断言,Merkle树或ZK-SNARKs是不必要的,因为 “没有可能为ERC721创建一个 “匿名集””。他的方法意味着链上数据将显示一个ERC721被发送到某个地址,但不会显示出令牌的有效所有者。
涉及费用
该解决方案带有成本,可能使其在以太坊主网上不实用。Vitalik的方法所涉及的气体费用可能需要发送者 “沿途发送足够的ETH,以支付费用5-50次来进一步发送”。
Vitalik的解决方案是否是一个更优雅的实现,将留给以太坊开源社区来决定。然而,有趣的是,Vitalik似乎已经接受了在以太坊生态系统中对隐私元素的需求。他的SBT的启示为代币化资产开辟了一个可能性的世界。此外,一些资产的保密性需求也重新出现在他的思维中。
在8月6日的闭门新闻发布会上,维塔利克解释说,”在过去十年里,我对很多问题的看法肯定发生了变化”。他继续说道,
“我认为即使在今天,我认为我们已经到了以太坊项目可以在没有我的情况下完全运作的地步。而且我认为,它只会越来越向这个方向发展。”
自2022年1月以来,Vitalik只在以太坊研究论坛上贡献了7次。而在2022年1月,他仅在该月就发表了9条评论。他显然开始脱离以太坊生态系统中的其他开发者的轨道。然而,如果维塔利克完全退出,投资者是否会对以太坊在没有他的情况下也能继续下去充满信心,还有待观察。