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

Model. Anal. Inform. Sist., 2020 Volume 27, Number 4, Pages 472–487 (Mi mais729)

This article is cited in 2 papers

Theory of computing

Architecture of the formally-verified distributed ledger system innochain

L. A. Merkin-Jansona, R. M. Rezina, N. K. Vasilyevba

a Innopolis University, 1 Universitetskaya, Innopolis, 420500, Russia
b National Research University Higher School of Economics, 20 Myasnitskaya St., Moscow 101000, Russia

Abstract: In this paper we consider the software architecture of InnoChain, a distributed ledger system (DLS) with 5 levels of formal verification, including a formally-verified underlying operating system (OS). The objective of this architecture is to achieve a higher level of DLS dependability compared to more traditional software architectures and quality assurance (QA) methods. The architecture of InnoChain includes (1) a programming language for smart contracts which is a domain-specific language with formal semantics embedded into CakeML, which is a functional language ofthe ML family; this allows us to carry out formal verification of smart contracts' correctness properties using higher-order logic systems, such as HOL4; (2) trusted compilation of smart contracts into the machine code using the verified compiler available for CakeML, rather than relying on a virtual machine for execution of smart contracts; (3) using CakeML for implementation of InnoChain node functionality which allows for formal verification of code correctness and trusted compilation into the machine code; (4) formal verification of the consensus protocol used InnoChain, namely HotStuff BFT; (5) using seL4, a formally-verified microkernel, as the underlying OS for InnoChain instead of more traditional general-purpose OSes such as Linux. The proposed verified architecture will allow InnoChain to be used in mission-critical applications, such as the decentralized Aircraft Fuelling Control System which is currently under development for JSC Aeroflot, the Russian national air carrier.

Keywords: distributed ledger systems, formal verification, HOL4, CakeML, seL4.

UDC: 519.7

MSC: 93A30, 68Q60

Received: 17.11.2020
Revised: 03.12.2020
Accepted: 16.12.2020

DOI: 10.18255/1818-1015-2020-4-472-487



© Steklov Math. Inst. of RAS, 2024