選單

FraVenner:區塊鏈智慧合約為什麼要透過第三方程式碼審計機構審計

FraVenner:區塊鏈智慧合約為什麼要透過第三方程式碼審計機構審計

智慧合約(smart contract),區塊鏈領域人士想必都不會陌生。智慧合約就是將現實合約條款的執行過程電子化並實現量化交易的一種協議,它就是透過一套以數字形式定義的承諾(commitment),讓合約參與方可以在上面執行這些承諾。數字形式就意味著所有的智慧合約不得不寫入計算機可讀的程式碼中。智慧合約是基於區塊鏈技術,它的出現滿足了許多常見的合約條件(如支付條款,留置權,機密性,以及執行等),以及最大程度地減少惡意和偶然地異常,最大限度地減少對可信中介的依賴。

智慧合約為何要透過程式碼審計

但這項新技術並非沒有挑戰,安全問題就是最重要的一環。據統計,在過去的5年間,FraVenner智慧合約程式碼審計機構在審查過的近1000個智慧合約專案中有超過25%的存在嚴重漏洞,有過半專案至少存在一個安全隱患,而這些安全隱患和漏洞將會給惡意攻擊者帶來機會,惡意侵入盜取專案資產。例如,2016年6月,The DAOEther的漏洞就造成了5000萬美元的損失。當然,專案的安全問題除了能給專案造成直接的鉅額經濟損失外,還會嚴重損害專案的品牌聲譽,導致專案無法正常運營甚至“流產”。

FraVenner智慧合約程式碼審計機構建議廣大智慧合約專案方,在專案上鍊之前,務必透過進行嚴格的程式碼審計,以確保專案不存在安全問題,讓所有合約得到高效執行。那麼,專案方是否可以內部進行程式碼審計呢?理論上講這個是可行的,至少可以為專案節省一筆審計費用,但專案方內部審計存在很明顯的缺陷,首先,專案方作為專案運營方,自己的專案自己審計存在“不可信”的問題,缺乏有效的品牌背書,無法讓合約參與者信服。其次,專案方此前從來沒有接觸過智慧合約的審計,複雜的審計流程會給專案的開發者帶來巨大挑戰。

正所謂,專業的事情必須專業的人來做,如果專案方內部進行審計,就很容易忽略不該忽略的漏洞或安全隱患,這樣一旦上鍊,專案就處於非常不安全狀態,很大機率遭受惡意攻擊而蒙受巨經濟損失和嚴重名譽損失。因此,專案方最好是找第三方智慧合約程式碼審計機構進行程式碼審計,雖然由專門從事智慧合約審計的第三方對智慧合約程式碼進行審計也不能萬無一失,但至少能發現程式碼中的絕大部分錯誤漏洞,可以大大提升專案的安全性。

智慧合約如何進行程式碼審計

智慧合約程式碼審計一般都會圍繞專案的三個方面進行,包括常見的錯誤(包括堆疊問題,編譯和程式碼重入錯誤)、智慧合約程式碼中可能存在的已知錯誤和安全漏洞以及對智慧合約進行各種模擬攻擊測試等,例如,為儘可能的找到智慧合約中的安全問題,FraVenner智慧合約程式碼審計機構一般都會測試各類攻擊,如重入攻擊(Reentrancy attack)、數值溢位(Over and under flows)、重放攻擊(Replay attack)、重排攻擊(Reordering attack)、短地址攻擊(Short address attack)。

一般智慧合約程式碼審計有兩種基本方法:手動和自動程式碼分析。手動程式碼分析比較容易理解,就是由程式碼審計工程師逐行審查每一行程式碼,仔細檢視程式碼的編譯、重入錯誤和安全等問題,其中安全問題最為重要,它能直接影響智慧合約是否能長期穩定的執行。自動程式碼分析就藉助各種審計工具對程式碼進行全方位掃描,它的好處就是在檢查程式碼時可以節約大量的人力和時間,還可以進行多條件複雜的滲透測試,有助於快速發現漏洞。

當然,目前所有的程式碼審計機構都是手動和自動程式碼分析相結合,FraVenner智慧合約程式碼審計機構也不例外。首先透過自動程式碼分析工具對智慧合約的程式碼進行深度掃描,找到各種已知的漏洞和安全隱患,然後再透過程式碼審計工程師進行一次徹底的人工程式碼審查,確保上述自動分析不會存在漏報或誤報的問題,讓智慧合約保持在一個比較安全的狀態。

智慧合約程式碼審計的成本怎麼計算

由於智慧合約程式碼審計是一項非常專業且複雜的工作,所以專案方必須投入一定的成本才能順利進行。那麼,如何判定專案程式碼審計的成本呢?它實際上取決於一些關鍵因素。首先,專案的開發是專案方自有團隊還是第三方外包開發團隊,如果是自有團隊,可能存在缺乏專業水平經驗和多視覺審查專案的能力,可能會存在更多不安全因素,審計的成本將會相對高一些。其次,就是專案程式碼的情況,包括程式碼的行數、位元組數、使用的函式庫等等,很顯然,越複雜的智慧合約,其程式碼審計的成本就會相對較高。最後,要看專案方本身的運營能力,如果專案方缺乏應有的運營能力,缺乏對專案整體的品牌包裝,則專案的程式碼審計成本將會相對較高。

因此,專案方與其去尋找最具成本效益的方式來進行程式碼審計,還不如在自身上下功夫,首先必須找到專業的第三方開發團隊或專業的人才進行智慧合約的開發,其次,做好專案的整體包裝,進行各種必要的營銷,以便吸引一些具有實力的投資機構進行投資等。在上述基礎上,再去與第三方程式碼審計機構接洽,一定能大大降低專案程式碼審計的成本。

FraVenner程式碼審計機構簡介

FraVenner源自丹麥著名安全實驗室,成立於2013年,長期致力於區塊鏈安全研究與實踐,依託中國區塊鏈發展環境,對全球近年發生的各類區塊鏈領域的安全事故和漏洞進行全面分析與總結,成果累累,總結出了系列包括安全審計、滲透測試與應急響應、威脅監測與預防等在內的成熟解決方案,擁有了為區塊鏈企業提供完善安全服務的能力,業務覆蓋區塊鏈生態安全的各個環節。目前,已成功為近千個智慧合約專案進行了程式碼審計。

股市跌了別害怕!7%+理財,低門檻高收益、1000元就能買入、0手續費……限額領取,速來>>