作者Ayahuasca (Accurate dosage)
看板DigiCurrency
标题Re: [闲聊] 不是很懂加密币尘埃攻击??
时间Thu Aug 22 00:19:50 2019
(借个标,前文恕删,thx)
这阵子常看到粉尘攻击的新闻,google到动区[1]跟Atomic wallet[2]的解释
稍微理解比特币系统跟以太坊还有我们一般人习惯的Account model不太一样
Account model以这些文章的解释就是每个帐户有个余额,我们就是对这余额加加减减,
不管是1块钱还是2块钱,进来就是"溶"在一个总余额中
而比特币这类的UTXO(Unspent Transaction Output)模型,
则是钱堆的概念,1块钱、2块钱传到一个钱包,不会立刻加总变成3块钱,
而是在花掉之前仍然分两堆堆着。
平常使用者用钱包感觉不到是因为钱包应用软体都已经帮我们扫描链上资讯加总了
UTXO适合在避免双花的架构下,在同一个区块切分多组数量做传输
以我的理解可能是因为去中心化,新的区块都要经过一些堆叠确认,很可能重组,
链上传输要避免双花,势必还要新增时间序列或是扣押等等程序增加系统复杂度?
---
但话说回来,这对我而言还是没有解释粉尘攻击为什麽可以解匿名?
更进一步说,我们在比特币区块链浏览器上都看得到谁传给谁多少,
还有很多解析全网金流的应用,明明超级公开的,何必动用粉尘来解匿名?
这问题困扰我一阵子,爬文爬半天看了很多高手回答还是看不懂,
触动那种台上教授滔滔雄辩台下众鸭如听雷的痛。
我尝试讲一下自己对於粉尘攻击的理解,请各位高手看看是否合理:
---
首先,现在很多用户不管是用钱包还是交易所,
许多状况下私钥都是掌握在中心化的手上服务端手上
这些服务端可能会搭配数个较大的冷/热主钱包收集货币,
利用合约定期或在特定条件下调用/收藏属於使用者的入金钱包中的货币到主钱包
再用主钱包出金或保管
所以在Account model下,若没有入侵交易所取得对照资料或是服务方根本没有身分认证,
交易所跟某些钱包服务就像是一个天然的混合交易器匿名化输入用户跟输出点的关联
毕竟输出後看到的都是XX cold wallet => 某某地址
但在比特币这种UTXO model下,因为分了钱堆,所以有心者可以用特定的数字额标定
例如: 用户A 用户B 用户C
原本有 3 5 4
输入粉尘 0.123 0.223 0.333
↓ ↓ ↓
(系统自动转入冷钱包 D)
冷钱包中 3, 0.123, 5, 0.223, 4, 0.333
(里面一堆unspent,除了服务方资料库,看不出是谁的)
当三个用户都想转出到自己的钱包保管时,
假设他们都看都不看就选了100%领出
区块链上就会看到
D > E : 3 & 0.123
D > F : 5 & 0.223
D > G : 4 & 0.333
然後因为给了不同用户特定的数额,所以就可以把A跟E连起来,以此类推
若是Account model只能看到 D > E : 3.123,就认不出来了,
因为说不定是其他用户身上刚好有2+1.123
所以有心人士就可以拿着 A、E两个地址,如果又刚好有A的邮件或电话,
就能去联络A,威胁曝光他想要的匿名途径,或是骗他已经骇了交易所
这比直接攻击交易所还容易一点
---
请问以上对於粉尘攻击的理解算正确吗? 谢谢回应~
[1]
https://www.blocktempo.com/transaction-of-eth-btc/
[2]
https://atomicwallet.io/bitcoin-dust-attack
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.228.253.133 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1566404392.A.C6F.html
1F:→ DarkerDuck: 其实你的解释有点反了,account model才是最没隐私的 08/22 00:30
2F:→ DarkerDuck: 只要任何一个人转钱给我,他之後的所有转帐行为我都知 08/22 00:30
3F:→ DarkerDuck: 但用UTXO model就没办法,因为他只要这个钱堆花完 08/22 00:31
4F:→ DarkerDuck: 我就无法知道他下一个钱堆的事情了,那是另外一个地址 08/22 00:31
5F:→ DarkerDuck: 而用粉尘攻击,可以把UTXO的隐私性弱化成account model 08/22 00:32
6F:推 DarkerDuck: 因为在预设状态下,很多UTXO加密货币的钱包会从最小 08/22 00:33
7F:→ DarkerDuck: 金额的钱堆开始挑,因为这样才能避免UTXOs set膨胀 08/22 00:33
8F:→ DarkerDuck: 所以对於一个被粉尘攻击过後的钱包地址而言 08/22 00:34
9F:→ DarkerDuck: 他下一次的转帐很有可能就会把所有地址的粉尘一次转出 08/22 00:34
10F:→ DarkerDuck: 那这样不就变成跟account一样知道这个钱包下面的 08/22 00:35
11F:→ DarkerDuck: "所有"地址 08/22 00:35
12F:→ DarkerDuck: 而UTXO钱包惯用的,每收一次钱就产生新地址的手段 08/22 00:36
13F:→ DarkerDuck: 就无法再达到一定保护隐私的目的 08/22 00:36
14F:→ Ayahuasca: 哇!感谢版主很快回应! 对,关於"之後所有转帐行为都 08/22 00:49
15F:→ Ayahuasca: 知道"这点,实在是不太能理解...因为我即使不用转钱给 08/22 00:49
16F:→ Ayahuasca: 任何人,也可以在Scan类的服务看到所有的来往 08/22 00:50
17F:→ Ayahuasca: 好像不需要转帐 这部分有没有什麽更容易的解释呢? 08/22 00:50
18F:→ Ayahuasca: 原来UTXO其实预设是每收一次钱产生新地址...我一直 08/22 00:53
19F:→ Ayahuasca: 以为地址是配私钥固定的说 Orz 08/22 00:53
20F:推 DarkerDuck: 我的意思是我透过交易行为知道这个人是谁 08/22 00:58
21F:→ DarkerDuck: 那他之後只要继续用那个account,他的交易隐私全没了 08/22 00:58
22F:→ DarkerDuck: 但用UTXO model的钱包没有这个问题 08/22 00:59
23F:→ DarkerDuck: 因为他後来收的钱和交易行为可能在新地址进行了 08/22 00:59
24F:推 ssd860505da: 每次看到尘埃攻击都让我联想到: 08/22 01:08
25F:→ ssd860505da: 星尘远征军出埃及,替身攻击!!!Ora! 08/22 01:08
26F:推 bvckk: 原来是替身攻击!?(歪楼中) 08/22 01:51
27F:→ comment: 小明曾公开A位址 发现小明的B位址(+A粉尘)的支付行为 08/22 02:27
28F:→ comment: 虽然小明没有公开B位址 但仍将小明与後续支付行为做连结 08/22 02:29
29F:→ Ayahuasca: 嗯....我再思索一下....><” 08/22 08:27
※ 编辑: Ayahuasca (36.229.225.55 台湾), 08/22/2019 22:16:10
31F:→ Ayahuasca: 找到一篇参考资料,感觉有懂一点点... 08/22 22:16
32F:推 ECZEMA: 感谢深入 08/22 23:48
33F:→ ECZEMA: 404 Not Found (咦? 08/22 23:50
34F:推 Ayukawayen: 粉尘攻击就像放一枚墨水硬币到你的零钱包,然後你下次 08/23 00:24
35F:→ Ayukawayen: 付帐要把这枚硬币花掉的时候,一起付出去的钞票就会沾 08/23 00:26
36F:→ Ayukawayen: 上墨水 08/23 00:26
37F:→ Ayahuasca: 阿结果我上面打错网址 08/23 16:40