名詞解釋第六十講:粉塵攻擊區塊鏈
王團長區塊鏈學院,與最優秀的區塊鏈人一起成長!
這里是王團長區塊鏈學院,與最優秀的區塊鏈人一起成長!今天給大家講講粉塵攻擊。
區塊鏈技術迅猛發展的同時,區塊鏈網絡的安全問題也越來越突出,比特幣在價格飆升的過程中,也出現了多次重大安全事件,粉塵攻擊就是比特幣網絡的威脅之一。
粉塵攻擊,其實就是在比特幣網絡中有很多交易金額極少,手續費極低甚至是免費的交易,造成了比特幣網絡的擁堵。可能大家會奇怪,比特幣轉賬都是要收取手續費的呀,怎么會有免費的?其實在比特幣交易手續費的設置規則里是存在免手續費的情況。
比特幣區塊鏈由一個個區塊組成,數據通過載體形成文件,永久記錄在比特幣網絡上,這個載體就叫區塊,每一個區塊就是一個數據庫,無數的區塊鏈接起來,就形成了區塊鏈。
比特幣的賬本是記在區塊里的,從創世區塊開始,每十分鐘就增加一個區塊。區塊里記錄的是一條條的交易數據,主要形式是——“某地址轉賬多少比特幣到另一個地址”。比特幣這種格式的賬本,被稱之為UTXO格式,它是流水賬一樣的,正是由于比特幣這種記錄交易歷史過程的記賬方式,使比特幣的記賬可以回溯歷史,跟蹤每一筆轉賬。
比特幣這種特別的記賬方式,也有它特別的手續費計算方法。傳統記賬方法,就是轉賬數額大,需要的手續費就多。但是,比特幣是按照交易字節數來收取手續費的。
下面舉例子:
情況一:A地址轉給B地址1個btc;
情況二:A地址轉給B/C/D地址各0.0001btc;
如果按照傳統機構按交易金額百分比的形式收取,情況一的手續費肯定是要高于情況二的手續費。但是在比特幣網絡中,情況二轉出的地址多,而每一筆交易,無論金額大小,交易的字節數都是差不多的,所以情況二交易數據的字節數要比情況一的多,所以情況二的手續費要遠高于情況一。而情況二,恰恰是造成粉塵攻擊的原因。
在比特幣交易手續費的設計中,每一個交易都會分配一個優先級,這個優先級是由幣齡、交易的字節數和交易的數量來決定的,交易數量越大、幣齡(這些幣在區塊中存在的時間)越高優先級就越高,就越有機會免交易手續費。
比特幣的每筆交易手續費默認最少是0.0001比特幣的,如果你轉賬的金額太小或者是剛剛挖出來不久的新幣(幣齡很小),那么必須要付手續費。如果你轉出的金額少于0.01比特幣,也必需付0.0001比特幣手續費。如果你需要大量的小額比特幣轉賬,又想免費轉出,這時候你可以加一個數額大的、幣齡高的比特幣金額,就會將平均優先級提高,從而可以免費轉出比特幣。
所以,粉塵攻擊一方面是比特幣的設計規則有漏洞,導致有人可以利用,允許極少金額的交易。另一方面,有人頻繁惡意地進行小額交易,才會造成比特幣網絡的擁堵。因為,比特幣的交易區間只有1M的大小,所以,那么多手續費極低甚至免費的小額交易,擁擠在比特幣網絡,必然會導致比特幣網絡的擁堵,而粉塵攻擊最大的危害就是導致比特幣網絡擁堵。
想要了解更多的區塊鏈知識,可以關注我們的公眾號:王團長區塊鏈日記,與最優秀的區塊鏈人一起成長!
1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。