當前位置:
首頁 > 新聞 > 亞馬遜支持,懸賞10萬美金就為這一謎題!一旦破解,將影響以太坊、EOS 未來

亞馬遜支持,懸賞10萬美金就為這一謎題!一旦破解,將影響以太坊、EOS 未來

在區塊鏈行業,隨機數雖小,但一刻也不容忽視。

去年 EOS 菠菜類遊戲 Eosbet 就曾因隨機數攻擊損失了高達 18 萬個 EOS,EOSDice、FFgame、FairDice 等也深受其害。此外,以太坊在由工作量證明(PoW)轉向權益證明(PoS)過程中的安全性保障,也與隨機數問題息息相關,比如防止 PoS 驗證節點利用隨機數進行作惡等。事實上,以太坊 2.0 的安全性確實是業內人一直關注的話題。

以太坊為此做了巨大的努力。近日,以太坊基金會聯合 Interchain 基金會、協議實驗室(Protocol Labs)、Synopsys 等,在亞馬遜雲服務(AWS)的幫助下發起了一個求解 VDF(可驗證延遲函數) 的 FPGA 編程竟賽(詳見文末),賞金高達 10 萬美元(約合 70.64 萬人民幣),旨在解決隨機數「不隨機」的問題。謎題如下:

由給定的 1024-bit 輸入 x,儘可能快地計算出 VDF " h=x^(2^t) mod N "。

圖|參數 t、N 的取值,來源:AWS 官網)

VDF 是什麼?與區塊鏈有何關係?簡單來講,VDF 是一種抗並行計算的謎題函數,其中一個用處就是保證『很高安全性的隨機產生』,並且其他節點可以以很低的成本去驗證這個隨機數的正確性。儘管破解這一難題並非易事,不過一旦解決,必將會對以太坊乃至整個區塊鏈生態產生積極的影響。或多或少,這個謎題在一定程度上影響著以太坊 2.0 的未來

區塊鏈與隨機數

「隨機數,是專門的隨機試驗的結果。」這是百度百科對隨機數下的定義。但就是這個小小的隨機數,事實卻證明,它對區塊鏈的安全性至關重要,甚至可以直接決定一個項目的生死

(來源:Pixabay)

真正的隨機數只存在於物理世界中,比如擲骰子的結果。但從目前來看,區塊鏈世界沒有真正的隨機數。長期以來,密碼學家一直在研究生成一個真正的隨機數,但即使在一台單獨的計算機上也很難實現,區塊鏈網路中隨機數的生成則難上加難。隨機數是區塊鏈遊戲的靈魂,但很多區塊鏈遊戲因隨機數漏洞面臨著生死的危機。

很不幸,EOS 深受其害

去年,「隨機數」的概念一度因 EOS 遊戲類 DApp 屢屢被黑而火了起來。菠菜類遊戲 Eosbet、FFgame 和 EOSDice 就是三個實際的慘例。

2018 年 9 月 12 日,菠菜類遊戲 Eosbet 遭受隨機數攻擊,損失約 42000 個EOS。Eosbet 遊戲在開獎時使用了 EOS 中一個名為 ref_block_num 的隨機數因子,但在遊戲開獎時合約中還是讀取了老區塊中的值,因此導致隨機數被預知,進而被攻擊。

僅僅過了一個月,Eosbet 便再次遭受隨機數攻擊,損失高達近 14 萬個 EOS。儘管 Eosbet 開發者在修改了上一次的問題後引入了一個新的參數,將用戶餘額作為隨機數因子,但攻擊者卻利用這一點模擬了完全一樣的 DApp 代碼,然後不停修改餘額去嘗試解開開獎邏輯,直到碰撞出開獎結果,進而成功實施了攻擊。

(來源:Pixabay)

無獨有偶,2018 年 11 月 4 日,同為菠菜類遊戲的 EOSDice 也遭受隨機數攻擊,損失近 2500 個 EOS。攻擊者獲取正確的隨機數種子,通過偽隨機演算法計算出了遊戲結果,然後根據結果下注,保證了百分百的勝率。

一周後,攻擊者再次攻擊了 EOSDice,此次損失近 4900 個 EOS。攻擊者在知道偽隨機演算法和種子來源的情況下,通過改變種子的數值讓偽隨機演算法計算出自己下注的遊戲結果,從而保證了百分百的勝率。

如果選出一個史上最倒霉的 DApp,FFgame(一款 EOS 競猜類遊戲)無疑是一個很合適的選擇。2018 年 11 月 8 日,FFgame 遊戲在尚未正式運營時就遭受了隨機數攻擊,損失 1331 個 EOS。攻擊者通過部署攻擊合約並在合約中使用與 FFgame 相同的演算法計算隨機數,隨後立即在 inline_action 中使用隨機數攻擊合約,導致中獎結果被「預測」,從而達到了超高中獎率。

此類事件數不勝數,可以說隨機數的一小步,就是區塊鏈安全的一大步

隨機數與以太坊 2.0

不只 EOS 飽受隨機數問題的困擾,以太坊同樣也不例外。

如今以太坊正大步向前,邁向以太坊 2.0 階段,這其中一個必經的過程就是由 PoW 轉向 PoS,但 PoS 並沒有想像中的那樣安全,會存在驗證節點作惡的行為。因為在 PoS 系統中,網路上的任何節點都可以是驗證者,但只有一定數量的正式驗證者,同時這些驗證者是隨機選擇的一旦隨機,就存在作惡的可能。

以太坊 Go-Ethereum 核心開發者戎佳磊(Gary Rong)向 CoinDesk 中文表示:

「以太坊 2.0 提出了分片技術(Sharding)的概念,原先所有的交易都需要被整個網路的節點驗證,節點越多,網路就越安全。但在這種模式下,整個網路的節點所能夠處理交易的數量是固定的。Sharding 的理念是,讓網路節點的一個子集去驗證一個分片的交易。這樣隨著節點數目的增加,整個網路可以水平擴展。但這也就意味著原先一筆交易需要 N 個節點處理,現在是 N/L(L 是 shard 的數目)個,安全性是下降的。

此外,Gary 還表示,「為解決這個三難問題,其中一種思路就是讓 N 個節點隨機劃分到 L 個 shard(分片) 中。假設整個網路最基本的安全假設是網路中至少超過 1/2 節點是誠實節點,那麼一個 shard 中被隨機分配的節點數目超過一定數量,例如 P,那麼這個 shard 中惡意節點超過 1/2 的概率就會小於 1/2^(x)(可以根據概率論進行計算)。但其中最關鍵的一步就是要保證驗證者(validator)的隨機是「真正隨機」,而現在的很多隨機方法都易受控制(比如礦工)。」

也正是為了致力於解決這一作惡的問題,以太坊基金會才聯合了 Interchain 基金會、協議實驗室(Protocol Labs)、Synopsys 等,在亞馬遜雲服務(AWS)的幫助下,發起的求解 VDF 的 FPGA 編程比賽,目的就是想解決這一問題

(來源:Pixabay)

VDF 的計算很大程度上是串列的,所以給定一個函數,求解函數的值需要至少經過一定的時間。

對此,區塊鏈資深開發者鄭旗表示,「這種函數用於區塊鏈技術中,有很多好處,主要是提升區塊鏈的安全性,比如用於隨機數的生成,攻擊者知道隨機數的結果必須經過很長時間,想要再回去作惡修改隨機數輸入的可能性很低,這就保證了區塊鏈中隨機數生成的安全性。」

針對 VDF 對以太坊的影響,Gary 表示,「VDF 其中一個用處就是保證『很高安全性的隨機產生』,並且其他節點可以以很低的成本去驗證這個隨機數的正確性。有了 VDF,以太坊的驗證者就會以『高安全性的隨機方式』被分配到 shard 上,也就一定程度上實現了『shard 之間共享網路安全』的目標,降低了驗證者作惡的可能性。

此外,Gary 還談到了本次 FPGA 編程比賽設置的初衷,「VDF 期望把計算目標跟計算時間 T 較為嚴格地綁定在一起,所以現在大家想要找到一個數學模型,找到一個能夠符合上述要求的計算公式。目前較為認可的方案是基於階數未知的阿貝爾群(Abelian Group),這是高階數學的東西,"h = x ^(2 ^ t)mod N" 只是其中一個 VDF 的候選公式。所以這次 FPGA 編程比賽的目的是希望有人能夠最大程度地去做優化。」

將對區塊鏈生態產生積極影響

「一旦這一難題得以解決,必將對以太坊、EOS 等公鏈生態產生積極的影響。可以從兩方面來解釋:從基礎鏈方面講,可以提速、降低能耗、增加安全性;從 DAPP 方面講,目前不論是以太坊還是 EOS 都沒有真正的隨機數(EOS 上的菠菜類遊戲深受其害就是實證),VDF 可以較好、較安全地解決此類問題。」志頂科技技術總監吳忠信說。

CyberMiles 首席科學家 Michael Yuan 對此表示了認可,「VDF 演算法使得用『假隨機數發生器』也能產生安全的隨機數,而且是用去中心化的方法,不需要超級節點,未來會賦能更多新的應用。比如菠菜類遊戲,必須有安全的隨機數。現在菠菜類遊戲,尤其是 EOS 區塊鏈上的菠菜類遊戲經常受攻擊,就是隨機數可以被猜中。以太坊 2.0 的分片與各種獎勵機制,也是要求做惡的人不能很簡單地猜出隨機數。」

區塊鏈資深開發者鄭旗認為,「此次以太坊基金會等組織懸賞重金面向全社會徵集 VDF 函數的最快 FPGA 解決方案,其實是想從側面證明 VDF 函數的安全性。理論上 VDF 函數求解由於其對並行計算的抵抗,所以它計算結果和時間因素是有關係的。通過設計 FPGA,求解該謎題的最快解,理論上找不到低於預設時間數量級的解。這場比賽的最終結果可以佐證 VDF 函數的安全性。因此,將這樣一個安全的技術應用於區塊鏈技術,就可以解決區塊鏈中的隨機數生成攻擊、Nothing-at-stake 攻擊等問題,會對區塊鏈的發展會產生非常深遠的影響。」

但這種數學問題都很難,因為連有沒有解都不知道。」Michael Yuan 補充道。

這個謎題,由你破解!

既然這個 VDF 謎題對區塊鏈行業如此重要,那熱愛區塊鏈的你又如何參與呢?

據官方網站介紹,本次 FPGA 編程競賽周期歷時 5 個月,共分為兩輪

第一輪時間為 2019 年 8 月 1 日 - 2019 年 9 月 30 日,第一輪獲勝者(計算結果具有最低延遲的參賽者)將根據基於基線(初始設定為 50 ns)的改進效果獲得賞金(3000 美元/ns)。

第二輪時間為 2019 年 10 月 15 日 - 2019 年 12 月 30 日,第二輪的起始基線將根據第一輪的結果設定。詳細時間線如下圖:

圖|FPGA 編程競賽時間線,來源:FPGA 官網)

報名鏈接及更多細節,請參考 FPGA 編程競賽官方網站:

https://supranational.atlassian.net/wiki/spaces/VA/pages/36569208/FPGA Competition

只要你熱愛區塊鏈技術,只要你想挑戰自己的極限,只要你想為區塊鏈生態加一把暖火,無論你是誰,都可以積极參与。希望通過我們的共同努力,讓區塊鏈生態變得越來越繁榮!

本文版權屬於 CoinDesk 中文

未經授權禁止轉載

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 DeepTech深科技 的精彩文章:

50 家聰明的公司集結,打造一場別開生面的年中盛典
英特爾開發出神經擬態系統,模擬800萬個神經元,處理速度提升1000倍

TAG:DeepTech深科技 |