A Tendermint Light Client

10/14/2020
by   Sean Braithwaite, et al.
0

In Tendermint blockchains, the proof-of-stake mechanism and the underlying consensus algorithm entail a dynamic fault model that implies that the active validators (nodes that sign blocks) may change over time, and a quorum of these validators is assumed to be correct only for a limited period of time (called trusting period). The changes of the validator set are under control of the blockchain application, and are committed in every block. In order to check what is the state of the blockchain application at some height h, one needs to know the validator set at that height so that one can verify the corresponding digital signatures and hashes. A naive way of determining the validator set for height h requires one to: (i) download all blocks before h, (ii) verify blocks by checking digital signatures and hashes and (iii) execute the corresponding transactions so the changes in the validator sets are reproduced. This can potentially be very slow and computationally and data intensive. In this paper we formalize the dynamic fault model imposed by Tendermint, and describe a light client protocol that allows to check the state of the blockchain application that, in realistic settings, reduces significantly the amount of data needed to be downloaded, and the number of required computationally expensive signature verification operations. In addition to mathematical proofs, we have formalized the light client protocol in TLA+, and checked safety and liveness with the APALACHE model checker.

READ FULL TEXT

page 27

page 28

page 30

page 31

page 35

page 36

research
01/08/2019

Superlight - A Permissionless, Light-client Only Blockchain with Self-Contained Proofs and BLS Signatures

Blockchain protocols are based on a distributed, public database where s...
research
03/14/2020

Generic Superlight Client for Permissionless Blockchains

We conduct a systematic study on the light client of permissionless bloc...
research
09/24/2018

Fraud Proofs: Maximising Light Client Security and Scaling Blockchains with Dishonest Majorities

Light clients, also known as Simple Payment Verification (SPV) clients, ...
research
07/05/2018

LinBFT: Linear-Communication Byzantine Fault Tolerance for Public Blockchains

This paper presents LinBFT, a novel Byzantine fault tolerance (BFT) prot...
research
12/06/2021

LightSync: Ultra Light Client for PoW Blockchains

Full nodes in a blockchain network store and verify a copy of the whole ...
research
04/26/2022

Digital Twins for Dynamic Management of Blockchain Systems

Blockchain systems are challenged by the so-called Trilemma tradeoff: de...
research
09/12/2019

Flow: Separating Consensus and Compute – Execution Verification

Throughput limitations of existing blockchain architectures are well doc...

Please sign up or login with your details

Forgot password? Click here to reset