Solidity
智能合約中漏洞檢測的可行性
我很高興發現乙太坊智能合約(solidity)中的漏洞檢測更可行:原始碼或字節碼,原因是什麼?
每次都是原始碼,字節碼只是一種低級程式語言,它是由solidity等高級程式語言編譯而來的,它不是人類可讀的,而是機器可讀的。
審核員將檢查原始碼以了解流程,並確保使用者可以創建的所有可能路徑都安全地包含在智能合約邏輯中。
由於以下原因,字節碼比原始碼更適合漏洞檢測:
- 用於開發智能合約的程式語言的數量有所增加,實施最佳實踐來檢測可能會很累人,而且很難在整個開發工具鏈中執行。
- 字節碼級別的自動強化繞過了源級別的異構性,以獨立於衍生合約的來源來強制執行合約的安全性和程式碼完整性屬性。
- 系統可以強制執行策略來防止真正的乙太坊合約字節碼中的整數溢出和下溢漏洞。