亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        區(qū)塊鏈中硬分叉期間的防御方案

        2019-05-17 02:45:00袁超
        現(xiàn)代計算機 2019年9期
        關(guān)鍵詞:攻擊者比特粉塵

        袁超

        (四川大學電子信息學院,成都610065)

        1 介紹

        區(qū)塊鏈技術(shù)近年來得到迅速的發(fā)展和廣泛的應(yīng)用。作為區(qū)塊鏈技術(shù)的底層實現(xiàn),中本聰提出的分布式記賬系統(tǒng)比特幣,可以在無權(quán)限設(shè)置的情況下利用POW(工作量證明)達成共識。但是比特幣的缺點也很明顯,在比特幣中,塊大小限制為1MB,平均塊挖掘時間為10分鐘。單個事務(wù)的大小在200字節(jié)到1K字節(jié)之間。在這些限制下,比特幣每秒只能驗證3-7個事務(wù)[1],存在嚴重的網(wǎng)絡(luò)擁堵情況。為了解決該問題,一方面,比特幣Core開發(fā)組提出了隔離驗證[2]和閃電網(wǎng)絡(luò)[3]鎖定區(qū)塊大小為1M的解決方案,另一方面,BitcoinABC開發(fā)組認為隔離驗證和閃電網(wǎng)絡(luò)確實是不錯的技術(shù),但并不是成熟的技術(shù),解決不了現(xiàn)階段比特幣網(wǎng)絡(luò)擁堵的問題。把區(qū)塊大小鎖定為1M也讓主鏈變得毫無價值,閃電網(wǎng)絡(luò)也會導致非常嚴重的中心化問題。主張將區(qū)塊大小進行擴容,將區(qū)塊上限由1MB提升為32MB。然而這些大區(qū)塊支持者中的激進派發(fā)現(xiàn)在比特幣上實現(xiàn)大區(qū)塊無望,Core開發(fā)組是不會做出妥協(xié)的。一些開發(fā)者決定在2017年8月1日對比特幣進行硬分叉創(chuàng)造一種新型的數(shù)字貨幣——比特幣現(xiàn)金B(yǎng)CH。BCH修改了比特幣的代碼,刪除了隔離驗證(SegWit),取消了區(qū)塊大小1M的限制,提升了交易速度、降低轉(zhuǎn)賬費用。這產(chǎn)生了比特幣的第一次硬分叉,并誕生了BCH(比特幣現(xiàn)金)。

        歷史總是有驚人的相似之處,僅僅15個月后,BCH的硬分叉也已經(jīng)到來。實際上,這兩次硬分叉,都是源于社區(qū)的分裂。而兩次社區(qū)分裂的背后,都是改革派與“原教旨主義派”之爭。這一次改革派,是比特大陸為首的Bitcoin ABC社群陣營。“原教旨主義派”,是CSW(Craig Steven Wright)主導的Bitcoin SV社群陣營。比特大陸投資的Bitcoin ABC開發(fā)團隊認為,在維持區(qū)塊大小在32MB的情況下,應(yīng)該讓BCH往基礎(chǔ)建設(shè)公鏈發(fā)展。這樣一來,BCH便能像以太坊一樣,開拓出更多應(yīng)用場景。以CSW主導的Bitcoin SV社群陣營,則希望BCH仍像當年中本聰論文描述的那樣,對操作碼嚴格限制,專注在轉(zhuǎn)賬交易本身,并希望將區(qū)塊最終擴容為128MB。最終,BCH于11月16日進行了分叉創(chuàng)建出bchabc和bchsv兩條平行的區(qū)塊鏈,然而過程并不順利,在分叉期間整個區(qū)塊充斥著粉塵交易攻擊,會影響礦池的內(nèi)存池,從而導致大量的事務(wù)堆積和更高的采礦費。更為嚴重的是重放交易攻擊。是主鏈分叉時候出現(xiàn)的一種特殊情況,分叉中兩條鏈上的地址和私鑰算法相同,交易格式也完全相同,導致在其中一條鏈上的交易在另一條鏈上很可能是完全合法的。所以當在其中一條鏈上發(fā)起的交易,放到另一條鏈上去重新廣播,可能也會得到確認。導致同一筆數(shù)字貨幣產(chǎn)生了兩次交易。

        現(xiàn)有的研究中目前存在的論文主要是針對51%攻擊造成的重放攻擊,并提出解決方案,對于分叉過程中的重放攻擊最直接的方法就是分叉后對不同的鏈上的財產(chǎn)進行轉(zhuǎn)移,不要存在分叉前的地址里。對于警惕性較低的用戶目前存在較大的威脅。

        對于粉塵攻擊,現(xiàn)有的研究中暫未出現(xiàn)相關(guān)的論文,解決粉塵攻擊需要礦工們達成共識,拒絕打包交易量過低的垃圾交易,為了區(qū)塊鏈的價值更多地打包有意義的交易。然而目前并沒有一套有效的共識方案來解決這個問題。為了區(qū)塊鏈的健康發(fā)展,需要對礦工節(jié)點進行改進。

        2 硬分叉期間的攻擊

        2. 1 重放攻擊

        2008年,中本聰提出一種完全通過點對點技術(shù)實現(xiàn)的電子現(xiàn)金系統(tǒng)(比特幣)。該方案的核心價值在于基于工作量證明的解決方案,使現(xiàn)金系統(tǒng)在點對點環(huán)境下運行,并能夠防止雙花攻擊。如今比特幣已經(jīng)誕生十年,大量數(shù)字貨幣誕生,但對雙花攻擊的討論仍然停留在比特幣51%攻擊上。研究發(fā)現(xiàn),數(shù)字貨幣雙花攻擊還有很多種形式。本文介紹硬分叉途中產(chǎn)生的雙花攻擊,即區(qū)塊鏈上的重放攻擊,如:在BCH分叉完成后,BCH ABC公鏈出現(xiàn)3筆總計超5,000萬USDT超大額轉(zhuǎn)賬。凌晨02:41,開頭為qqfq7hhtp的地址向開頭為qzemyvck5的地址轉(zhuǎn)帳48009枚BCH;凌晨3點13分,開頭為qzdr8muc9的地址收到開頭為qr8e7zcay等地址轉(zhuǎn)來的80000枚BCH。值得一提的是,安全人員監(jiān)測到這兩筆大額轉(zhuǎn)賬在BCH SV公鏈上存在同樣交易,并且第一筆的交易哈希值完全一樣。此次雙花攻擊并沒有調(diào)用51%的算力,但是依舊會產(chǎn)生雙花。與區(qū)塊鏈內(nèi)發(fā)生的重放攻擊51%攻擊不同,這是存在分叉幣的情況下才會出現(xiàn)的重放攻擊。在進行分叉產(chǎn)生新幣之后,代碼修改較少,導致在其中一條鏈上的交易在另一條鏈上很可能是完全合法的。所以在其中一條鏈上發(fā)起的交易,攻擊者可以復(fù)制到另一條鏈上重新廣播,也會得到確認。這就是區(qū)塊鏈特色的“重放攻擊”。

        2. 2 重放攻擊攻擊模型

        普通用戶在主鏈分叉為兩條鏈時,同時擁有兩條鏈的資產(chǎn),分叉鏈上的重放攻擊可能導致一條鏈上的資產(chǎn)被盜取。在交易所中的分叉幣之間,不斷存取一種幣,可能會導致另一種分叉幣無故流失,這也可以通過重放攻擊實現(xiàn)。圖1描述了對用戶賬戶的重放攻擊。

        圖1 在分叉鏈上進行的重放攻擊

        由于硬分叉的特性,普通的用戶賬戶會得到空投的分叉代幣,攻擊者通過在分叉區(qū)塊鏈上重放交易,從而在未經(jīng)用戶許可的情況下獲取用戶的分叉代幣。

        2. 3 粉塵攻擊

        在觀察區(qū)塊鏈BCH分叉過程中,除了重放攻擊外,還存在一種區(qū)塊鏈的攻擊——粉塵攻擊,惡意用戶使用低價值的粉塵交易充斥網(wǎng)絡(luò),使礦工的mempool被快速占用,導致新的正常交易轉(zhuǎn)發(fā)到礦工節(jié)點時無法處理,造成區(qū)塊的長時間堵塞;與此同時,為了搶占交易被打包的機會,市場會自發(fā)抬高交易手續(xù)費。

        由區(qū)塊鏈瀏覽器數(shù)據(jù)顯示,BCH在區(qū)塊高度556767處發(fā)生分叉。由于持續(xù)不斷的粉塵攻擊,區(qū)塊大小明顯擴大,礦工節(jié)點mempool和采礦費大小呈正相關(guān)擴大。通過繪制圖來說明交易數(shù)量,mempool大小和平均交易費的關(guān)系,顯示攻擊的效果。這些數(shù)據(jù)是通過爬取2018年11月6號556734區(qū)塊到556833 bch區(qū)塊瀏覽器上記錄的區(qū)塊大小,支付給礦工平均費用和mempool大小,通過簡化,數(shù)據(jù)范圍在[0-1],并繪制出交易數(shù),mempool和采礦費的關(guān)系圖。如圖1所示。

        從圖2中可以看出粉塵攻擊造成的高交易數(shù)和mempool大小、采礦費正相關(guān)??梢钥闯龇蹓m攻擊造成的影響是合法的用戶提出的交易在攻擊期間將支出更高的采礦費,此外還會導致整個區(qū)塊的堵塞,需要確認的交易將由于區(qū)塊堵塞停留在區(qū)塊鏈中。

        圖2 交易數(shù)、mempool和采礦費

        2. 4 粉塵攻擊模型

        實現(xiàn)粉塵攻擊有多重手段,有的是作為交易的發(fā)起者,在全網(wǎng)發(fā)送很多手續(xù)費高,但是轉(zhuǎn)賬金額非常小的無意義交易,礦工就會優(yōu)先打包這些交易,從而堵塞區(qū)塊鏈,此攻擊成本較高,技術(shù)要求較低,此次硬分叉期間就存在大量的高手續(xù)費的無意義交易。還有一種成本較低的攻擊方案,攻擊者擁有比特幣網(wǎng)絡(luò)中的一個完整節(jié)點,在其機器上有完整的區(qū)塊鏈和一個mempool,假設(shè)攻擊者錢包中的余額足夠大,可以分成大量的小額交易,每個小額交易都能支付采礦費。攻擊者還控制了一組sybils賬戶(被惡意操控進行協(xié)同攻擊的虛假賬戶),每個賬戶都有多個公共地址,攻擊者和sybil賬戶知道彼此的公共地址。此外攻擊者和sybils有客戶端軟件和腳本[1]能夠發(fā)起大量的“原始交易”[2]。當具備這些條件后,將完整節(jié)點中挖掘出來的交易都分散輸入進sybil的UTXO(未花費的交易輸出)里,然后,所有的sybil賬戶都會生成“原始交易”以最小的價值進行相互交換。交易率將遠遠高于網(wǎng)絡(luò)的吞吐量,導致交易積壓,從而增加了mempools的大小。

        3 硬分叉期間的防護

        3. 1 重放攻擊的解決方案

        重放攻擊能成功的關(guān)鍵在于,兩條分叉鏈的代碼修改較少,同一條交易可能在兩條鏈上都是合法的。

        比較高效的解決方案是開啟重放保護,通過添加隨機數(shù)、時間戳,或者流水號,在兩條鏈間形成保護,讓一條鏈上的事務(wù)在另一條鏈上無效被識別,以確保兩條數(shù)據(jù)共享鏈保持獨立運行狀態(tài),并防止兩鏈間出現(xiàn)相互多次識別的情況。所以在區(qū)塊鏈發(fā)生硬分叉時除了用戶對鏈上的財產(chǎn)進行轉(zhuǎn)移之外,還可以通過開啟重放保護的方式防御。

        3. 2 粉塵攻擊的防御方案

        為了對抗粉塵攻擊,提出一系列對于采礦節(jié)點的改進。當采礦節(jié)點正常運行時,接收incoming transactions并存入mempool,當檢測到 incoming transactions異常增多時,不直接存入mempool,而是存入本地緩存,進行篩選。由于不同區(qū)塊鏈的大小不同,能夠抵御粉塵攻擊的程度也不同,bch區(qū)塊最大容量8MB,大約是40000筆交易。btc區(qū)塊最大容量1MB,大約3000比交易。由于單筆交易大小范圍在100byte-4000byte不等,以區(qū)塊容量的變化速率作為是否受到粉塵攻擊的標準,2018年11月6號發(fā)生粉塵攻擊開始時區(qū)塊556765至556767中交易數(shù)由952迅速變成13202后變成20861,區(qū)塊大小也由0.3MB迅速變成4MB,所以本防御方案設(shè)定當檢測到區(qū)塊大小變化超過5倍時(倍數(shù)越小檢測越嚴格),判定為可能受到粉塵攻擊。或者區(qū)塊大小達到最大容量80%時判定可能受到了粉塵攻擊。同樣當發(fā)現(xiàn)區(qū)塊大小變化縮小超過5倍,或者區(qū)塊小于最大容量20%時判斷為恢復(fù)到正常區(qū)塊狀態(tài)。當判定疑似遭受粉塵攻擊時,將incoming transactions存入緩存,并篩選。

        篩選方法上,首先檢測incoming transactions是否屬于無意義交易(發(fā)起人與接收人一致),如果屬于無意義在區(qū)塊擁堵結(jié)束前將不會轉(zhuǎn)入mempool,在剔除掉無意義交易之后,提出了三種進一步篩選設(shè)計:基于費用、基于確認數(shù),以及基于驗證碼的篩選設(shè)計。

        (1)基于費用的設(shè)計

        在基于費用的設(shè)計中,針對攻擊者的兩種攻擊策略,對轉(zhuǎn)發(fā)費和采礦費設(shè)置最低和最高的閾值,最低閾值可以通過允許接受低手續(xù)的粉塵交易來抵制攻擊者的策略,最終目的是將其挖掘到區(qū)塊中。最高閾值可以過濾掉高手續(xù)費的粉塵交易來抵制攻擊者的策略,過濾掉攻擊者的粉塵交易,從而減少mempool的大小。主要設(shè)計流程如圖3所示。

        圖3 基于費用的設(shè)計

        (2)基于確認數(shù)的設(shè)計

        在基于確認值的設(shè)計中,主要針對的是攻擊者低手續(xù)費的攻擊策略,如圖4所示對每個傳入的交易,計算其父交易的數(shù)量,設(shè)置average age并將其初始化為0,接下來,通過每個父交易的確認數(shù)總和除以父交易的總數(shù)來計算事務(wù)的平均確認數(shù)。對每個進入的交易獲得平均確認數(shù)之后,申請一個mempool上的最小平均確認數(shù)過濾器,最小平均確認數(shù)可以取任何大于0的數(shù)。根據(jù)比特幣開發(fā)者指南[3],確認數(shù)為6時被認為是最合適的。任何交易只有滿足最小平均確認數(shù),才會被mempool接收。通過這種方式攻擊者控制的采礦節(jié)點和Sybil節(jié)點生成的所有未確認交易將會被mempool拒絕,如果攻擊者仍想要對網(wǎng)絡(luò)進行粉塵攻擊,將不得不開采自己發(fā)出的所有交易并等待獲得符合要求的確認值。因此,這增加了攻擊的成本并且減少了可以發(fā)起攻擊的時間窗口。

        圖4 基于確認年齡的設(shè)計

        (3)基于驗證碼的設(shè)計

        在基于驗證碼的設(shè)計中,主要是針對攻擊腳本的防御,當采礦節(jié)點接收到由普通賬戶發(fā)起的交易時,為了保證是用戶發(fā)起而不是攻擊腳本批量發(fā)起,需要向賬戶客戶端發(fā)送6位的隨機驗證碼,只要用戶接收到驗證碼并將驗證碼正確的返回給采礦節(jié)點,采礦節(jié)點便將交易轉(zhuǎn)入mempool。通過添加一步驗證碼的方法,使攻擊者的腳本失效,從而使攻擊者發(fā)起的粉塵攻擊無法進入mempool。流程設(shè)計如圖5所示。

        圖5 基于驗證碼的設(shè)計

        3. 3 實驗和結(jié)果

        進行了三個實驗分別測試三種方案的防御效果。生成了1800個符合區(qū)塊鏈格式的交易,其中300個是發(fā)起者等于接收者的無意義交易,300個是高額采礦費率的惡意占用區(qū)塊資源的交易,300個是以最低費率惡意占用mempool的交易,剩余的900個合法交易采礦費分布在最小和最大采礦費的范圍內(nèi)。

        使用混淆矩陣,把合法交易定義為正面,惡意交易定義為負面,分別統(tǒng)計了不同采礦費率下,不同平均年齡下的TP TN FN FP并計算出精準度,準確率和召回率,如圖6-圖8。

        圖6 基于采礦費的設(shè)計

        圖7 基于平均年齡的設(shè)計

        圖8 基于驗證碼的設(shè)計

        在丟棄粉塵攻擊數(shù)量上,基于驗證碼的設(shè)計效果最好,并且對合法用戶影響最小,但是實現(xiàn)較麻煩,需要同時改進采礦節(jié)點和SPV錢包節(jié)點。

        在設(shè)計上更容易實現(xiàn)的是基于采礦費的設(shè)計和基于平均年齡的設(shè)計。當攻擊不嚴重時,基于費用的設(shè)計在mempool大小的優(yōu)化中更有效,但是,會影響攻擊者和合法用戶。當攻擊嚴重時,基于時間的設(shè)計幫助合法用戶同時丟棄最大量的粉塵交易更有效。

        4 結(jié)語

        在本文中,提出了區(qū)塊鏈硬分叉中的重放攻擊和粉塵攻擊,其中重放攻擊最有效的應(yīng)對方法是在硬分叉前通過隨機數(shù)、時間戳,或者流水號區(qū)分開兩條區(qū)塊鏈。對于粉塵攻擊設(shè)計了三種防御方案,其中基于驗證碼的設(shè)計,對粉塵攻擊防御效果最好,但兼容性較差。相對兼容性較好的基于費用的設(shè)計和基于平均年齡的設(shè)計中,當攻擊不嚴重時基于費用的設(shè)計防御效果更有效,但是會影響正常用戶,相反當攻擊嚴重時,基于時間的設(shè)計防御效果更有效。

        猜你喜歡
        攻擊者比特粉塵
        高壓粉塵防爆電機過厚粉塵層的形成與分析
        防爆電機(2021年6期)2022-01-17 02:40:28
        基于微分博弈的追逃問題最優(yōu)策略設(shè)計
        自動化學報(2021年8期)2021-09-28 07:20:18
        粉塵大戰(zhàn)
        正面迎接批判
        愛你(2018年16期)2018-06-21 03:28:44
        光散射法粉塵儀在超低排放的應(yīng)用
        比特幣還能投資嗎
        海峽姐妹(2017年10期)2017-12-19 12:26:20
        比特幣分裂
        比特幣一年漲135%重回5530元
        銀行家(2017年1期)2017-02-15 20:27:20
        有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
        粉塵爆炸不可小覷
        美女国产毛片a区内射| 91极品尤物在线观看播放| 蜜桃av福利精品小视频| 老熟女老女人国产老太| 欧美牲交a欧美牲交aⅴ免费真| 欧美多毛肥胖老妇做爰| 国产精品麻豆A在线播放| 精品一区二区av在线| 免费无码av一区二区| 亚洲不卡av不卡一区二区| 亚洲国产剧情一区在线观看| 久久伊人精品色婷婷国产| 国产精品无码一区二区三区| 亚洲另类自拍丝袜第五页| 成年女人片免费视频播放A| 亚洲中文字幕高清av| 天堂中文最新版在线中文| 男女男在线精品网站免费观看| 看黄色亚洲看黄色亚洲| 中文字幕一区在线直播| 久久99精品国产麻豆不卡| 日韩在线观看你懂的| 午夜国产在线精彩自拍视频| 成人自慰女黄网站免费大全| 日日噜狠狠噜天天噜av| 在线亚洲AV成人无码一区小说| 亚洲精品一区二区三区在线观| 久久久免费精品re6| 亚洲人成网站77777在线观看 | 99热久久这里只精品国产www| 老熟女一区二区免费| 海外华人在线免费观看| 一本一本久久aa综合精品| 国产精品青草视频免费播放 | 一区二区久久不射av| 成人国产一区二区三区av| 制服丝袜中文字幕在线| 在线成人福利| 国产高清大片一级黄色| 成年性生交大片免费看| 风流少妇又紧又爽又丰满|