Pilotfish: Distributed Execution for Scalable Blockchains

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Kniep, Quentin, Kokoris-Kogias, Lefteris, Sonnino, Alberto, Zablotchi, Igor, Zhang, Nuda
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866912231089766400
author Kniep, Quentin
Kokoris-Kogias, Lefteris
Sonnino, Alberto
Zablotchi, Igor
Zhang, Nuda
author_facet Kniep, Quentin
Kokoris-Kogias, Lefteris
Sonnino, Alberto
Zablotchi, Igor
Zhang, Nuda
contents Scalability is a crucial requirement for modern large-scale systems, enabling elasticity and ensuring responsiveness under varying load. While cloud systems have achieved scalable architectures, blockchain systems remain constrained by the need to over-provision validator machines to handle peak load. This leads to resource inefficiency, poor cost scaling, and limits on performance. To address these challenges, we introduce Pilotfish, the first scale-out transaction execution engine for blockchains. Pilotfish enables validators to scale horizontally by distributing transaction execution across multiple worker machines, allowing elasticity without compromising consistency or determinism. It integrates seamlessly with the lazy blockchain architecture, completing the missing piece of execution elasticity. To achieve this, Pilotfish tackles several key challenges: ensuring scalable and strongly consistent distributed transactions, handling partial crash recovery with lightweight replication, and maintaining concurrency with a novel versioned-queue scheduling algorithm. Our evaluation shows that Pilotfish scales linearly up to at least eight workers per validator for compute-bound workloads, while maintaining low latency. By solving scalable execution, Pilotfish brings blockchains closer to achieving end-to-end elasticity, unlocking new possibilities for efficient and adaptable blockchain systems.
format Preprint
id arxiv_https___arxiv_org_abs_2401_16292
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Pilotfish: Distributed Execution for Scalable Blockchains
Kniep, Quentin
Kokoris-Kogias, Lefteris
Sonnino, Alberto
Zablotchi, Igor
Zhang, Nuda
Distributed, Parallel, and Cluster Computing
Scalability is a crucial requirement for modern large-scale systems, enabling elasticity and ensuring responsiveness under varying load. While cloud systems have achieved scalable architectures, blockchain systems remain constrained by the need to over-provision validator machines to handle peak load. This leads to resource inefficiency, poor cost scaling, and limits on performance. To address these challenges, we introduce Pilotfish, the first scale-out transaction execution engine for blockchains. Pilotfish enables validators to scale horizontally by distributing transaction execution across multiple worker machines, allowing elasticity without compromising consistency or determinism. It integrates seamlessly with the lazy blockchain architecture, completing the missing piece of execution elasticity. To achieve this, Pilotfish tackles several key challenges: ensuring scalable and strongly consistent distributed transactions, handling partial crash recovery with lightweight replication, and maintaining concurrency with a novel versioned-queue scheduling algorithm. Our evaluation shows that Pilotfish scales linearly up to at least eight workers per validator for compute-bound workloads, while maintaining low latency. By solving scalable execution, Pilotfish brings blockchains closer to achieving end-to-end elasticity, unlocking new possibilities for efficient and adaptable blockchain systems.
title Pilotfish: Distributed Execution for Scalable Blockchains
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2401.16292