來源:頭等倉
摘要:我們發現了一種針對類似比特幣區塊鏈的拒絕服務攻擊,這種攻擊模式比之前的攻擊模式成本要低得多。區塊鏈依賴于激勵機制來保證系統安全。我們展示了攻擊者如何破壞這些激勵機制,從而導致理性的挖礦者停止挖礦。
自互聯網誕生以來,拒絕服務攻擊問題就一直在困擾著互聯網。DoS攻擊者以各種服務為目標,旨在獲取樂趣和利潤。最常見的是,他們會向服務器發送大量的請求,導致服務器太忙,以至于無法為正常用戶提供服務。應對措施通常是通過識別洪水來源來防止這類攻擊。
因此,在所謂的分布式拒絕服務攻擊中,攻擊者必須協調來自多臺計算機的洪泛。
頭等倉注:DDoS寬帶消耗攻擊可以分為兩個不同的層次;洪泛攻擊或放大攻擊。洪泛攻擊的特點是利用僵尸程序發送大量流量至受損的受害者系統,目的在于堵塞其寬帶。放大攻擊與其類似,是通過惡意放大流量限制受害者系統的寬帶;其特點是利用僵尸程序通過偽造的源IP(即攻擊目標IP)向某些存在漏洞的服務器發送請求,服務器在處理請求后向偽造的源IP發送應答,由于這些服務的特殊性導致應答包比請求包更長,因此使用少量的寬帶就能使服務器發送大量的應答到目標主機上。
有趣的事實:分布式源通常是用戶的受害機器形成了機器人網絡或僵尸網絡。
薩爾瓦多比特幣法引起公民抗議,約77%的人口拒絕接受比特幣法:7月22日消息,昨日,薩爾瓦多一群由左派工會、學生協會和其他組織組成的群眾聚集在立法議會,抗議該國采用比特幣作為其國家貨幣。該團體由 \"抵抗和民眾反叛街區 \"組織,使用橫幅和口號要求撤銷所謂的比特幣法。其中,活動人員Idalia Zu?iga說:“這是一部產生法律不安全感的法律,它可能被用來欺騙用戶,也為洗錢和資產清洗提供便利。”另一位抗議者表達了她對比特幣價格波動的擔憂。她說:“對于那些賺取最低工資的人來說,在某一時刻你可能有300美元的比特幣,而第二天這300美元就可能變成50美元。”雖然比特幣法已經被批準,但規定了90天的生效期,這意味著薩爾瓦多人將有義務在9月接受比特幣。但目前為止,大多數人還沒有準備好。最近的一項調查顯示,該國約有77%的人口拒絕接受比特幣法,而且該國的大多數匯款人和商人更愿意處理美元而不是比特幣。(Decrypt)[2021/7/22 1:08:58]
像比特幣這樣的加密貨幣,則是DoS攻擊一個特別有利可圖的目標。理論上,期貨市場和保證金交易允許攻擊者做空一種加密貨幣,通過壓低該貨幣的價格來獲取利潤。而競爭激烈的加密貨幣,以及擔心加密貨幣影響金融主權的政府,則是其他潛在的攻擊者。據我們所知,在實際操作中,還沒有過對重要加密貨幣的成功DoS攻擊。
原因是區塊鏈協議的去中心化性質。在區塊鏈的世界中,并沒有可攻擊的中心服務器。運行區塊鏈的機器被稱為礦機,它們會完全復制區塊鏈數據。雖然發生過對個別機器的攻擊,但幾臺機器的完全關閉,對整個系統的可用性幾乎沒有影響。
Reddit聯合創始人拒絕證實其平臺整合加密貨幣的傳聞:最近傳言稱Reddit正考慮將加密貨幣整合到其平臺中,但其聯合創始人Alexis Ohanian在4月21日接受采訪時不愿證實這一點。“很遺憾,我不得不對此保持沉默。我一直認為Reddit的長期價值不會來自傳統廣告。”不過,他談到自己對Reddit子社區內促進經濟發展的前景感到興奮,Reddit已經盡最大努力為真正具有社區意識和歸屬感的用戶搭建了一個平臺。
他對Kevin Costner參演的作品充滿信心,“如果你能從數字商品和游戲中吸取最好的教訓,并為此提供無縫的數字交易,這將會發生——這將會發生很多,”他指的是用戶生成的數字商務的有機增長。他看到在目前新冠肺炎疫情導致封鎖、UGC流量蓬勃發展環境下的機會,“現在是像Reddit這樣的公司加倍增加收入來源的時候了,這些收入流建立在社區動態的基礎上。”
據此前報道,Reddit區塊鏈積分系統細節曝光,在以太坊上運行,積分總量2.5億、可兌換會員福利。Reddit向Decrypt證實,確實在開發這樣的系統,但目前只考慮在一個社區上使用。(CryptoGlobe)[2020/4/25]
更有趣的事實:比特幣的P2P網絡是為了抵御攻擊而構建的,它吸取了僵尸網絡的教訓。
實際上,針對比特幣這類區塊鏈的DoS攻擊是非常昂貴的。中本聰提出的比特幣協議依靠工作量證明機制來保證系統的安全性,礦工只能證明他們在系統外花費了資源來創建區塊。僅當系統中的大部分計算能力運行正常時,才能維護區塊鏈的安全。因此,攻擊者要進行DoS攻擊,其擁有的計算能力就要比其他參與者的總和都要高,即51%攻擊。對于主要的加密貨幣來說,51%攻擊的代價對于大多數實體而言都是難以承擔的。
聲音 | 紐約州金融服務部官員:Bittrex有關BitLicense被拒絕的陳述不真實:據coindesk報道,紐約州金融服務部(NYDFS)銀行業務的執行副主管Shirin Emami發文闡述了該機構拒絕Bittrex交易所BitLicense申請的原因。首先,Bittrex聲稱DFS沒有為其提供指導,并且該公司的申請已在DFS放置多年。Emami表示,這些陳述是不真實的。該公司與DFS進行了多輪互動,而該交易所要么在承諾合規后無法提供合規,要么試圖說服DFS該交易所情況不同,不必遵守要求。此外,Bittrex的客戶身份數據不完整或有所缺失。[2019/4/19]
這類攻擊在2018年底BitcoinABC和BitcoinSV之間的“哈希戰爭”中有過嘗試,但沒有成功。
BDoS的提出
我們發現,中本聰協議的固有特性,會使其容易受到明顯更便宜的DoS攻擊,我們利用了區塊鏈協議依賴于安全性激勵的這一事實。在區塊鏈中,參與者因參與加密貨幣挖礦而獲得獎勵。當這些激勵措施不再能夠促進良好行為時,該系統就會處于危險之中。我們將這種攻擊稱為區塊鏈DoS,它剝奪了礦工的理性,使得他們違反規則要比遵循規則更有利可圖。
為了充分發揮效力,攻擊者需要礦工了解這種攻擊行為,以及讓他們意識到可以通過此攻擊行為增加利潤的事實。顯然,這種策略行為并沒有在挖礦軟件中預先編程。因此,我們認為,這種攻擊并不會帶來迫在眉睫的風險,因為礦工們在面對攻擊時,必須重新編程挖礦設備,以最大化其利潤。
動態 | Linzhi拒絕執行禁止ASIC挖礦的以太坊新算法:據bitcoinexchangeguide報道,以太坊礦機公司Linzhi對禁止ASIC礦機挖掘ETH的算法ProgPoW表示震驚。該公司表示拒絕武斷的執行規則,并要求為所有硬件制造商制定明確和平等的指導方針,呼吁以太坊開發者發布有關ProgPoW ASIC制造商的規則和要求。Linzhi運營總監Wolfgang Spraul表示,這些規則可能包括對硬件公司更多的透明度或月度審計。據悉,Linzhi目前正在研究以太坊挖掘算法的新芯片,該算法有望改善以太坊其他ASIC設計的性能。[2019/1/10]
這種攻擊的存在,也許并不令人驚訝,它確實是BryanFord和RainerB?hme所提出理論的一種表現,他們認為,從理性主體的角度分析系統效用是有限的,因為外在激勵是無法與拜占庭行為進行區分的。
下面我們將概述這種BDoS攻擊的機制。首先,讓我們先從中本聰背景開始講起。
背景
絕大多數加密貨幣都在使用中本聰為比特幣提出的區塊鏈協議。在中本聰區塊鏈中,系統中的所有交易都被放在區塊中,并形成一個不斷增長的鏈。礦工們通過新交易組成的新區塊來擴展這條鏈,并將其發布給所有其他系統參與者。區塊生產的速度,是通過要求礦工們在區塊中提供工作量證明來調節的。為了激勵礦工們的工作,生產區塊將獲得一些固定的獎勵。如果礦工規模不是太大,那么他們就會被激勵來延長區塊鏈,并獲得相應的獎勵。
印度因央行反對拒絕接受石油幣:印度政府正式拒絕了委內瑞拉的石油幣,盡管委內瑞拉試圖以30%的折扣吸引印度。印度外交部長Sushma Swaraj解釋說:“因為印度儲備銀行禁止石油幣,我們不能用石油幣進行任何交易。”[2018/6/1]
由于礦工遍布全球,因此偶爾會有兩個或多個礦工同時生產區塊,而這些區塊有相同的父塊,這導致的結果就是分叉,也就是鏈出現了多個分支。而要確定哪條鏈是主鏈,中本聰提出的規則是:最長鏈就是主鏈,所有礦工都應該延長這個最長鏈,而與主鏈分離的區塊以及它們的回報都會被忽略。
為了避免失去獎勵,礦工在接收并驗證最新區塊之前就開始采礦。一旦在最新區塊的header中接收到它的元數據,礦工們就開始對它進行挖礦。這樣就能避免了在舊區塊上浪費挖礦資源,增加了挖取下一個區塊的機會。通常,這不是好的做法,并引起了很多安全研究者的擔憂。在輕量級客戶端使用簡化支付驗證協議進行部分區塊鏈驗證之后,這種基于區塊頭的挖礦方法便被應用了,并被稱為SPV挖礦。
攻擊
我們提出的攻擊者會使系統處于一種狀態,在這種狀態下,理性礦工的最佳行動就是停止挖礦。
為了誘發這種狀態和相應的證明,攻擊者生成一個區塊,并只發布其區塊頭。而給定一個區塊頭,一個理性的礦工有三種可能的行動:其可以延長主鏈,然后忽略區塊頭;其可以擴展這個區塊頭;
其可以停止挖礦,既不消耗算力,也不贏得獎勵;
如果理性礦工遵循選項1并擴展主鏈,找到并廣播了新的區塊,那么攻擊者礦工將使用其相對較高的連接性并傳播與區塊頭BA相對應的完整區塊。這會導致兩組礦工之間的競爭,其中一組先接收到攻擊者的區塊數據,另一組則先接收到理性礦工的區塊。
理性礦工很有可能會輸掉比賽,而區塊Bi永遠不會被包含在主鏈當中。與“無攻擊”情況相比,這降低了在最后一個完整區塊進行挖掘的預期收益。
如果理性礦工遵循選項2,并成功地擴展了攻擊者的區塊頭BA,則攻擊者就不會發布完整的區塊BA。這導致理性礦工的區塊永遠不會包含在主鏈當中,從而導致該區塊的預期回報為零。
因此,在這兩種情況下,如果“無攻擊”設置中的原始盈利能力不是太高,則攻擊者都可以確保誠實的礦工最終會蒙受損失。因此,BDoS攻擊者的威脅,意味著誠實礦工最好是放棄,而不是選擇挖礦,即選擇第三個方案。正如電影《戰爭游戲》中所說的那樣,“唯一能贏的途徑,就是不參與。”
BDoS攻擊成功的條件
現在我們來說下BDoS攻擊者成功的條件是什么。具體來說,對于特定的理性礦工i,我們要考慮在什么條件下,無論其他參與者的行為如何,i停止挖礦要比繼續挖礦更有利可圖。答案取決于三個因素:首先,如果攻擊者的算力足夠多,那么攻擊將成功;其次,如果礦工i的算力足夠少,那么他將成功;最后,如果礦工i一開始利潤不高,那么他將成功;
礦工i的盈利因素是,如果沒有發生攻擊,其在挖礦中的每1美元投資都將獲得回報。下面的圖片顯示,對于不同攻擊者大小和礦工大小成功進行攻擊的最大收益率。
在我們的分析中,我們使用了一個稱為收益因子的屬性,它代表每美元投資的回報。這取決于挖礦設備以及電力成本,以及相關加密貨幣的價格。
舉個具體的例子,如果最大礦工擁有的算力占全網算力的20%,那么一個擁有全網20%算力的攻擊者,就可以激勵所有的礦工在其盈利系數低于1.37時停止挖礦。
目前,對于比特幣而言,在電價為0.05美元/kWh的情況下,比特大陸S17Pro礦機的收益因子接近2,而S9的收益因子接近1。如果幣價大幅下降,難度增加,攻擊者將能夠激勵現有的礦工停止挖礦,從而導致比特幣網絡完全停止運行。此外,比特幣區塊獎勵預計將在2020年減半,這相應會降低礦工的盈利能力。
兩種幣模型
請注意,我們的模型是保守的,在某種意義上低估了攻擊者的機會。到目前為止,我們假設一個礦工在利潤為0的情況下可以繼續挖礦或停止挖礦。但是,加密貨幣礦工通常會將挖礦工作轉移到第二種加密貨幣上,甚至是暫時性的。如果兩種幣的初始盈利能力是相似的,那么在攻擊發生時,切換到另一種幣上,幾乎就是能盈利的。這意味著在這種情況下,我們稱之為兩種幣模型的攻擊威脅,甚至要比我們上面分析所顯示的還要高。事實上,兩種幣模型更符合現實場景。例如,有證據表明,礦工們經常會根據盈利率在BTC和BCH之間進行切換。
緩解措施以及披露責任
我們沒有租用挖礦設備來進行攻擊,也沒有做空比特幣然后跑去躲避,而是遵循安全研究的最佳做法,并經歷了一段負責任的披露期。我們向受影響的主要加密貨幣的開發人員發出了攻擊警報,并討論了緩解措施。
我們建議對共識規則進行小小的修改,這樣礦工們就可以對區塊header在body在之前某個閾值時間以上的區塊給予較低的優先級。這將增加攻擊者輸掉區塊傳播競賽的機會,因此可降低BDoS攻擊的有效性。不幸的是,這一對策并不是根本性的。正如我們在論文中所解釋的,攻擊者可以使用智能合約或零知識證明來證明其找到了一個區塊。使用這些技術,就會使得區塊傳播競賽中的攻擊者區塊與理性礦工區塊之間無法被區分,從而使緩解技術無效。
BDoS攻擊的另一個可能解決方案,是使用叔塊獎勵機制,正如以太坊采用的方案。叔塊獎勵機制將獎勵挖到非主鏈區塊的礦工。如果使用了叔塊獎勵機制,理性的礦工在BDoS攻擊中停止挖礦的的機會要低得多,因為即使其輸掉了比賽,它也會得到獎勵。不過,這是一個折衷方案,因為叔塊會降低抵御自私挖礦攻擊的安全性。此外,另一種類似BDoS的攻擊可能會比區塊頭鏈更長,從而再次造成嚴重的競爭損失。
結論
BDoS對中本聰共識區塊鏈而言是一種威脅,因為它允許攻擊者使用遠低于之前攻擊的算力執行拒絕服務攻擊。我們已經展示了攻擊者如何扭曲激勵機制,并引導追求利潤的礦工停止挖礦活動。我們提出的緩解措施很容易實施,但僅會影響BDoS攻擊的特定類型。如果沒有更有力的緩解措施,中本聰共識區塊鏈的活躍性,就取決于礦工在收入損失的情況下是否愿意遵守協議,也就是要有利他主義。
文:互鏈脈搏·金走車 來源:互鏈脈搏 未經授權,不得轉載! 時代的變遷由個體記錄,行業的變動往往也可以透過企業的發展來察知.
1900/1/1 0:00:00據Trustnodes1月10日報道,比特幣的算力再次破新高,首次升至120EH/s,較2019年2月的40EH/s上升了三倍.
1900/1/1 0:00:002020年1月2日凌晨5點,比特幣在區塊鏈高度為610848處完成最新的挖礦難度調整,最新難度上調至13.80T,較14天前,即12月20日高出6.57%,創十年來新高.
1900/1/1 0:00:00來源:證券時報網 1月9日,螞蟻金服旗下螞蟻區塊鏈與前海聯合交易中心在深圳共同啟動區塊鏈倉單聯盟建設.
1900/1/1 0:00:00原創:孫副社長 來源:白話區塊鏈 新年伊始,轉眼間又到了各行各業回顧過去展望未來的時刻。作為一個受到各方高度關注的年度關鍵詞,區塊鏈自然也是各行各業難以回避的一個話題.
1900/1/1 0:00:00原文摘選自《2020年加密貨幣論文》,來源Messari,作者RyanSelkis,翻譯由頭等倉提供.
1900/1/1 0:00:00