核心概念
fAmulet 是一款利用模糊測試技術,專門針對 Polygon zkRollup 中的交易終止失敗錯誤進行偵測的工具,它能有效發現並定位這些錯誤,協助開發者提升 zkRollup 系統的安全性。
這篇研究論文介紹了 fAmulet,這是一款用於偵測 Polygon zkRollup 中交易終止失敗錯誤的自動化測試工具。
研究背景
隨著區塊鏈技術的快速發展,以太坊等區塊鏈平台面臨著交易吞吐量有限的挑戰。為了解決這個問題,零知識 Layer 2 (L2) 協議應運而生,Polygon zkRollup 就是其中一種備受矚目的協議。zkRollup 協議將交易處理過程移至鏈下,並利用零知識證明技術確保交易的正確性,從而提高交易速度。然而,zkRollup 協議的交易終止過程十分複雜,涉及多個 L1 和 L2 組件之間的交互,任何錯誤都可能導致交易終止失敗,進而影響整個系統的可用性和安全性。
fAmulet 的設計與實現
fAmulet 旨在有效地發現和定位 zkRollup 協議中的交易終止失敗錯誤。其核心設計包含以下幾個方面:
**終止行為模型:**fAmulet 建立了一個終止行為模型,用於記錄和分析交易終止過程中各個組件的運行時行為。該模型可以幫助 fAmulet 更好地理解系統行為,並指導後續的測試用例生成。
**行為導向的交易模糊測試:**fAmulet 採用行為導向的模糊測試技術,根據終止行為模型生成和變異測試交易,以觸發潛在的錯誤。
**邏輯注入技術:**為了繞過 Polygon zkRollup 交易池的預執行檢查,fAmulet 使用邏輯注入技術對變異後的交易進行偽裝,確保這些交易能夠被系統處理。
**錯誤預言機和重現:**fAmulet 使用錯誤預言機實時監控系統,並利用收集到的運行時信息和歷史交易記錄重現已識別的錯誤,以便開發者進行調試和修復。
評估與貢獻
研究人員在 Polygon zkRollup 上進行了廣泛的實驗,結果表明 fAmulet 成功發現了 12 個零時差的交易終止失敗錯誤,這些錯誤都已得到官方團隊的確認和修復。此外,與其他基準測試工具相比,fAmulet 在分支覆蓋率方面表現更出色。
總結
fAmulet 是一款針對 zkRollup 協議的有效漏洞偵測工具,它可以幫助開發者發現和修復交易終止失敗錯誤,提高系統的安全性。這項研究對於推動 zkRollup 技術的發展和應用具有重要意義。
統計資料
fAmulet 成功發現了 Polygon zkRollup 中的 12 個零時差交易終止失敗錯誤。
與基準測試工具相比,fAmulet 在分支覆蓋率方面至少提高了 20.8%。