准备好匿名交易NFT,因为以太坊可以对 ERC-721 标准进行大规模的隐私升级。
关于以太坊交易隐私,以及Vitalik和其他以太坊成员对于私人NFT交易在未来可能如何发生的讨论,这些都是有争议的话题,其原因是因为使用区块链,所有的交易都永远存储在一个不可变的账本中,每个人都可以随时访问交易历史,并确切地看到谁是发送者和接收者。
本篇将探索私人NFT交易如何在以太坊上实现,它的预期的隐私级别,以及这将如何影响以太坊在NFT传输之外的交易隐私。
在Vitalik的推文中,他链接到了Ethresearch论坛上的一个讨论话题,在那里他和其他开发人员正在探讨ERC-721的隐身地址的潜在实现,ERC-721是以太坊上的标准NFT合约。
我将把它称为一个想法/建议,因为它还不是一个正式提案。正如Vitalik在他的推特中解释的那样,我们将能够向某人发送一个NFT,除了那个人以外,没有其他任何人可以看到这个NFT的所有者。但是,由于NFT可以多次更改所有权,这意味着如果所有者2的地址被混淆,所有者1的地址也会被混淆,或者我们只能看NFT下一次交易的时间,以便查看它首先被发送给谁。
这意味着在当前的建议下,NFT交易可以是完全匿名的:
从
将成为:
在以太坊上实现私人NFT交易很可能会使用隐形地址。以下解释一下它们是什么以及它们是如何工作的。
隐形地址是一种隐私驱动的技术,用于保护区块链上接收者的身份。在日常生活中,最接近使用隐身地址的可能就是手机。如果你有一部iPhone,那么每次通过苹果支付结账时,你很可能会使用一个隐形地址。为了保护隐私和资金,Apple pay隐藏了我们的实际银行卡信息,并使用一次性卡来记录交易。
隐形地址的工作原理与此相同,它要求发送方代表接收方为每笔交易创建一个随机的、一次性的地址,所以向同一接收方进行的不同付款是不可链接的。
根据Vitalik的说法,一次性地址将通过对智能合约内的新函数进行本地调用来创建:
generateSharedSecret(bytes32 key) returns (bytes publishableData, address newAddress)
发送方将发布publishableData并使用newAddress作为发送ERC721的地址。假设接收者将以这样一种方式编码generateSharedSecret,他们可以使用publishableData和一些他们个人拥有的秘密,以便计算可以在newAddress访问ERC721的私钥钥(newAddress本身可能是一个基于 CREATE2 的智能合约钱包)。
如前所述,目前只在ERC-721标准中讨论这一问题,但如果它确实通过了构思阶段,我们也有可能看到ERC-20代币的私人交易。
这引发了许多讨论点,让我们从以下问题来思考对以太坊未来区块链隐私的看法。
如果以太坊现在支持私人交易(所有合约标准),那么为什么别人要选择公共交易?
如果我们都如此重视我们的链上隐私,为什么我们不都使用Monero?
匿名交易会花费更多的gas吗?如果是的话,会增加多少?
如果匿名交易的gas费比普通交易高10倍(不太可能),你还会使用它吗?
区块链的未来是私人的吗?为什么/为什么不?
在哪些最常见的情况下,你可以看到链的隐私是有必要的?