人民創投:當談到區塊鏈安全,我們一般會談論什麼?
作者 | 黃玲麗
宇宙就是一座黑暗森林,每個文明都是帶槍的獵人,像幽靈般潛行於林間,輕輕撥開擋路的樹枝,竭力不讓腳步發出一點兒聲音,連呼吸都必須小心翼翼,他必須小心,因為林中到處都有與他一樣潛行的獵人,如果他發現了別的生命,能做的只有一件事,開槍消滅之。
——《三體》
當我們談論“區塊鏈安全”的時候,我們到底在談論什麼?
去中心化、不可篡改,這些堂而皇之的名詞從每一個人的嘴中蹦出來,彷彿區塊鏈的安全性是不證自明的真理;自詡學識淵博者還會搬出“茴”字的四種寫法,從SHA到ECC,聽者無不歎服。區塊鏈彷彿從誕生的一刻起就被視為固若金湯的良藥。然而現實是殘酷的,無論是比特幣還是以太坊,黑客的身影無處不在,數字貨幣被盜的新聞屢見報端。

區塊鏈系統的安全性並不單取決於區塊鏈演算法本身,從程式碼實現到合約邏輯,再到配套設施,當區塊鏈技術從白皮書中走出來,落地生根成為現實中的技術時,要面臨的問題就多得多。而根據木桶理論,一隻木桶能盛多少水,並不取決於最長的那塊木板,而是取決於最短的那塊木板。
密碼!密碼!
在區塊鏈的世界裡,每一個人的身份都不過是一段數字,密碼學上稱之為金鑰,一旦有人獲取了你的金鑰,他就可以冒充你的身份從事任何事情,包括花光你的每一分錢。
金鑰的安全性如何呢?以ECDSA演算法為例,每一個金鑰由256位01組成,要是隨機猜測的話,猜對的概率只有1/115792089237316266660066408626602828282606886466848266086008062602462446642046。
根據估算,地球大約由1050個原子組成,而整個宇宙不過由1080個原子組成而已,猜中金鑰的概率和猜測宇宙中的一個原子的概率相差無幾。
不過在區塊鏈中,僅僅有金鑰是不夠的,為了能夠實現賬戶之間相互轉賬,還需要根據金鑰生成公鑰和錢包地址,上面所說的ECDSA就是從金鑰生成公鑰的演算法。公鑰,顧名思義,在向外轉賬時會被公開,那從公鑰推理出私鑰又有多難呢?

如果演算法的實現不出紕漏的話,即便是最有效的攻擊方法,其難度依然是指數級的。
但是,這並不意味著我們可以高枕無憂了。2014年底爆發了一批網路錢包失竊案件,究其原因,就是在隨機數生成器的實現沒有真正“隨機”。如今,量子計算機的崛起帶來了新的挑戰,如果數千位元位量子計算機一旦問世,包括ECC在內的諸多演算法都可能淪為虛設。
51%攻擊
丘吉爾說,民主並不是什麼好東西,但它是我們迄今為止所能找到的最好的。
區塊鏈的世界裡也是如此,誰掌握了51%的話語權,誰就可以肆意更改自己的交易記錄,發動“雙花”攻擊。不同的共識機制對於話語權的定義有所不同,在PoW中為算力,而在PoS中則是持有Token的數量。
51%攻擊絕不是天方夜譚。以比特幣為例,隨著金錢的腥味吸引了無數科技廠家入場,挖礦變成了職業玩家的戰場,排名前三的礦場壟斷了全網接近半的算力。在Crypto51的網站上,我們可以找到對各種數字貨幣發起51%攻擊所需要的成本,對價值3.5億美元的Bytecoin發動一個小時算力攻擊,成本僅需要257美元,這些數字並沒有想象中的遙不可及。

來源: ofollow,noindex" target="_blank">https://www.crypto51.app ,截圖時間:2018/9/12 9:08
阻止51%攻擊的最後一道防線,便是攻擊成功很可能導致數字貨幣的價值歸零,從長遠角度看攻擊者反而會蒙受巨大的損失。可是,Verge再三受到攻擊,位元黃金也難以倖免,頻頻發生的51%攻擊面前,最後一道防線顯得疲弱無力。
智慧合約
智慧合約的出現使得區塊鏈有了無窮無盡的可能性,卻也帶來了數不勝數的漏洞,以至於萊特幣創始人李啟威斥責以太坊為“黑客的天堂”,正所謂“成也蕭何,敗也蕭何”。
根據 BCSEC 的統計資料,2018 年上半年區塊鏈行業因智慧合約漏洞而引發的經濟損失高達11.6 億美元,佔區塊鏈安全問題的 54.66%,成為區塊鏈安全的頭號重災區。
2016年6月,攻擊者利用區塊鏈業界此前最大的眾籌專案TheDAO智慧合約中splitDAO函式的一個漏洞,將資金從The DAO項⽬的資產池中源源不斷地分離出來,轉移到自己的子DAO中,在短短的三個小時內,300多萬以太幣被轉出The DAO 資產池,以太坊也因為這件事故被迫分叉。

Code is Law,和傳統軟體開發中的迭代更新不同,為了保證程式碼的可信性,以太坊中的合約一旦部署就再沒有修改的可能。我們當然不能期智慧合約一旦釋出就可以完美無瑕地執行下去,一行有缺陷的程式碼可能就會將整個合約推向萬劫不復之地。
如果需要升級智慧合約,就要把當前的智慧合約進行快照,然後在部署新的智慧合約之後把舊合約的快照轉移到新合約,這個過程會影響使用者對於專案的信心。在發現漏洞之時,究竟是壯士斷腕部署新的合約,還是置之不理希望能一直隱瞞下去,是每一個專案開發者將會面臨的兩難選擇。
“黑帽子”和“白帽子”
值得慶幸是,區塊鏈安全問題引來的越來越多人的關注。當黑客,也就是“黑帽子”們在利用漏洞攫取利潤之時,一些安全專家和技術極客站到一起,成為了區塊鏈安全的維護者和捍衛者,他們努力提前發現漏洞並通知專案方,以防被“黑帽子”利用,他們就是區塊鏈界的“白帽子”。
2018年3月20日,慢霧科技披露以太坊黑色情人節盜幣事件,曝光長達兩年之久的自動化盜幣行為,其造成的損失達近5萬多枚以太幣及數量巨大的各類代幣。
2018年5月29號,360公司Vulcan(伏爾甘)團隊發現了區塊鏈平臺EOS的一系列高危安全漏洞。經驗證,其中部分漏洞可以在EOS節點上遠端執行任意程式碼,即可以通過遠端攻擊,直接控制和接管EOS上執行的所有節點。
一度充斥著“造富神話”的數字貨幣市場趨涼,以區塊鏈技術為噱頭的泡沫漸漸消逝,安全的問題也一步步凸顯出來。安全是技術發展的根基,一行程式碼葬送一個專案的事情頻頻發生,向我們敲響了警鐘。只有在安全問題上防微杜漸慎之又慎,被寄予厚望的區塊鏈技術才能越走越遠。
本文來自 火星財經 ,本文觀點不代表三點鐘財經立場,轉載請聯絡原作者。