skip to main content
10.1145/3555776.3578996acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Towards automated verification of Bitcoin-based decentralised applications

Published: 07 June 2023 Publication History

Abstract

The Bitcoin language SCRIPT has undergone several technically non-trivial updates, still striving from security and minimal risk exposure. Up-to-date, formal verification is of strong interest for script programs that validate the correctness of the Bitcoin decentralised ledger, and allow more and more sophisticated protocols and decentralised applications to be implemented on top of Bitcoin transactions. We propose ScriFy, a comprehensive framework for the verification of the current SCRIPT language: a symbolic semantics and execution model, a model checker, and a modular (dockered), open-source verifier. Given the SCRIPT code that locks a Bitcoin transaction, ScriFy returns the minimal information needed to successfully execute it and authorise the transaction. Distinguishably, ScriFy features both recently added SCRIPT operators and an enhanced analysis, which considers prior information in the ledger. The framework is proved correct and validated through significant examples.

References

[1]
Fahad F. Alhabardi, Arnold Beckmann, Bogdan Lazar, and Anton Setzer. Verification of bitcoin script in agda using weakest preconditions for access control. In TYPES, volume 239 of LIPIcs, pages 1:1--1:25. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2021.
[2]
Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, and Lukasz Mazurek. Secure multiparty computations on bitcoin. In IEEE Symposium on Security and Privacy, pages 443--458. IEEE Computer Society, 2014.
[3]
Marcelo Arenas, Thomas Reisenegger, Juan L. Reutter, and Domagoj Vrgoc. Is it possible to verify if a transaction is spendable? Frontiers Blockchain, 4:770503, 2021.
[4]
Nicola Atzei, Massimo Bartoletti, Tiziana Cimoli, Stefano Lande, and Roberto Zunino. Sok: Unraveling bitcoin smart contracts. In POST, volume 10804 of Lecture Notes in Computer Science, pages 217--242. Springer, 2018.
[5]
Nicola Atzei, Massimo Bartoletti, Stefano Lande, Nobuko Yoshida, and Roberto Zunino. Developing secure bitcoin contracts with bitml. In ESEC/SIGSOFT FSE, pages 1124--1128. ACM, 2019.
[6]
Sarah Azouvi and Marko Vukolic. Pikachu: Securing pos blockchains from long-range attacks by checkpointing into bitcoin pow using taproot. CoRR, abs/2208.05408, 2022.
[7]
Stefano Bistarelli, Ivan Mercanti, and Francesco Santini. An analysis of non-standard bitcoin transactions. In CVCBT, pages 93--96. IEEE, 2018.
[8]
Stefano Bistarelli, Ivan Mercanti, and Francesco Santini. An analysis of non-standard transactions. Frontiers Blockchain, 2:7, 2019.
[9]
Joseph Bonneau, Andrew Miller, Jeremy Clark, Arvind Narayanan, Joshua A. Kroll, and Edward W. Felten. Sok: Research perspectives and challenges for bitcoin and cryptocurrencies. In IEEE Symposium on Security and Privacy, pages 104--121. IEEE Computer Society, 2015.
[10]
Harris Brakmić. Bitcoin Script, pages 201--224. Apress, Berkeley, CA, 2019.
[11]
Pedro Casas, Matteo Romiti, Peter Holzer, Sami Ben Mariem, Benoit Donnet, and Bernhard Haslhofer. Where is the light(ning) in the taproot dawn? unveiling the bitcoin lightning (IP) network. In CloudNet, pages 87--90. IEEE, 2021.
[12]
James Chiang. Bitcoin trace-net: Formal contract verification at signing time. CoRR, abs/2007.07528, 2020.
[13]
Poulami Das, Lisa Eckey, Tommaso Frassetto, David Gens, Kristina Hostáková, Patrick Jauernig, Sebastian Faust, and Ahmad-Reza Sadeghi. Fastkitten: Practical smart contracts on bitcoin. In USENIX Security Symposium, pages 801--818. USENIX Association, 2019.
[14]
Juan A. Garay, Aggelos Kiayias, and Nikos Leonardos. The bitcoin backbone protocol: Analysis and applications. In EUROCRYPT (2), volume 9057 of Lecture Notes in Computer Science, pages 281--310. Springer, 2015.
[15]
Rick Klomp and Andrea Bracciali. On symbolic verification of bitcoin's script language. In DPM/CBT@ESORICS, volume 11025 of Lecture Notes in Computer Science, pages 38--56. Springer, 2018.
[16]
Patrick McCorry, Surya Bakshi, Iddo Bentov, Sarah Meiklejohn, and Andrew Miller. Pisa: Arbitration outsourcing for state channels. In AFT, pages 16--30. ACM, 2019.
[17]
Malte Möser, Ittay Eyal, and Emin Gün Sirer. Bitcoin covenants. In Financial Cryptography Workshops, volume 9604 of Lecture Notes in Computer Science, pages 126--141. Springer, 2016.
[18]
Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. Bitcoin project white paper, 2009.

Cited By

View all
  • (2023)Security and dependability analysis of blockchain systems in partially synchronous networks with Byzantine faultsInternational Journal of Parallel, Emergent and Distributed Systems10.1080/17445760.2023.2272777(1-21)Online publication date: 24-Oct-2023

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '23: Proceedings of the 38th ACM/SIGAPP Symposium on Applied Computing
March 2023
1932 pages
ISBN:9781450395175
DOI:10.1145/3555776
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 June 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. trustworthy bitcoin
  2. decentralised protocols
  3. SCRIPT
  4. verification

Qualifiers

  • Research-article

Conference

SAC '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)1
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Security and dependability analysis of blockchain systems in partially synchronous networks with Byzantine faultsInternational Journal of Parallel, Emergent and Distributed Systems10.1080/17445760.2023.2272777(1-21)Online publication date: 24-Oct-2023

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media