Table of Contents
Fetching ...

A Scalable State Sharing Protocol for Low-Resource Validator Nodes in Blockchain Networks

Ruben Hias, Weihong Wang, Jan Vanhoof, Tom Van Cutsem

TL;DR

A new protocol that allows validator nodes to participate in a blockchain network without the need to store the full state of the network on each node is introduced, to use the blockchain network as both a replicated state machine and as a distributed storage system.

Abstract

The perpetual growth of data stored on popular blockchains such as Ethereum leads to significant scalability challenges and substantial storage costs for operators of full nodes. Increasing costs may lead to fewer independently operated nodes in the network, which poses risks to decentralization (and hence network security), but also pushes decentralized app developers towards centrally hosted API services. This paper introduces a new protocol that allows validator nodes to participate in a blockchain network without the need to store the full state of the network on each node. The key idea is to use the blockchain network as both a replicated state machine and as a distributed storage system. By distributing states across nodes and enabling efficient data retrieval through a Kademlia-inspired routing protocol, we reduce storage costs for validators. Cryptographic proofs (such as Merkle proofs) are used to allow nodes to verify data stored by other nodes without having to trust those nodes directly. While the protocol trades off data storage for increased network bandwidth, we show how gossiping and caching can minimize the increased bandwidth needs. To validate our state sharing protocol, we conduct an extensive quantitative analysis of Ethereum's data storage and data access patterns. Our findings indicate that while our protocol significantly lowers storage needs, it comes with an increased bandwidth usage ranging from 1.5 MB to 5 MB per block, translating to an additional monthly bandwidth of 319 GB to 1,065 GB. Despite this, the size remains small enough such that it can be passed to all nodes and validated within Ethereum's 12-second block validation window. Further analysis shows that Merkle proofs are the most significant contributor to the additional bandwidth. To address this concern, we also analyze the impact of switching to the more space-efficient Verkle Proofs.

A Scalable State Sharing Protocol for Low-Resource Validator Nodes in Blockchain Networks

TL;DR

A new protocol that allows validator nodes to participate in a blockchain network without the need to store the full state of the network on each node is introduced, to use the blockchain network as both a replicated state machine and as a distributed storage system.

Abstract

The perpetual growth of data stored on popular blockchains such as Ethereum leads to significant scalability challenges and substantial storage costs for operators of full nodes. Increasing costs may lead to fewer independently operated nodes in the network, which poses risks to decentralization (and hence network security), but also pushes decentralized app developers towards centrally hosted API services. This paper introduces a new protocol that allows validator nodes to participate in a blockchain network without the need to store the full state of the network on each node. The key idea is to use the blockchain network as both a replicated state machine and as a distributed storage system. By distributing states across nodes and enabling efficient data retrieval through a Kademlia-inspired routing protocol, we reduce storage costs for validators. Cryptographic proofs (such as Merkle proofs) are used to allow nodes to verify data stored by other nodes without having to trust those nodes directly. While the protocol trades off data storage for increased network bandwidth, we show how gossiping and caching can minimize the increased bandwidth needs. To validate our state sharing protocol, we conduct an extensive quantitative analysis of Ethereum's data storage and data access patterns. Our findings indicate that while our protocol significantly lowers storage needs, it comes with an increased bandwidth usage ranging from 1.5 MB to 5 MB per block, translating to an additional monthly bandwidth of 319 GB to 1,065 GB. Despite this, the size remains small enough such that it can be passed to all nodes and validated within Ethereum's 12-second block validation window. Further analysis shows that Merkle proofs are the most significant contributor to the additional bandwidth. To address this concern, we also analyze the impact of switching to the more space-efficient Verkle Proofs.
Paper Structure (32 sections, 7 figures, 1 table)

This paper contains 32 sections, 7 figures, 1 table.

Figures (7)

  • Figure 1: Bucket distribution in Kademlia
  • Figure 2: Lifecycle of a transaction that changes address 100 to the value at address 111, which is 2.
  • Figure 3: Effect of the bucket size (k) on the amount of iterations in state search
  • Figure 4: The average amount of additional bandwidth per block w.r.t. the prefix length of a node with no cache
  • Figure 5: The average amount of additional bandwidth per block w.r.t. the size of the cache on a node with no fixed storage
  • ...and 2 more figures