Payswap如何混淆区块链分析师,使所有人受益于比特币隐私

尽管中本聪(中本聪)的白皮书表明,隐私是比特币协议的设计目标,但区块链分析通常会破坏用户的隐私。这是个问题。举例来说,比特币用户可能不一定希望世界知道他们的钱花在哪里,他们的收入或拥有的数量,而企业可能不想将交易详细信息泄露给竞争对手。

但是,有一些解决方案可以重新获得隐私。比特币和闪电开发者本周以笔名“ ZmnSCPxj”去世,在比特币开发邮件列表中提出了一种新的解决方案。该解决方案称为Payswap,它提供了一种简单有效的技巧,可以通过反转来混淆区块链分析。付款人与收款人之间的关系。

运作方式如下。

比特币支付的可追溯性

典型的比特币交易是从一个人(付款人)到另一个人(收款人)的付款。举例来说,例如,爱丽丝(Alice)想向鲍勃(Bob)3比特币付款。如果Alice拥有一大块价值3枚硬币的硬币(一个UTXO),而为了简单起见,我们忽略了费用,那么她可以创建一个交易,其中一个输入(指她的地址持有3个硬币)和一个输出(指Bob的比特币地址) 。这三枚硬币实际上是从爱丽丝的地址转到鲍勃的地址。简单。

但是,通常情况下,爱丽丝将没有足够的钱来支付鲍勃。例如,爱丽丝可能只有2个硬币的大块。在这种情况下,她仍然可以创建交易。此交易将有两个输入(两个大块的2个硬币,大概来自两个不同的地址),还有两个输出:一个输出值3硬币归因于鲍勃的地址,一个输出值1硬币归她发送给她的一个改变自己的地址。

不幸的是,正因为这样的交易是如此典型,它会向区块链分析师透露信息。他们将假设3枚硬币的大块构成了付款(发给Bob),并且假设1枚硬币是零钱(返回给Alice)。毕竟,如果付款只包含1个硬币,那么Alice就不需要包含两个输入。这使区块链分析师能够跟踪区块链上的付款,并最终实现地址集群和更多侵犯隐私的策略。

输入Payswap

Payswap基本上用两笔付款代替了从Alice到Bob的付款:一笔从Alice到Bob,另一笔从Bob到Alice。安全地进行此操作需要一定的技术复杂性-下文中将进一步介绍-但现在让我们忽略它。

在这种情况下,Alice仍将使用两个输入来创建事务:两个大块的2个硬币。但是这次,交易将仅包含一个输出:她会将所有4个硬币发送给Bob。这已经可能使区块链分析师感到困惑。由于大多数典型的付款交易都包含更改地址,而该交易不包含更改地址,因此它们可能(错误地)认为这是某人正在将自己的资金转移到新钱包中的交易。

同时,鲍勃还将与爱丽丝进行交易。假设鲍勃有0.6枚硬币。他将创建一个包含两个输入(0.6个硬币的块)和两个输出的事务:1个硬币用于Alice,而0.2个硬币作为找零。这看起来就像是常规交易(从Bob到Alice的一枚硬币)。

如果使用了不同的比特币地址,则区块链分析师将无法判断此处所述的两项交易是在同一个人(爱丽丝和鲍勃)之间发生的。相反,除了他们对Alice交易给Bob的错误假设之外,现在他们对Bob交易给Alice的假设也有错误的假设。总体而言,他们可能认为Bob付给Alice 1比特币,而实际上Alice付给Bob 3。

区块链分析师可能会被误导,从而误导了爱丽丝和鲍勃的隐私。通过扩展,如果区块链分析师的假设经常被这些技巧所打破,那么他们的假设将变得毫无用处。

添加CoinSwap

实际上,Payswap技巧将稍微复杂一些。

在上面的示例中,还有一个问题需要解决。由于爱丽丝(Alice)和鲍勃(Bob)不互相信任,因此双方都不愿意先付款,因为这会使对方消失而无需退还款项。

可以使用较旧的技巧(称为CoinSwap)来解决此问题。基于原子交换(一个更老的技巧),可以使两个彼此独立的事务相互依赖。任何一方都不能拒绝退还款项。

如果您知道CoinSwap和/或原子交换的工作方式,那么Payswap背后的想法实际上非常简单。 Payswap使用不相等的金额,而不是在Atom链接的交易中使用(接近)等额的金额;差额构成付款。 (如果您对此很清楚,则无需阅读本文的其余部分。)

更详细一点,Payswap将两个额外的事务引入到等式中。

首先,Alice创建了一个将硬币发送到非常基本的智能合约的交易,而不是创建将4个硬币直接发送到Bob的交易。可以通过两种方式从此智能合约中索要硬币。如果鲍勃还包括鲍勃本人生成的秘密号码,则鲍勃可以要求保护它。或者,如果鲍勃未领取硬币,则一段时间后爱丽丝可以要求退回硬币。

其次,鲍勃没有创建将硬币直接发送到爱丽丝的交易,而是创建了将硬币发送到基本智能合约的交易。 (然后将0.2枚硬币作为找零返回给自己。)同样,可以用两种方式声明硬币。如果爱丽丝包括与鲍勃产生的秘密号码相同的话,则可以要求它。或者,可以在一段时间后由Bob声明。 (比第一个智能合约多一些的时间。)

两项交易都广播到比特币网络中,以包含在一个区块中。

现在,当鲍勃想要收取他的付款(4个硬币)时,他将根据爱丽丝创建的智能合约进行交易,从而包括他产生的秘密代码以索取款项。重要的是,通过这样做,他在比特币区块链上揭示了他的秘密代码,供爱丽丝看。有了它,Alice可以反过来根据Bob所创建的智能合约创建交易,并要求向其地址索回1个硬币。

换句话说:Bob只能让Alice领取1个硬币,因此只能领取4个硬币。两种交易要么都通过,要么都不通过。

如果出于某种原因鲍勃不要求付款,则爱丽丝创建的基本智能合约的时间锁定将到期,她可以索回其4个硬币。稍等一会儿,鲍勃也可以收回他的1个硬币。没有伤害。

值得指出的是,可以通过一些奇妙的数学技巧来创建这些智能合约,以隐藏密码签名中的秘密代码,以防止区块链分析师通过代码链接这两项交易。但是,有关如何完成此操作的详细信息不在本文的讨论范围之内。如果您想了解更多信息,请参阅无脚本脚本中的这篇文章。

最后,尽管使用原子交换增加了一些复杂性,但区块链分析师将同样困惑。

Payswap的缺点

Payswap确实需要权衡取舍。

最明显的缺点是,付款将需要四笔交易,而不仅仅是一笔交易。需要两次交易才能将资金从爱丽丝转移到鲍勃,并且需要两次交易才能将“零钱”从鲍勃转移回爱丽丝。这需要更多的块空间,因此需要更多的费用。

此外,付款需要Alice和Bob进行交互。爱丽丝不能简单地向鲍勃的地址汇款;取而代之的是,两者必须在比特币协议之外进行通信,才能同时确定鲍勃(Bob)的秘密号码的标识符(哈希)。

因此,该解决方案实际上在Lightning上下文中可能更有用。 Lightning Network上的付款路由完全基于秘密号码的交易所,就像上面示例中的Bob生成的一样,因此不难发现相同的窍门将如何应用。但是,在闪电网络上,额外的交易不会打到区块链上,而无论如何付款都需要交互。

实际上,ZmnSCPxj主要关注比特币的第2层网络的快速和廉价支付,最初是在Lightning Network的上下文中提出Payswap的想法的,他只是将其称为“自付”。这个建议在以后的文章中……

Payswap如何使区块链分析师困惑,受益于所有人的比特币隐私一文首先出现在《比特币杂志》上。

资讯来源:由0x资讯编译自BITCOININSIDER。版权归作者Anonymous所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢