Catching the Fly: Practical Challenges in Making Blockchain FlyClient Real
This work advances FlyClient from theory to production-ready for resource-constrained blockchain verification, but the improvements are incremental.
The paper addresses practical challenges in deploying the FlyClient lightweight blockchain verification protocol, providing an alternative adversary model, the first prover implementation for Zcash, and optimizations to reduce proof size. The optimizations achieve up to 50% reduction in proof size without consensus changes.
FlyClient is a lightweight blockchain verification protocol that enables proof-of-work validation using minimal data, making it ideal for resource-constrained environments like mobile wallets, Internet-of-Things devices or cross-chain bridges implemented with smart contracts. Despite its strong potential for enabling lightweight blockchain verification, FlyClient protocol is still in the experimental stages, with limited real-world deployments and performance evaluations under diverse conditions. In this paper we bridge the gap between theory and deployment, by addressing several technical challenges to advance FlyClient to a production-ready solution. Namely, our contribution is three-fold: (i) we formally introduce an adversary model alternative to the original FlyClient one, that allows us to parametrize a verifier under a concrete economic interpretation, while also saving some proof space; (ii) we provide the first practical FlyClient prover implementation for a production blockchain (Zcash), and we estimate its performance under different configurations; (iii) we introduce and evaluate two optimizations that minimize the size of FlyClient proofs, the first of which does not require any consensus change.