Theorem-Carrying Transactions: Runtime Verification to Ensure Interface Specifications for Smart Contract Safety
Thomas Ball (1), Nikolaj S. Bj{\o}rner (1), Ashley J. Chen (2), Shuo Chen (1), Yang Chen (1), Zhongxin Guo (1), Tzu-Han Hsu (3), Peng Liu (4), Nanqing Luo (4) ((1) Microsoft Research, (2) New York University Shanghai, (3) Michigan State University

TL;DR
This paper introduces Theorem-Carrying Transactions (TCT), a runtime verification method for smart contracts that ensures safety specifications are met with minimal overhead by carrying and verifying theorems with each transaction.
Contribution
The paper proposes TCT, a novel approach combining concrete execution and symbolic proofs to verify smart contract safety at runtime efficiently.
Findings
TCT secures token contracts against common vulnerabilities.
TCT applied successfully to complex DeFi codebase.
Runtime overhead is negligible, much lower than existing methods.
Abstract
Security bugs and trapdoors in smart contracts have been impacting the Ethereum community since its inception. Conceptually, the 1.45-million Ethereum's contracts form a single "gigantic program" whose behaviors are determined by the complex compositions of contracts. Can programmers be assured that this gigantic program conforms to high-level safety specifications, despite unforeseeable code-level intricacies? Static code verification cannot be faithful to this gigantic program due to its scale and high polymorphism. In this paper, we present a viable approach to achieve this goal. Our technology, called Theorem-Carrying Transactions (TCT), combines the benefits of concrete execution and symbolic proofs. Under the TCT protocol, every transaction carries a theorem that proves its adherence to the specified properties in the invoked contracts, and the runtime system checks the theorem…
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.
Taxonomy
TopicsBlockchain Technology Applications and Security
