智能合約安全如何保障?

2023-01-07 15:01:00

      智能合約是促進區塊鏈發展的核心要素之一,其應用範圍廣泛,有許多交易用例和各類應用程序。金融服務、供應鏈管理、物聯網網絡等各行各業中都能找到智能合約的具有前景的用例。

      同時,智能合約不是絕對安全的。行業中所頻頻發生的智能合約安全事件中可以看出,智能合約的安全需要維護和保障


      智能合約安全如何保障?

什么是智能合約安全?

      智能合約安全是指开發者、用戶和交易所在創建智能合約或與智能合約交互時使用的安全原則和實踐。計算機學報發布的《智能合約的合約安全和隱私安全研究綜述》研究中定義了智能合約的安全有兩個維度:合約安全和隱私安全

  • 合約安全主要針對合約設計文檔、合約代碼、合約運行狀態等,要求智能合約不存在設計缺陷、代碼漏洞等不足,涉及智能合約的設計、實現、測試、運維及部署等多個階段;

  • 隱私安全主要針對智能合約代碼隱私及合約執行過程中涉及的相關數據隱私,要求保護程序代碼以及程序執行過程中的交易數據不會被非授權節點獲取,主要體現在區塊鏈系統的合約代碼和合約數據兩方面。

智能合約安全事件

      今年一個重大安全事件的案例是在 2022 年 11 月 2 日, Derbit Exchange 的熱錢包漏洞事件。漏洞所導致的私鑰泄露可能導致以太坊和比特幣鏈上的 USDC、ETH 和 BTC 損失約 2800 萬美元。Derbit Exchange 在事件發生後公开表示,損失將由公司儲備金彌補。為了解決此類事件,Derbit Exchange 也提出“99% 的用戶資金存放在冷藏庫中,以限制此類事件的影響”。

       安全漏洞和安全事故等在行業中並不少見,智能合約安全問題需要得到重視。以下是近期與智能合約安全相關的重大事故:

  • 2022 年 8 月,由於與導入账戶相關的問題,數千個 Solana 錢包損失了約 800 萬美元。

  • 2022 年 2 月,在蟲洞跨鏈橋攻擊中,以太坊和 Solana 損失了近 3.2 億美元。

  • 2021 年 8 月,黑客通過 Poly Network 的智能合約漏洞成功實施了價值 6.13 億美元的加密貨幣搶劫。

  • 早先的智能合約安全問題的例子,例如 Parity technologies 被盜 1.5 億美元,Genesis DAO 被盜 5000 萬美元。

  • ······


      智能合約安全如何保障?

智能合約技術的基礎之一是其不變性

      部署後不可更改是一項出色的安全功能,但這也使得部署後出現的已知錯誤難以修補。常發生的一些安全事故往往出自幾類重復的安全漏洞,這些安全漏洞主要有:

重入(Reentrancy Attack)

      當利用者在第一次調用完成之前重復調用函數時,就會發生重入漏洞。利用此漏洞的攻擊者可以在余額設置為 0 之前多次提取余額。

Over/Under Flows

      以太坊虛擬機對所有整數使用固定大小的數據。如果整數變量只能存儲 0-255 之間的數字,則嘗試存儲高於或低於可接受值的整數將導致上溢或下溢。這些漏洞允許攻擊者創建意想不到的邏輯流。

搶先交易

      搶先交易攻擊利用了區塊鏈技術處理交易的方式。由於交易被收集到區塊中並作為各個區塊的一部分添加到分類账中,不良行為者可以購买大量資產以響應將波動資產價格的大筆交易。通過增加比他們所針對的大筆交易更高的費用,他們可以保證他們的交易將被首先處理。在大筆交易使資產價格出現波動後,剝削者出售他們購买的資產。

計算不正確

      由於智能合約處理大量資金,偶爾還會處理各種類型的資產,因此所有數學計算都必須正確。不正確的小數處理和費用計算可能導致資金損失或資金被無限期鎖定。

如何保障智能合約的安全?

      以太坊在官網上展示了其定義的智能合約的最低安全限度,其中包括:

  • 所有代碼應該被存在於一個版本控制系統當中,例如 git

  • 所有的代碼修改都應該通過拉取請求來進行

  • 所有的拉取請求都應該有至少一個審核員。如果這是一個個人項目,請考慮尋找另一位個人作者和一個交易代碼審核員。

  • 使用开發以太坊環境(請參閱:Truffle),只需一個命令就可以編譯、部署和運行一套針對您的代碼的測試

  • 已經通過 Mythril 和 Sliter 等基本代碼分析工具運行了代碼,最好是在合並每個拉取請求之前,比較輸出中的差異。

  • Solidity 代碼編輯器不會發出任何警告

  • 您的代碼有據可查


      智能合約安全如何保障?

      這是從开發過程中能夠定義的最低限度的安全標准,也是智能合約开發者行之有效的安全指南。然而,保障智能合約的安全的復雜度是遠高於最低安全限度的。

       除了在开發過程中遵守有效的安全標准之外,智能合約還需要有一個深思熟慮的錯誤修復升級路徑。例如,添加速率限制和最大使用量功能是管理風險金額的絕佳方式;同時安全類工具也提供了一定幫助,智能合約審計環節也應該慎重對待;在測試網上發布智能合約並向用戶和其他开發者提供漏洞獎勵是另一種發現潛在漏洞的好方法。

     區塊鏈技術的未來取決於構建其中的开發人員。智能合約安全某種程度上被廣泛認為是區塊鏈安全,因此獨立开發者的行為也會影響公衆對區塊鏈的認知。頻發的安全事故勢必會傷害到用戶的信任和信心。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

Layer2 格局劇變:Base 生態有哪些關鍵亮點?

在激烈競爭的 L2 賽道中,原本穩坐釣魚臺的 Arbitrum 和 Optimism 似乎面臨着前...

加密泡泡啊
120 3個月前

XRP 漲至 7.5 美元?分析師告訴 XRP 大軍為純粹的煙火做好准備!

加密貨幣分析師 EGRAG 表示,XRP 即將迎來關鍵時刻,價格可能大幅上漲,這取決於能否突破關鍵...

加密泡泡啊
128 3個月前

以太坊ETF通過後 將推動山寨幣和整個加密生態大爆發

比特幣ETF通過後市場動蕩,以太坊ETF交易前景分析 比特幣ETF通過後,市場出現了先跌後漲的走勢...

加密泡泡啊
144 3個月前

ZRO為啥這么能漲?

ZRO概述 ZRO代幣,全稱為LayerZero,是LayerZero協議的本地代幣,旨在作為治理...

加密泡泡啊
105 3個月前

今晚ETH迎來暴漲時代 op、arb、metis等以太坊二層項目能否跑出百倍幣?

北京時間7月23日晚上美股开盤後 ETH 的ETF开始交易。ETH的裏程碑啊,新的時代开啓。突破前...

BNBCCC
125 3個月前

Mt Gox 轉移 28 億美元比特幣 加密貨幣下跌 ETH ETF 提前發行

2014 年倒閉的臭名昭著的比特幣交易所 Mt Gox 已向債權人轉移了大量比特幣 (BTC),作...

加密圈探長
113 3個月前