Securing Smart Contract On The Fly
Ao Li, Jemin Andrew Choi, Fan Long

TL;DR
This paper introduces Solythesis, a Solidity compiler that instruments smart contracts with runtime invariant checks, achieving minimal overhead and enhancing security without significant performance costs.
Contribution
It presents a novel source-to-source compiler with delta update and delta check techniques to efficiently enforce invariants in smart contracts.
Findings
CPU overhead of 0.12% on average for benchmarks
Runtime validation overhead is negligible in smart contracts
Solythesis effectively enforces invariants with minimal performance impact
Abstract
We present Solythesis, a source to source Solidity compiler which takes a smart contract code and a user specified invariant as the input and produces an instrumented contract that rejects all transactions that violate the invariant. The design of Solythesis is driven by our observation that the consensus protocol and the storage layer are the primary and the secondary performance bottlenecks of Ethereum, respectively. Solythesis operates with our novel delta update and delta check techniques to minimize the overhead caused by the instrumented storage access statements. Our experimental results validate our hypothesis that the overhead of runtime validation, which is often too expensive for other domains, is in fact negligible for smart contracts. The CPU overhead of Solythesis is only 0.12% on average for our 23 benchmark contracts.
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.
