fAmulet: Finding Finalization Failure Bugs in Polygon zkRollup

7Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.
Get full text

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 in Polygon zkRollup, a prominent zero-knowledge layer 2 protocol, by leveraging fuzzing testing. To trigger finalization failure bugs effectively, we introduce a finalization behavior model to guide our transaction fuzzer to generate and mutate transactions for inducing diverse behaviors across each component (e.g., Sequencer) in the finalization process. Moreover, we define bug oracles according to the distinct bug definitions to accurately detect bugs. Through our evaluation, fAmulet can uncover twelve zero-day finalization failure bugs in Polygon zkRollup, and cover at least 20.8% more branches than baselines. Furthermore, we employ fAmulet to uncover zero-day bugs and reconfirm known bugs in Scroll zkRollup and Optimism Rollup, highlighting the generality of fAmulet to be extended to other layer 2 protocols. At the time of writing, all our uncovered zero-day bugs have been confirmed and fixed by the corresponding official teams.

Cite

CITATION STYLE

APA

Li, Z., Peng, X., He, Z., Luo, X., & Chen, T. (2024). fAmulet: Finding Finalization Failure Bugs in Polygon zkRollup. In CCS 2024 - Proceedings of the 2024 ACM SIGSAC Conference on Computer and Communications Security (pp. 971–985). Association for Computing Machinery, Inc. https://doi.org/10.1145/3658644.3690243

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free