尽管中本聪(Satoshi Nakamoto)的白皮书表明,隐私是比特币协议的设计目标,但区块链分析通常会破坏用户的隐私。这是个问题。举例来说,比特币用户可能不一定希望全世界知道他们的钱花在哪里,他们的收入或拥有的数量,而企业可能不想将交易详细信息泄露给竞争对手。 但是有一些恢复隐私的解决方案,例如CoinJoin。当今可用的一些最受欢迎的混合解决方案都使用此技巧,包括Wasabi Wallet(利用ZeroLink)和Samourai Wallet(利用Whirlpool)。在这两种情况下,用户都将其硬币切成相等的数量以相互混合。使用相等的量被认为是有效混合的关键步骤。 但是,为比特币现金网络开发的名为CashFusion的新混合协议对这一假设提出了挑战。该协议背后的开发人员声称,CashFusion通过CoinJoins提供了隐私,而无需仅混合相等的金额。如果为真,这也可能会极大地改变我们对比特币隐私的看法。 如果是真的… 投币 让我们从头开始。 (或者,如果您知道CoinJoin是什么,请跳过此部分。) 典型的比特币交易具有一个或几个输入(基本上是从中发送硬币的地址)和一个或几个输出(基本上是从中发送硬币的地址)。如果一笔交易有多个输入,通常是因为发件人使用了几枚硬币(UTXO)才能达到所需的金额。如果一笔交易的输出不止一个,通常是因为一次要向几个人付款(批量交易),并且/或者付款人将钱作为找零的钱寄回自己的地址之一(因为这些块没有加起来)达到正确的数量;通常是这种情况)。 不幸的是,这里概述的典型交易显示了很多。例如,很容易得出结论,所有输入地址都属于同一个人,因此可以进行地址聚类。该交易还显示了硬币从哪个地址移动到哪个地址,从而揭示了区块链上的硬币轨迹。可能会有更多(微妙)的提示,并且所有这些都不利于隐私。 最早由比特币核心贡献者格雷戈里·麦克斯韦(Gregory Maxwell)在2013年提出的解决此问题的潜在方法称为CoinJoin。 CoinJoin背后的想法很简单:将几个独立的交易合并为一个大交易。因此,如果两个事务分别具有两个输入和两个输出,则将其合并为一个具有四个输入和四个输出的单个事务。这至少打破了所有输入地址都属于同一个人的假设,并且也可能有助于打破硬币的踪迹。 为什么相等 但是,通常假设如上所述的CoinJoin的隐私获取将受到限制。在许多情况下,输入中发送的金额和输出中接收的金额可能会被混淆,以重新发现哪些单独的交易进入了合并的CoinJoin交易。 例如,让我们进行两笔交易,一笔是从爱丽丝到卡罗尔,另一笔是从鲍勃到戴夫。爱丽丝拥有两块分别价值2.3和1.4比特币的硬币,她想付卡罗尔3.2比特币。鲍勃拥有3和2比特币的大块,并想付给戴夫4比特币。 简化后,这些事务如下所示: 2.3 + 1.4 = 3.2 + 0.5 和 3 + 2 = 4 +1 (0.5 BTC和1 BTC输出已更改。) 合并在一起,CoinJoin交易看起来像这样: 3 + 2.3 + 2 + 1.4 = 4 + 3.2 + 1 + 0.5 尽管合并了交易,但重新发现哪些输入支付了哪些输出却是很简单的,因此,哪些输入可以归为同一发送者,这也很容易。假设您知道有两个付款人,那么只需一个可能的配置即可困惑这些金额:原始交易。 因此,流行的混合解决方案(如ZeroLink和Whirlpool)仅限于混合等量。无论将多少金额混合在一起作为输入,混合后的输出都是无法区分的,这意味着任何参与者都可以收到任何固定大小的硬币。 如果固定金额设置为1 BTC,则Alice,Bob,Carol和Dave的CoinJoin看起来像这样: 3 + 2.3 + 2 + 1.4 = 1 + 1 + 1 + 1 +1 + 1 + 1 + 1 + 0.5 + 0.2 这是一个很大的改进,因为1的任何块都可能会被拼凑成两个原始事务之一。目前尚不清楚这1个BTC中的哪个属于爱丽丝,鲍勃,卡罗尔或戴夫,甚至属于哪一对。 但是,它仍然不完美,因为剩下的输出不相等。正是由于它们没有相等的数量,所以这些更改输出仍然可以链接到特定的输入:爱丽丝的输入。这也意味着爱丽丝的输入可以相互链接。最重要的是,如果以后将不相等的输出与固定量的输出结合使用,这些泄漏可能会破坏初始混合过程本身。 现金融合 CashFusion是比特币现金开发商Mark Lundeberg和Jonald Fyookball的项目,着手解决“剩余”输出问题。他们最初将其创建为CashShuffle的补充,后者是针对Bitcoin Cash的CoinShuffle的实现,并且混合了相等的金额。但是,CashFusion的潜力令人惊讶,也可能意味着它成为其自己的独立混合协议。 要了解这种潜力,我们来看看另一组交易。假设爱丽丝(Alice)想向卡罗尔(Carol)支付4个硬币,她有两个价值2枚和3枚硬币的UTXO。同时,鲍勃想要支付戴夫9个硬币,他有两个价值7和8个硬币的UTXO。 简化后,这些事务如下所示: 3 + 2 = 4 +1 和 8 + 7 = 9 + 6 合并在一起,CoinJoin交易看起来像这样: 8 + 7 + 3 + 2 = 9 + 6 + 4 + 1 现在,通过这次CoinJoin交易,当然可以将原来的两笔交易搞混了。但是,即使您知道有两个付款人,也可以使用其他几种组合。 例如: 8 + 2 = 9 + 1 和 7 + 3 = 6 + 4 要么: 8 + 2 = 6 + 4 和 7 + 3 = 9 +1 要么: 7 + 2 = 9 和 8 + 3 = 6 + 4 + 1 要么: 7 = 6 + 1 和 8 + 3 + 2 = 9 + 4 为了简单起见,本示例仅使用整数。这使更多可能的配置成为可能,但实际上不会经常反映现实。另一方面,这个简化的示例仅使用了两个原始事务。实际上,CoinJoin可能包含数十个甚至数百个原始交易。因此,尽管简化了,但这种简化既有助于并损害创建多个配置的潜力。 CashFusion建立在从组合学领域衍生的理论的基础上,即使使用了现实的金额,足够大的CoinJoin交易也经常会(即使不是总是)提供几种不同的解决方案。而且,随着包含更多的输入和输出,可以从中获得更多的潜在配置。 (如果金额在同一范围内(例如1 BCH),则应该特别如此,鼓励CashFusion用户出于自身隐私的考虑而这样做。) 随着更多的潜在难题解决方案,区块链分析师将很难确定哪种解决方案是原始配置。这将打破硬币的踪迹,并使将输入链接在一起变得更加困难。因此,它应提供隐私。 为了提高这种潜力,CashFusion包括一个额外的技巧,以使其更难于拼凑原始配置:它使用户可以半随机地将其输出切成几个较小的输出。因此,例如,Alice可以向Carol发送3个硬币和1个硬币的输出,而不是向Alice支付Carol 4个硬币的输出。 Bob可以支付5、3和1个硬币的Dave输出,而不是支付9个硬币的一个输出。 同时,鼓励用户也可能从以前的混音中提供一些输入。这使他们可以将较小的块合并为较大的块,而这在区块链上并不明显。 (例如,Alice提供的输入为2 + 2 + 1; Bob提供的输入为6 + 5 +4。)确实,将较小的输入合并为较大的输出是最初的想法,并且是协议名称的由来: CashFusion。 但是假设是否成立? 如果您读了这么远的书后仍想得出最后的结论,会让您感到失望:本文不会就CashFusion的假设是否成立或在何种程度上坚持这一问题给出明确的答案。实际上,似乎还没有确切的答案。到目前为止,该提案已经经过了相对较少的同行评审,而CashFusion背后的开发人员认为他们的解决方案可以提供足够的隐私,而其他人则显得有些怀疑。 从表面上看,CashFusion的方法似乎是错误的,因为早在几年前就打破了诸如区块链SharedCoin之类的不平等金额混合计划。但是Lundeberg和Fyookball现在认为,关键的区别是CashFusion交易将比SharedCoin交易包含更多的输入和输出。与生日问题等其他非直觉性的数学怪癖类似,对于每个添加的输入和输出,潜在配置的数量呈指数增长,从而解决了SharedCoin遇到的问题-尽管Lundeberg同意有必要提供更好的数学证明来正确确认这一点。 CashFusion描述本身确实包括Lundeberg自以为是的“餐巾纸数学”,他还在Reddit上发布了其中的一个更高级的版本。这些估计值表明,即使只有10个参与者,每个参与者提供10个输入,将它们合并为一个输出(总共100个输入和10个输出),平均可能的配置数量也将在100亿个五位数之内。 (这是一个带有20个零的数字,即10 ^ 20。)即使仅计算所有这些可能性也将花费大量时间-没关系正确地重新建立原始交易。 在撰写本文时,正在进行更多研究。 Fyookball最近在此博客文章中发表了他自己的分析。目前,Lundeberg,Fyookball和其他公司至少已对CashFusion协议深信不疑,希望部署它。 CashFusion软件的Alpha客户端可用于测试;预计将在几个月内发布完整版本。 但是其他人并不那么相信。对该建议的批评是,即使(大约)保留了10 ^ 20的数字,并非CashFusion CoinJoin的每个输出都同样有可能来自每个输入。换句话说,尽管有些人可能会获得大量隐私,但其他人可能会从相同的组合中获得更少的隐私。对于任何个人用户而言,很难说出他们是否获得了很多隐私。 (此评论和其他评论可在最近的bitcoin-dev电子邮件线程中找到。) 相比之下,等量混合可为所有参与者提供相似的隐私,并导致最大数量的可能配置。从某种意义上说,如果忽略不平等的变化问题,则等量混合会产生“完美”的CashFusion CoinJoin,因此,严格来说会更好。 尽管如此,即使CashFusion永远不会完全取代等量混合,它仍然可以按照最初的意图帮助解决不平等变化问题。 作者注意:CashFusion提案还有更多内容,例如CoinJoin交易的构造方式。在隐私方面,还有其他一些微妙的风险和折衷办法,例如用户在混合前后如何处理硬币。为了简单起见,本文仅关注CashFusion背后的中心且可能是最有趣的想法:不等量混合。 感谢Mark Lundeberg的信息和反馈。 本文的第二部分将介绍另一种称为“背包”的非等量混合技术。 —- 原文链接:https://bitcoinmagazine.com/articles/do-coinjoins-really-require-equal-transaction-amounts-for-privacy-part-one-cashfusion 原文作者:Aaron van Wirdum 编译者/作者:wanbizu AI 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
CoinJoins是否真的需要平等的交易量才能获得隐私?第一部分:CashFusion
2020-01-14 wanbizu AI 来源:bitcoinmagazine.com
LOADING...
相关阅读:
- 币圈龙校长:10月30日BTC比特币上午交易策略2020-10-30
- 为什么 USDT 相较于比特币和以太坊市值增长更快?2020-10-30
- 伊朗新加密法:矿工直接向中央银行出售比特币用作进口资金2020-10-30
- 磊哥圈币:比特币日内企稳13500行情有望再创新高2020-10-30
- YFIR社区推荐——10.30BTC过山车式拉伸后今日份短线操作2020-10-30