fAmulet: Finding Finalization Failure Bugs in Polygon zkRollup
Zihao Li, Xinghao Peng, Zheyuan He, Xiapu Luo, Ting Chen

TL;DR
This paper introduces fAmulet, a novel fuzzing-based tool for detecting finalization failure bugs in zero-knowledge layer 2 protocols like Polygon zkRollup, uncovering twelve new bugs and demonstrating its effectiveness and generality.
Contribution
It presents the first systematic study of finalization failure bugs and develops fAmulet, the first tool specifically designed to detect such bugs in zero-knowledge rollups.
Findings
Uncovered 12 zero-day bugs in Polygon zkRollup.
fAmulet covers 20.8% more branches than baseline methods.
Successfully identified a bug in Scroll zkRollup, demonstrating generality.
Abstract
Zero-knowledge layer 2 protocols emerge as a compelling approach to overcoming blockchain scalability issues by processing transactions through the transaction finalization process. During this process, transactions are efficiently processed off the main chain. Besides, both the transaction data and the zero-knowledge proofs of transaction executions are reserved on the main chain, ensuring the availability of transaction data as well as the correctness and verifiability of transaction executions. Hence, any bugs that cause the transaction finalization failure are crucial, as they impair the usability of these protocols and the scalability of blockchains. In this work, we conduct the first systematic study on finalization failure bugs in zero-knowledge layer 2 protocols, and define two kinds of such bugs. Besides, we design fAmulet, the first tool to detect finalization failure bugs…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
