9 月 14 日,一款名為“EOSPlay”的 DApp 游戲遭遇了新型隨機數攻擊,一共損失了數萬個 EOS。
或許很多人對「隨機數攻擊」這個詞已經司空見慣了,因為在 DApp 遭遇黑客攻擊的事件中,隨機數攻擊占了很大一部分,很多 DApp 的隨機數被黑客破解了。
你或許會問,隨機數不是隨機的嗎?隨機意味著不可預測,為什么還會被黑客破解呢?
這還得從隨機數說起。
隨機數可以分為真隨機數和偽隨機數。真隨機數需要同時滿足隨機性、不可預測性、不可重現性,而偽隨機數只需要滿足隨機性,或者是隨機性和不可預測性即可。
BlockSec:已確認EraLend遭到只讀重入攻擊,總損失為340萬美元:7月25日消息,BlockSec 表示,其正在協助 EraLend 解決攻擊調查問題,并已確定根本原因,即只讀重入攻擊,總損失為 340 萬美元。[2023/7/25 15:57:59]
真隨機數只存在于物理世界中,一般需要通過物理手段(包括量子過程)獲得,比如我們日常見到的拋硬幣、擲骰子,生成的隨機數就是真隨機數。但是,拋硬幣、擲骰子這種隨機數生成方法的缺點非常明顯,那就是耗時、耗力,而且也無法滿足現代的計算機世界對隨機數的需求。
因為效率的緣故,現代的計算機軟件主要依賴偽隨機數。最早的偽隨機數生成器由 20 世紀最重要的數學家之一馮·諾依曼創造,通過一個確定的隨機數種子,由確定的算法生成偽隨機數序列。現在的主流計算機編程語言,默認的是將 1997 年發明的梅森旋轉算法作為生成偽隨機數的方法。
Axie Infinity通過Google Play商店的審核:金色財經報道,官方消息,鏈游Axie Infinity通過了Google Play商店的審核。
Axie Infinity表示,計劃首先在馬來西亞Play商店試運行Origins,讓團隊有機會繼續測試和改進游戲。此外,該應用的早期Play商店版本功能有限。例如,根據當前的Play商店政策,玩家將無法獲得代幣。[2022/12/22 22:01:10]
偽隨機數最大的缺陷是,只要種子不變,生成的偽隨機數序列也不會變。換句話說,只要你能拿到種子,你就可以破解隨機數。
計算機生成偽隨機數的過程,或多或少與這臺計算機的物理狀態或運算狀態有關。也就是說,同一套隨機數算法,不同的計算機,或是同一臺計算機在不同的時刻,生成的隨機數是不一樣的。
401(k)提供商ForUsAll因加密貨幣處理指導意見起訴美國勞工部:金色財經消息,因美國勞工部在退休計劃中對加密貨幣的處理指導意見,提供加密貨幣投資機會的401(k)提供商ForUsAll向其提起訴訟。ForUsAll認為美國勞工部的指導意見過于激進。該機構在發布指導意見之前,應該參與其常規的規則制定過程,包括征求公眾意見。此前美國勞工部對富達允許通過401(k)直接投資加密資產的做法表示擔憂,并援引加密資產有欺詐、盜竊和損失重大風險的觀點,還指出加密資產有高波動性、投機性以及不斷發展的監管環境等問題。據悉,早在2021年,ForUsAll宣布允許員工將部分401K退休資金(不超過5%)用于投資比特幣、以太坊等加密貨幣。(華爾街日報)[2022/6/3 3:59:32]
然而,這種傳統的計算機偽隨機數生成方法雖然足夠安全,卻并不適用于區塊鏈。區塊鏈是一個分布式的系統,同一個 DApp 在不同的節點上運行,采用的隨機數必須要一致,這樣才能讓各個節點進行驗證。所以,DApp 的隨機數來源,不能是運行這個 DApp 的計算機自動生成的,因為這樣的話,不同的節點計算機運行的結果就不一樣了。
P2E射擊類游戲Cantina Royale完成450萬美元融資,Animoca Brands等參投:金色財經報道,P2E射擊類游戲Cantina Royale宣布完成了一筆450萬美元融資,Elrond 和 Mechanism Capital 領投,Crypto.com、Morningstar Ventures、Animoca Brands、Skynet EGLD Capital、GBV Capital、Good Games Guild、Chingari 等參投。這款游戲采用“元宇宙模式”,具有自主角色建模功能并與第三方 NFT 集合兼容,Cantina Royale 通過使用 Verko 支付/錢包管理系統來確保與 Apple 和 Google 應用商店政策兼容,允許用戶直接通過 Apple 和 Google 應用內購買購買 NFT,無需將其托管在自己的設備上。(cryptobriefing)[2022/5/27 3:45:04]
那么,區塊鏈上的 DApp 隨機數從哪里來呢?主要有以下三種方法:
第一種方法是通過可信第三方提供隨機數。比如說專門提供隨機數的網站 random.org,我們可以通過獨立于區塊鏈之外的 Oraclize 預言機為以太坊區塊鏈上的 DApp 獲取隨機數。當然,這種依賴可信第三方的方法有違區塊鏈去中心化的精神。
第二種方法是不同的參與者一起合作生成隨機數。比如以太坊區塊鏈上的 RANDAO,任何人都可以提交一個數字,RANDAO 將所有提交的數字集合作為種子,生成隨機數,其他 DApp 可以付費調取 RANDAO 生成的隨機數,這些費用會獎勵給那些提交了數字的用戶。因為以太坊的去中心化,你不知道別人提交了什么數字,所以要破解 RANDAO 的隨機數種子難度很大。
第三種方法是采集區塊鏈上的信息作為種子。這也是目前大部分 DApp 所采用的隨機數生成方法,缺陷是隨機數的種子“幾乎是”透明的。以本文開頭提到的 EOSPlay 為例子,這款游戲的隨機數采用的是未來某個區塊的 ID(哈希值)作為隨機數的種子。
那么,黑客是如何實現攻擊的呢?根據區塊鏈安全公司慢霧科技的分析,可能使用了以下的方法:
1、黑客為自己和項目方租用了大量的 CPU;2、黑客發起大量的延遲交易;3、由于以上兩點原因,導致 CPU 價格被拉高,從而導致其它用戶 CPU 不足;4、因為 CPU 不足的原因,其他用戶難以發送交易,黑客得以使用自己的交易占滿區塊;5、根據提前構造的交易內容,黑客可以成功預測出區塊哈希。
也就是說,雖然哈希算法不可逆,但是黑客可以通過控制輸入實現輸出的控制:控制區塊內的交易內容,從而控制區塊信息,進而控制區塊哈希值,最終達到預測開獎結果的目的。
最后,我們總結一下:
隨機數可以分為真隨機數和偽隨機數,真隨機數只存在于物理世界中,一般需要通過物理手段獲取。為了效率,計算機主要采用偽隨機數,然而由于區塊鏈的分布式特性,足夠安全的傳統計算機偽隨機數生成方法并不適用。大部分 DApp 采用的是收集區塊鏈上的信息作為偽隨機數的種子,而要想設計足夠安全的偽隨機數,難度非常大,這就是為什么很多 DApp 經常遭受隨機數攻擊的原因。
在搞清楚比特幣和區塊鏈的關系之后,父母倒是不追問了,我自己開始納悶,繼比特幣之后,為什么又會出現別的幣呢?經常會聽說山寨幣、分叉幣、空投幣和平臺幣等等.
1900/1/1 0:00:00主講人:資深文化產業投資人,千程投資CEO,數字中國創新大賽已開啟5個賽道 區塊鏈賽道即將上線:2020數字中國創新大賽自2019年11月26日在福州啟動以來.
1900/1/1 0:00:00物理工作證明 (Proof of Physical Work,即PoPW)是一種新穎的代幣分配機制,獎勵參與者在現實世界中完成可驗證的物理性工作.
1900/1/1 0:00:00區塊鏈技術,加密貨幣和代幣銷售現在風靡一時。 在過去5年多的時間里,我一直在風險投資行業工作,這是在任何技術領域都沒見過的,以最快的速度成長起來的新公司(或項目).
1900/1/1 0:00:00隨著網絡視頻《回村三天,二舅治好了我的精神內耗》的爆火,一種名為二舅幣(即second uncle coin)的虛擬貨幣也悄然登上歷史的舞臺,近日更是傳出“二舅幣”發行3天內圈錢約130萬美元.
1900/1/1 0:00:00NFT英文全稱為Non-Fungible Token,翻譯成中文就是:非同質化代幣,具有不可分割、不可替代、獨一無二等特點。在區塊鏈上,數字加密貨幣分為原生幣和代幣兩大類.
1900/1/1 0:00:00