999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2019-05-17 02:45:00袁超
現(xiàn)代計算機 2019年9期
關(guān)鍵詞:用戶設(shè)計

袁超

(四川大學電子信息學院,成都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ā)起的交易,攻擊者可以復制到另一條鏈上重新廣播,也會得到確認。這就是區(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)。可以看出粉塵攻擊造成的影響是合法的用戶提出的交易在攻擊期間將支出更高的采礦費,此外還會導致整個區(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%時判斷為恢復到正常區(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è)計防御效果更有效。

猜你喜歡
用戶設(shè)計
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 国产高清毛片| 不卡无码h在线观看| 2021国产v亚洲v天堂无码| 久久夜色精品国产嚕嚕亚洲av| 国产偷国产偷在线高清| 亚洲成a人片7777| 国产毛片片精品天天看视频| 国产不卡国语在线| 正在播放久久| 丁香六月激情综合| 青青草欧美| 欧美视频免费一区二区三区| 国产精品尹人在线观看| 制服丝袜在线视频香蕉| 国产精品露脸视频| 香蕉伊思人视频| 人妻精品久久无码区| 毛片视频网| 亚洲精品成人片在线观看| 中文天堂在线视频| 天天综合网站| 在线观看国产黄色| 在线另类稀缺国产呦| 自慰网址在线观看| 欧美 国产 人人视频| 久久精品亚洲专区| 日本国产精品一区久久久| 欧美日本激情| 国产成人av一区二区三区| 91香蕉视频下载网站| 久久精品人人做人人| 99久视频| 亚洲高清无在码在线无弹窗| 国产尤物在线播放| av在线5g无码天天| 国产精选小视频在线观看| 暴力调教一区二区三区| 97se亚洲综合在线韩国专区福利| 国产视频一二三区| 亚洲无码91视频| 手机在线免费毛片| 国产成人亚洲毛片| 欧美日韩精品在线播放| 亚洲中文无码h在线观看| 久久精品aⅴ无码中文字幕| 亚洲va在线∨a天堂va欧美va| 国产免费福利网站| 亚洲成在线观看| 最新午夜男女福利片视频| 欧美日韩成人| 色老二精品视频在线观看| 看国产毛片| 国产精品综合色区在线观看| 国产精品久久久免费视频| 成人亚洲国产| 国产精品yjizz视频网一二区| 成人免费一区二区三区| 在线观看亚洲人成网站| 亚洲视频影院| 亚洲有码在线播放| 国产精品不卡片视频免费观看| 天天色综合4| 精品综合久久久久久97超人该 | 国产一级毛片yw| 国产极品嫩模在线观看91| 色偷偷一区| 国产在线98福利播放视频免费| 欧美日本一区二区三区免费| 国产一级毛片网站| 亚洲熟妇AV日韩熟妇在线| 久久综合激情网| 性欧美在线| 亚洲区欧美区| 91精品人妻一区二区| 亚洲国产黄色| 九色综合伊人久久富二代| 亚洲日韩高清无码| 欧美成人aⅴ| 一本视频精品中文字幕| 无码又爽又刺激的高潮视频| 中文字幕中文字字幕码一二区| 国产熟女一级毛片|