RUS  ENG
Full version
JOURNALS // Modelirovanie i Analiz Informatsionnykh Sistem // Archive

Model. Anal. Inform. Sist., 2020 Volume 27, Number 4, Pages 454–471 (Mi mais728)

This article is cited in 5 papers

Theory of computing

InnoChain: a distributed ledger for industry with formal verification on all implementation levels

V. A. Kukharenkoa, K. V. Ziborovb, R. F. Sadykovbc, A. V. Naumchevc, R. M. Rezinc, L. A. Merkin-Jansonc

a Moscow Institute of Physics and Technology, 9 Institutskiy per., Dolgoprudny, Moscow Region 141701, Russia
b Lomonosov Moscow State University, 1 Leninskie Gory, Moscow 119991, Russia
c Innopolis University, 1 Universitetskaya, Innopolis 420500, Russia

Abstract: The extent of formal verification methods applied to industrial projects has always been limited. The proliferation of distributed ledger systems (DLS), also known as blockchain, is rapidly changing the situation. Since the main area of DLSs' application is the automation of financial transactions, the properties of predictability and reliability are critical for implementing such systems. The actual behavior of the DLS is determined by the chosen consensus protocol, which properties require strict specification and formal verification. Formal specification and verification of the consensus protocol is necessary but not sufficient. It is required to ensure that the software implementation of the DLS nodes complies with this protocol. The verified software implementation of the protocol must run on a fairly reliable operating system. The so-called “smart contracts”, which are an important part of the applied implementations of specific business processes based on DLSs, must be verifiable as well. In this paper, we describe an ongoing industrial project that will result in a DLS verified at least at the four technological levels described above. We then share our experience with the formal specification and verification of HotStuff, a leader-based fault-tolerant protocol that ensures reaching distributed consensus in the presence of Byzantine processes.

Keywords: Byzantine fault tolerance, distributed consensus, blockchain, TLA+, verification, model checking.

UDC: 519.7

MSC: 93A30, 68Q60

Received: 18.11.2020
Revised: 02.12.2020
Accepted: 16.12.2020

DOI: 10.18255/1818-1015-2020-4-454-471



© Steklov Math. Inst. of RAS, 2024