Abstract

With the emergence of cryptocurrencies, Blockchain architectures have become more and more important. In such architectures, components maintain and exchange a list of records in a way which makes the entries persistent, i.e., resistant to modifications. Thereby, the architecture is dynamic in the sense that components may join or leave the network and connections between them may change over time. The dynamic nature of Blockchain architectures makes their verification a challenge, since it involves reasoning about potentially unbounded number of components. To this end, we developed FACTum, an approach for the specification and interactive verification of dynamic architectures based on the interactive theorem prover Isabelle. In this paper we report on the outcome of applying the approach to formally specify a version of Blockchain architectures and verify that the list entries of such architectures are indeed persistent.

Highlights

  • The concept of Blockchain was first introduced with the invention of the Bitcoin cryptocurrency by a person known as Satoshi Nakamoto in 2008 [26]

  • With our work, we follow a similar approach, there are some notable differences: (i) First, with our implementation in Isabelle/HOL we provide an alternative framework for Isabelle/HOL users. (ii) A more important difference, concerns the scope of the proved property: In their work, the authors verified that a Blockchain architecture, in a consistent state, will eventually reach a consistent state again

  • We reported on the outcome of applying FACTUM to specify a variant of Blockchain architectures [26] and verify that blockchains are guaranteed to be persistent for architectures implementing the specification:

Read more

Summary

Introduction

The concept of Blockchain was first introduced with the invention of the Bitcoin cryptocurrency by a person (or group) known as Satoshi Nakamoto in 2008 [26]. While the general FACTUM approach was already introduced in [18], the focus of [18] was the presentation and discussion of the specification techniques and the algorithm to map a FACTUM specification to a corresponding Isabelle locale. To this end, we demonstrated the algorithm by means of three simple examples: a Singleton architecture, a Publisher-Subscriber architecture, and a Blackboard architecture, amounting up to 500 lines of Isabelle code. We build on the work described in [18] and evaluate the approach on a larger case study To this end, we applied the approach to specify Blockchain architectures based on the description provided in [26] and verify persistency of confirmed blocks. We conclude our presentation with a summary of major results and a discussion of its implications as well as directions for future work (Sect. 8)

Blockchain Architectures
FACTum
System Model
Specifying Dynamic Architectures
Verifying Dynamic Architectures
Data Types and Ports
Component Types
Architectural Constraints
Persistence of Blockchain Entries
Verification Effort
Discussion
Related Work
Formalizations of Blockchain Concepts
Findings
Verification of Consensus Algorithms
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.