Cryptology ePrint Archive: Report 2020/887

Updatable Blockchains

Michele Ciampi and Nikos Karayannidis and Aggelos Kiayias and Dionysis Zindros

Abstract: Software updates for blockchain systems become a real challenge when they impact the underlying consensus mechanism. The activation of such changes might jeopardize the integrity of the blockchain by resulting in chain splits. Moreover, the software update process should be handed over to the community and this means that the blockchain should support updates without relying on a trusted party. In this paper, we introduce the notion of updatable blockchains and show how to construct blockchains that satisfy this definition. Informally, an updatable blockchain is a secure blockchain and in addition it allows to update its protocol preserving the history of the chain. In this work, we focus only on the processes that allow securely switching from one blockchain protocol to another assuming that the blockchain protocols are correct. That is, we do not aim at providing a mechanism that allows reaching consensus on what is the code of the new blockchain protocol. We just assume that such a mechanism exists (like the one proposed in NDSS 2019 by Zhang et. al), and show how to securely go from the old protocol to the new one. The contribution of this paper can be summarized as follows. We provide the first formal definition of updatable ledgers and propose the description of two compilers. These compilers take a blockchain and turn it into an updatable blockchain. The first compiler requires the structure of the current and the updated blockchain to be very similar (only the structure of the blocks can be different) but it allows for an update process more simple, efficient. The second compiler that we propose is very generic (i.e., makes few assumptions on the similarities between the structure of the current blockchain and the update blockchain). The drawback of this compiler is that it requires the new blockchain to be resilient against a specific adversarial behaviour and requires all the honest parties to be online during the update process. However, we show how to get rid of the latest requirement (the honest parties being online during the update) in the case of proof-of-work and proof-of-stake ledgers.

Category / Keywords: foundations / Blockchain, Update, Ledger

Original Publication (with minor differences): 25th European Symposium on Research in Computer Security (ESORICS) 2020

Date: received 15 Jul 2020

Contact author: mciampi at ed ac uk,nikos karagiannidis@iohk io,akiayias@inf ed ac uk,dionyziz@gmail com

Available format(s): PDF | BibTeX Citation

Version: 20200716:133651 (All versions of this report)

Short URL: ia.cr/2020/887


[ Cryptology ePrint archive ]