粉尘攻击

粉尘攻击特指区块链上短时大量发起的无法确认的小额低手续费交易,是一种滥用和刻意堵塞稀缺的区块链资源的恶意攻击,类似传统互联网中遭到的DDos攻击以及电子邮件服务中的垃圾邮件。粉尘攻击无法避免小额低手续费交易因确认优先级低,可能永远都无法被确认,沉淀和堵塞在区块链中,造成区块链内存池资源紧张。比特币区块链中没有中央机构来限定或者提供指导手续费额度,也会造成用户在对区块链和内存池情况未知或不清楚的情况下,无意中发送粉尘交易。而以太坊对此的应对方法是,用gas价格来控制区块链的使用和攻击成本,而gas是有中心化的组织开发者来裁定的。

任何公共服务中,甚至不断提高使用成本,恶意服务都不可避免。比特币区块链最拥堵时,内存池未确认交易量长时间保持近20万笔,其中不少粉尘交易要经历数周或数月才能被确认。粉尘交易的相对性粉尘交易没有确切的标准,无法确定手续费对输入值的比值低于多少、1byte的交易手续费低于多少BTC才可被认为是粉尘交易。或者说多长时间未被确认的交易或者说多大比例的交易可以被算作粉尘交易。这些阈值一概没有标准。再加上比特币链上交易的热度起伏不定,即使有标准,粉尘交易的标准也是要随行情不断调整变化。一般可用的参考就是钱包软件对粉尘交易的提醒和区块链查询器对当前适合的手续费的建议值。

任何交易只要长时间不被确认都可被认为是粉尘交易,想要提前确认,可以补交手续费或者付费找矿工提前打包确认。绝对的粉尘交易极端情况下,如果交易输入值甚至低于当前通行的手续费,即输出值≤0,可以认为这就是绝对的粉尘交易。

所需手续费超过输入值的1/3也会被Bitcoin Core的软件认定为粉尘交易。典型的输入需34字节,输出需148字节,少于546聪的输出值的交易就是绝对的粉尘交易。矿工的粉尘攻击和比特币扩容乱象矿工发送粉尘交易并自己确认,会造成高回报的高手续费交易反而被延迟,造成网络堵塞。已知的对比特币区块链最早的大规模粉尘攻击肇始于2015年秋。2017年9月被区块链数据分析专家挖出:蚁池、BTC.com、HaoBTC等2016年故意确认了这些垃圾交易,很可能是中国矿工为了为扩容造势,对开发者施加舆论压力,故意造成比特币网络拥堵的假象。

建议经常查看内存池状况:https://jochen-hoenicke.de/queue/#all