區塊鏈項目必備:智能合約審查
2022-04-27區塊鏈技術逐漸普及,不同項目如去中心化金融(DeFi)交易所項目、NFT市場推廣項目都需要使用智能合約。大多數人都明白測試對確保項目安全的重要性,所以智能合約審查服務應運而生。如果你有計劃或已開始發展區塊鏈項目,你就必須了解以下有關智能合約審查的資訊。
「智能合約」(Smart contract)是區塊鏈中一種制定合約所使用的特殊協議,協議條款用程式碼形式儲存於區塊鏈上,並自動執行。
隨著NFT和加密貨幣的價值越來越高,成為駭客攻擊的目標。智能合約上小小的程式碼錯誤都有可能導致巨額資金被盜。由於區塊鏈交易是不可逆轉的,因此確保項目的智能合約程式碼沒有漏洞至關重要。
對區塊鏈項目開發者來說,智能合約審查是必不可少的。如果項目在推出時智能合約有重大漏洞或邏輯錯誤,會嚴重影響項目收益和發展。
市面上有很多區塊鏈項目的安全測試方法,而我們認為較可取的方法是分為兩個部分:傳統的測試項目,包括前端應用程式碼審查和系統測試;另一部分則是智能合約審查。
智能合約審查與傳統安全測試不同,在這領域上並無放諸全球都被認可的安全測試方式,令諮商變得更複雜。「有沒有正規測試方法」、「會否做XXX測試?」這些問題並無確切答案。 因此,選用值得信賴的網絡安全供應商為你進行測試尤其重要。
以下比較多人應用到的智能合約審查標準:
- Smart Contract Security Verification Standard (SCSVS)
SCSVS是一個國外區塊鏈愛好者共同創建的一個安全檢查清單,當中包括區塊鏈不同範疇檢測,例如權限控制、商業邏輯、常見攻擊等。其中每一個範疇也詳細列出需要檢測的部份和參考資料。一些常見漏洞,例如:重入攻擊或是智能合約的邏輯問題也在驗證清單之中。
- Smart Contract Weakness Classification and Test Cases (SWC Registry)
SWC Registry詳細分類了不同攻擊和測試方式,例如:沒有適當的簽署認證機制,使用過時的solidity 版本或是已被棄用的舊功能等。當中包括每個項目詳細介紹、相關風險、測試方式、漏洞代碼例子及修補建議等。開發者也能設計時得到啟發,避免跌進漏洞。
UD為項目方提供區塊鏈安全測試服務,配合傳統測試和智能合約審查,項目開發方能從當中避免無法挽回的嚴重問題,為項目帶來保障。