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.

Towards automated verification of Bitcoin-based decentralised applications

Andrea Bracciali
Membro del Collaboration Group
;
2023-01-01

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.
2023
ACM Symposium on Applied Computing
Tallin, Estonia
March 27-31, 2023
Proceedings of the 38th ACM/SIGAPP Symposium on Applied Computing,{SAC} 2023
ACM
262
269
978-1-4503-9517-5
https://doi.org/10.1145/3555776.3578996
Stefano Bistarelli, Andrea Bracciali, Rick Klomp, Ivan Mercanti
File in questo prodotto:
File Dimensione Formato  
22_paper.pdf

Accesso riservato

Tipo di file: POSTPRINT (VERSIONE FINALE DELL’AUTORE)
Dimensione 628 kB
Formato Adobe PDF
628 kB Adobe PDF   Visualizza/Apri   Richiedi una copia
PRINTED_Towards-automated-verification-of-Bitcoinbased-decentralised-applicationsProceedings-of-the-ACM-Symposium-on-Applied-Computing.pdf

Accesso riservato

Tipo di file: PDF EDITORIALE
Dimensione 1.46 MB
Formato Adobe PDF
1.46 MB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2318/2038295
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? 1
social impact