TY - GEN
T1 - Verified Development and Deployment of Multiple Interacting Smart Contracts with VeriSolid
AU - Nelaturu, Keerthi
AU - Mavridoul, Anastasia
AU - Veneris, Andreas
AU - Laszka, Aron
N1 - Publisher Copyright:
© 2020 IEEE.
PY - 2020/5
Y1 - 2020/5
N2 - Smart contracts enable the creation of decentralized applications which often handle assets of large value. These decentralized applications are frequently built on multiple interacting contracts. While the underlying platform ensures the correctness of smart contract execution, today developers continue struggling to create functionally correct contracts, as evidenced by a number of security incidents in the recent past. Even though these incidents often exploit contract interaction, prior work on smart contract verification, vulnerability discovery, and secure development typically considers only individual contracts. This paper proposes an approach for the correct-by-design development and deployment of multiple interacting smart contracts by introducing a graphical notation (called deployment diagrams) for specifying possible interactions between contract types. Based on this notation, it later presents a framework for the automated verification, generation, and deployment of interacting contracts that conform to a deployment diagram. As an added benefit, the proposed framework provides a clear separation of concerns between the internal contract behavior and contract interaction, which allows one to compositionally model and analyze systems of interacting smart contracts efficiently.
AB - Smart contracts enable the creation of decentralized applications which often handle assets of large value. These decentralized applications are frequently built on multiple interacting contracts. While the underlying platform ensures the correctness of smart contract execution, today developers continue struggling to create functionally correct contracts, as evidenced by a number of security incidents in the recent past. Even though these incidents often exploit contract interaction, prior work on smart contract verification, vulnerability discovery, and secure development typically considers only individual contracts. This paper proposes an approach for the correct-by-design development and deployment of multiple interacting smart contracts by introducing a graphical notation (called deployment diagrams) for specifying possible interactions between contract types. Based on this notation, it later presents a framework for the automated verification, generation, and deployment of interacting contracts that conform to a deployment diagram. As an added benefit, the proposed framework provides a clear separation of concerns between the internal contract behavior and contract interaction, which allows one to compositionally model and analyze systems of interacting smart contracts efficiently.
UR - http://www.scopus.com/inward/record.url?scp=85091493501&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85091493501&partnerID=8YFLogxK
U2 - 10.1109/ICBC48266.2020.9169428
DO - 10.1109/ICBC48266.2020.9169428
M3 - Conference contribution
AN - SCOPUS:85091493501
T3 - IEEE International Conference on Blockchain and Cryptocurrency, ICBC 2020
BT - IEEE International Conference on Blockchain and Cryptocurrency, ICBC 2020
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2nd IEEE International Conference on Blockchain and Cryptocurrency, ICBC 2020
Y2 - 2 May 2020 through 6 May 2020
ER -