Computer Science > Distributed, Parallel, and Cluster Computing
[Submitted on 8 Feb 2024]
Title:On Optimizing Deterministic Concurrent Scheduling for Smart Contracts and Blockchains
View PDFAbstract:Executing smart contracts is a compute and storage-intensive task, which currently dominates modern blockchain's performance. Given that computers are becoming increasingly multicore, concurrency is an attractive approach to improve programs' execution runtime. A unique challenge of blockchains is that all replicas (minors or validators) must execute all smart contracts in the same logical order to maintain the semantics of State Machine Replication (SMR). While non-conflicting transactions can be executed in any actual order, replicas need to enforce a unique logical order among all pairs of conflicting transactions.
In this work, we formally study the maximal level of parallelism obtainable when focusing on the conflict graphs between transactions packaged in the same block, rather than relying on the total ordering order. To that end, we describe a generic framework for Active State Machine Replication (ASMR) that is strictly serializable. The generic framework allows for shifting our focus to developing efficient execution engines for transactions without introducing non-deterministic results.
Then, we suggest the concept of graph scheduling, and the minimal latency scheduling problem, which we prove to be NP-Hard. We show that the restricted version of the problem for homogeneous transactions is equivalent to the classic Graph Vertex Coloring Problem, yet the heterogenous case is more complex. We discuss practical implications of these results.
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.