以太坊生態系統繼續 見證 一系列活動讓個人和組織部署代幣合約,為資金池增加流動性並部署智能合約以支持廣泛的商業模式。雖然值得注意的是,這種增長也充滿了安全漏洞,留下 去中心化金融(DeFi) 協議容易受到黑客攻擊和詐騙。
例如,加密情報公司Chainalysis 的最新發現 節目 與加密相關的黑客 增加了58.3% 從年初到2022 年7 月。報告進一步指出,在這段時間內,黑客損失了19 億美元——這個數字不包括 耗資1.9 億美元的Nomad 橋樑黑客 發生在2022 年8 月1 日。
雖然開源代碼可能 有利於區塊鏈行業,不幸的是,它很容易被尋找漏洞的網絡犯罪分子研究。智能合約的安全審計旨在解決這些挑戰,但該程序缺乏行業標準,因此產生了複雜性。
確保智能合約安全的行業標準
t EthTrust 安全級別工作組主席Chris Cordi企業以太坊聯盟(EEA),告訴Cointelegraph,隨著以太坊區塊鏈行業的發展,需要一個成熟的框架來評估智能合約的安全性。
為了解決這個問題,Cordi 與幾位具有審計和安全專業知識的EEA 成員代表於2020 年11 月幫助建立了EthTrust 安全級別工作組。此後,該組織一直在起草一份智能合約規範或行業文檔草案標準,旨在提高智能聯繫人背後的安全性。
最近,工作組宣布發布EthTrust 安全級別規範v1。 EEA 技術項目主管Chaals Nevile 告訴Cointelegraph,該規範描述了適當的安全審計要求作為最低質量衡量標準的智能合約漏洞:
“它與開發人員使用Solidity 作為編碼語言的所有基於EVM 的智能合約平台相關。 在Splunk 最近的一項分析中,這遠遠超過了主網合約的3/4。 但是,也有一些私有網絡和項目基於以太坊技術堆棧但運行自己的鏈。 該規範對他們和對主網用戶幫助保護他們的工作一樣有用。”
從技術角度來看,Nevile 解釋說,新規範概述了組織在進行智能合約安全審計時應考慮的三個級別的測試。
“等級 [S] 其設計是為了在大多數情況下,在遵循眾所周知的模式使用Solidity 的常見特性時,測試代碼可以通過自動化的“靜態分析”工具進行認證,”他說。
他補充說,水平 [M] 測試要求進行更嚴格的靜態分析,並指出這包括要求人工審核員確定是否需要使用某個功能或是否有理由聲稱代碼的安全屬性。
Neville 進一步解釋說,Level [Q] test 提供對被測代碼實現的業務邏輯的分析。 “這是為了確保代碼不會出現已知的安全漏洞,同時還要確保它正確地實現了它聲稱的內容,”他說。還有一個可選的“推薦的良好實踐”測試可以幫助增強智能合約背後的安全性。內維爾說:
“使用最新的編譯器是’推薦的良好做法’之一。 在大多數情況下,這是一個非常簡單的方法,但是有很多原因導致合約可能沒有使用最新版本部署。 其他良好做法包括報告新漏洞,以便可以在更新規範中解決這些漏洞,以及編寫乾淨易讀的代碼。”
總體而言,整個規範中有107 項要求。根據Neville 的說法,其中大約50 個是Level [S] 由s 中的錯誤引起的需求olidity 編譯器.
行業標準會幫助組織和開發人員嗎?
Nevile 指出,EthTrust 安全級別規範的最終目的是幫助審計師向客戶證明他們正在以適合行業的級別運營。 “審計師可以指出這個行業標準來建立基本的可信度,”他說。
最近的: Web3 遊戲包含推動女性參與的功能
區塊鏈安全公司CertiK 的首席執行官兼聯合創始人Ronghui Gu 闡明了這一點,他告訴Cointelegraph,擁有這樣的標準有助於確保預期的流程和指導方針。然而,他指出,這些標準絕不是表明智能合約完全安全的“橡皮圖章”:
“重要的是要了解並非所有智能合約審計員都是平等的。 智能合約審計始於對智能合約被審計的特定生態系統的理解和經驗,以及所使用的技術堆棧和代碼語言。 並非所有代碼或鏈都是平等的。 在這裡,經驗對於報導和發現很重要。”
鑑於此,顧認為,想要擁有自己的 智能合約 被審計的應超越審計員聲稱擁有的認證,並考慮審計員的質量、規模和聲譽。因為這些標準是指導方針,顧說他認為這個規範是一個很好的起點。
從開發人員的角度來看,這些規範可能被證明是非常有益的。新興的基於區塊鏈的社交網絡Myco 的聯合創始人Mark Beylin 告訴Cointelegraph,這些標準對於幫助智能合約開發人員更好地了解安全審計的期望將非常有價值。他說:
“目前,智能合約安全性有許多分散的資源,但審計人員在評估項目安全性時並沒有具體的規則手冊。 使用該規範,安全審計員和他們的客戶可以在同一頁面上檢查什麼樣的安全要求。”
該規範的開發者和貢獻者Michael Lewellen 進一步告訴Cointelegraph,這些規範通過提供一個已知安全問題的清單來幫助檢查。 “許多Solidity 開發人員最近沒有接受過Solidity 開發的安全方面的正規教育或培訓,但安全性仍然值得期待。 擁有這樣的規範可以更容易地弄清楚如何更安全地編寫代碼,”他說。
最近的: 以太坊合併提示礦工和礦池做出選擇
Lewellen 還指出,大多數規範要求都以直截了當的方式編寫,使開發人員易於理解。但是,他評論說,並不總是很清楚為什麼包含要求。 “有些有漏洞的外部文檔鏈接,但有些沒有。 如果開發人員有更清晰的示例來說明合規和不合規代碼的外觀,他們會更容易理解。”
智能合約安全標準的演進
綜合考慮,安全級別的規範通過建立智能合約審計指南來幫助推進以太坊生態系統。然而,Nevile 指出,前進中最具挑戰性的方面是預測漏洞如何發生。他說:
“這個規範並沒有完全解決這些挑戰。 不過,規範所做的是確定某些步驟,例如記錄合同背後的架構和業務邏輯,這對於實現徹底的安全審計很重要。”
顧還認為,隨著Web3 的發展,不同的鏈將開始製定類似的標準。例如,以太坊行業的一些開發人員正在提出自己的智能合約要求來幫助其他人。例如,RTFKT 的首席技術官塞繆爾·卡迪略(Samuel Cardillo)最近在推特上表示,他已經創建了一個系統,供開發人員根據開發方面的好壞元素公開評估智能合約:
幾天前,我創建了一個小Google 表格來對公開的智能合約進行評分,以提高認識並幫助收藏家和開發人員——它還將包含開發合同時的“做”和“不做”。
https://t.co/2ixBpkNeoc— SamuelCardillo.eth – RTFKT (@CardilloSamuel) 2021 年8 月15 日
儘管所有這些都是朝著正確方向邁出的一步,但顧指出,標準需要時間才能被廣泛採用。此外,內維爾解釋說,安全從來都不是一成不變的。因此,他解釋說,個人可以向編寫規範的工作組發送問題。 “我們將接受這些反饋,並查看更廣泛的公共空間中的討論內容,因為我們希望更新規範,”內維爾說。他補充說,新版本的規範將在6 到18 個月內產生。