区块链的对阵:粉尘攻击

  • 时间:
  • 标签:

来源:中国科学院之声

一、初识粉尘攻击

小白:董老哥,随着互联网的飞速发展,网络安全变得越来越重要。

大东:是的,国家越来越重视网络安全,区块链的出现就说明了这一点。

小白:区块链?这是什么?

大东:区块链是比特币的一个重要概念。它本质上是一个分散的数据库。同时,作为比特币的底层技术,它是由密码学产生的一系列数据块。每个数据块包含一批比特币网络交易的信息,用于验证其信息的有效性(防伪)并生成下一个数据块。

小白:哇,网络安全有保障!太神奇了!

大东:不,世界上没有十全十美的事。现在有很多手段来威胁区块链的项目,比如沙尘暴。

小白:什么是沙尘暴?是不是在脸上扬起一堆灰尘来攻击别人?

大东:你真的有点白!事实上,这种灰尘攻击是区块链攻击中的一个术语。

小白:难怪我猜错了。那是一个术语。突然觉得自己懂得很少。东哥可以告诉我它的定义。

粉尘(图片来源于网络)

二、了解粉尘攻击

大东:除尘攻击是一种新型的恶意攻击。黑客和欺诈者将试图通过向比特币和加密货币用户的私人钱包发送少量令牌来破坏他们的匿名性。

小白:我不太明白.

大东:简单来说,黑客会利用这种攻击获取用户身份,然后通过用户隐私威胁用户。一些不愿透露自己正在使用加密货币的人不得不为此支付高额赎金。

小白:微尘攻击的原理是指通过混合少量令牌来获取用户隐私吗?

大东:可以这么简单理解。

小白:这里的灰尘意味着很少的钱吗?什么样的概念比较少?

大东:在加密货币的世界里,“灰尘”指的是人们通常可以忽略的极少量的货币或代币。以比特币为例。比特币的最小单位是1 satoshi(即0.00000001比特币)。通常我们把不足几百Satoshi的量视为尘埃。

小白:这么少的代币能做什么?

大东:别小看。灰尘被广泛用于加密货币是一件坏事。小白,想想看。如果有人打算在区块链网络中使用少量令牌,会发生什么?

小白:嗯.那他肯定会吃大亏。毕竟比特币转账是需要手续费的。

大东:一般不太了解比特币转账规则的人都会下意识的这么想。但比特币转账是有免费手续费的,有些人频繁恶意做小交易,会造成比特币网络拥堵。因为比特币的交易范围只有1M大小,所以很多手续费极低甚至免费的小交易都拥挤在比特币网络中,必然会导致比特币网络拥堵,而微尘攻击最大的危害就是造成比特币网络拥堵。

小白:免费?怎么可能!

大东:是的,如果按照传统的记账方式,也就是转账金额大的话,需要很多手续费。但是比特币有不同的记账方式,按照交易字节数收取手续费。

小白:那我怎么才能免费获得呢?这必须要求条件!

大东:是的,在比特币交易费用的设计中,每笔交易都会被分配一个优先级,这个优先级是由货币年代、字节数、交易次数决定的。交易次数越多,货币年龄越高(这些硬币在区块中存在的时间),优先级越高,规避交易费用的机会越大。如果你需要大量的小额比特币转账,想免费转出,那么你可以加入大量的高币龄比特币,这样会增加平均优先级,让你可以免费转出比特币。

小白:尘袭是魔鬼!使用少量令牌,交易网络可能会拥塞。用最少的钱做最好的事!

大东:尘袭的危害不止于此。还记得我开头说的灰尘攻击可以窃取用户隐私吗?

小白:偷窃的主要方式是什么?

大东:黑客给用户钱包地址发“灰尘”。一旦用户使用了“灰尘”,这些微小的量就会与用户未使用的事务输出(UTXO)混合在一起。黑客可以跟踪用户的钱包地址获取用户身份,然后通过用户隐私威胁用户。

小白:如果这些用户不接受“灰尘”,那么隐私就不会被窃取,对吗?

大东:事实证明,很多用户根本不在乎这些微小的“灰尘”,以后很可能会把这些“灰尘”和UTXO混在一起,导致灰尘攻击成功率很高。

小白:董老哥,这种微尘攻击只能针对用户未使用的事务输出(UTXO)吗?

大东:没错,微尘攻击只针对UTXO模式的货币,比特币使用的交易模式是UTXO模式。

小白:董老哥,你能详细解释一下上面窃取隐私的过程吗?

大东:比如你可以理解,如果有一个比特币爱好者叫大黄,他钱包的一个BTC地址里有500 BTC,其他地址里有一些比较小的BTC,平时用来转到交易所交易购物。

大黄HD钱包的快照(图片来源于网络)

小白:那UTXO接下来怎么工作?

大东:如果大黄要送3.2 BTC到交易所,(UTXO-2) (UTXO-4)=3.3 BTC就送。交易变更(change=total实际发送总额-(实际发送需要交易费))将返回到大黄HD钱包中全新的地址。例如,如果交易费用为0.005BTC,则更改=3.3 -(3.2 0.005)=0.095 BTC将返回大黄钱包新生成的地址-4。

(图片来源于网络)

小白:为什么不选择500BTC的转车呢?

大东:只会选择最接近发送金额的UTXO进行发送。如果大黄总想交易少量的BTC,那么500 BTC(UTXO-1)就永远不会花掉,存放500 BTC的地址-1也不会和其他使用UTXO的地址关联起来。

小白:灰尘攻击是如何工作的?

大东:如果一个叫小黑的人看着大黄有500的地址-1,想找到大黄的真实身份,就给地址-1发一个灰尘交易(0.000005,一般100丛以内的交易都算灰尘)。就算是灰尘也是UTXO!

(图片来源于网络)

小白:然后呢?

大东:如果大黄没有意识到尘埃交易,它会继续和交易所交易,购物,给朋友支付数字现金。只要不选尘埃UTXO-6传输,其实也没什么大问题。但是不同的高清钱包可以定义不同的UTXO排序规则。一旦尘埃UTXO-6随某笔交易被选中,并向区块链广播,事情就不可小觑了。

小白:如果《尘埃》向区块链播出,会有什么严重的后果?

大东:假设地址-2的灰尘UTXO-6和UTXO-3被选中并发送到交易所,小黑就可以推断出地址-1和地址-2的所有活动都是同一个人(大黄)进行的,然后小黑就可以从地址-2在连锁店的所有历史交易、逛过的店铺、付款记录和与交易所的交易记录中确认大黄的真实身份。

(图片来源于网络)

小白:归根结底,它利用了用户不在乎钱包的微小心理,从而窃取了用户的隐私。

大东:这些年来,计算机科学家投入了大量的时间研究如何检测和防范粉尘攻击,各种研究成果都有不同程度的成效。

小白:告诉我怎么破解它!

粉尘攻击原理图(图片来源于网络)

三、应对粉尘攻击

大东:一种方法是每次交易使用不同的地址。每个BCH钱包可以创建许多地址,每个钱包上的余额是输入和UTXO的总和。这意味着你的两个BCH可以用1,0.5,0.25和0.25的增量来表示,从而得到总数。结果,输入地址和输出地址混淆了,它们之间的关系被分割了。在具体使用过程中,一个事务可能包含多个输入和输出,输入和输出之间不存在一一对应关系。

小白:这种情况下,没有办法通过“尘埃”来追踪用户的资金流,来获取用户的隐私!

大东:只有这样,操作起来才有一定的复杂性。现在广泛使用的混合货币服务就是基于这个原理的服务,大大简化了用户的操作。用户只需点击服务选项,只需一次点击即可混合货币,这将在后台自动执行。

小白:有没有更简单的方法?

大东:现在有一个简单的方法来标记和隔离被污染的灰尘量。从交易开始,用户就可以发现这些来源不明的小资金,并且不用,完全隔离。

小白:但是这种操作对用户来说应该很难吧?毕竟很多用户很难识别攻击,也很难从UTXO中隔离出来。

大东:没错,现在市场上有很多钱包供应商提供服务,允许你给几个随机发送的BCH添加描述或“标签”。你可以选择忽略灰尘,这样灰尘攻击就和未污染量隔离了。

  • 浏览: 16
  • 来源: 365体育