Securing Smart Contract with Runtime Validation

被引:45
|
作者
Li, Ao [1 ]
Choi, Jemin Andrew [1 ]
Long, Fan [1 ]
机构
[1] Univ Toronto, Toronto, ON, Canada
关键词
runtime validation; smart contract; compiler;
D O I
10.1145/3385412.3385982
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.1% on average for our 23 benchmark contracts.
引用
收藏
页码:438 / 453
页数:16
相关论文
共 50 条
  • [1] Reducing Smart Contract Runtime Errors on Ethereum
    Jumnongsaksub, Siwapol
    Sripanidkulchai, Kunwadee
    IEEE SOFTWARE, 2020, 37 (05) : 55 - 59
  • [2] Perturbing Smart Contract Execution Through the Underlying Runtime
    Cui, Pinchen
    Umphress, David
    SECURITY AND PRIVACY IN COMMUNICATION NETWORKS (SECURECOMM 2020), PT II, 2020, 336 : 336 - 349
  • [3] Blockchain Contract: Securing a Blockchain Applied to Smart Contracts
    Watanabe, Hiroki
    Fujimura, Shigeru
    Nakadaira, Atsushi
    Miyazaki, Yasuhiko
    Akutsu, Akihito
    Kishigami, Jay
    2016 IEEE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS (ICCE), 2016,
  • [4] A Runtime Information Based Defense Technique for Ethereum Smart Contract
    Xiang J.
    Yang Z.
    Zhou S.
    Yang M.
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2021, 58 (04): : 834 - 848
  • [5] Predicate Abstractions for Smart Contract Validation
    Godoy, Javier
    Galeotti, Juan Pablo
    Garbervetsky, Diego
    Uchitel, Sebastian
    PROCEEDINGS OF THE 25TH INTERNATIONAL ACM/IEEE CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, MODELS 2022, 2022, : 289 - 299
  • [6] On Off-Chaining Smart Contract Runtime Protection: A Queuing Model Approach
    Ali, Isra M.
    Abdallah, Mohamed M.
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2024, 35 (08) : 1345 - 1359
  • [7] A Smart Contract for Coffee Transport and Storage With Data Validation
    Valencia-Payan, Cristian
    Fernando Grass-Ramirez, Jose
    Ramirez-Gonzalez, Gustavo
    Carlos Corrales, Juan
    IEEE ACCESS, 2022, 10 : 37857 - 37869
  • [8] Runtime Analysis and Instrumentation for Securing Software
    Sekar, R.
    RUNTIME VERIFICATION, 2010, 6418 : 58 - 58
  • [9] A Runtime Environment for Contract Automata
    Basile, Davide
    ter Beek, Maurice H.
    FORMAL METHODS, FM 2023, 2023, 14000 : 550 - 567
  • [10] An effective blockchain-based smart contract system for securing electronic medical data in smart healthcare application
    Sonya, Ansar
    Kavitha, Ganesh
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2022, 34 (28):