Formalism-Driven Development of Decentralized Systems
Decentralized systems have been widely developed and applied to address security and privacy issues in centralized systems since the advancement of distributed ledger technology. Meanwhile, formal methods play a pivotal role in delivering provably correct abstract models and concrete implementations. Most existing development processes use formal methods in the late stage and unable to guide the design and implementation, which seems to improve producibility and speed up delivery, but in fact brings huge potential risk and cost. In this paper, we formulate an iterative and incremental development process, named formalism-driven development (FDD), for developing provably correct decentralized systems under the guidance of formal methods. Besides, a framework is presented to practicalize FDD with a parallelable branching workflow and scaffolds including a new modeling language and generators to smooth the stage transition. Furthermore, we use a blockchain prototype developed with our framework as an instance to concretize the core concepts of FDD and demonstrate the effectiveness.
READ FULL TEXT