Skip to content (access key 's')
Logo of Technion
Logo of CS Department
Logo of CS4People
Events

The Taub Faculty of Computer Science Events and Talks

A Coloring-based Approach for Concurrent Execution of Transactions and Smart Contracts in Active Replication and Blockchain Systems
event speaker icon
Yaron Hay (M.Sc. Thesis Seminar)
event date icon
Wednesday, 15.03.2023, 11:30
event location icon
Taub 301
event speaker icon
Advisor: Prof. Roy Friedman
Blockchain Networks, especially those with Smart Contracts, are well-known examples of Active Replication Systems. Active Replication Services are available thanks to a group of servers called replicas that handle client requests. Each server maintains a local copy of the global state of the service, and all servers update their local copy at synchronized incremental steps. At the i-th step, all servers receive the *same* transaction from a global ordering service, execute it and apply the results to their local copies. The (i+1)-th step repeats this process for the next transaction. The combination of a consistent global ordering protocol and having all transactions are inherently deterministic guarantees that all replicas will eventually have the same exact state (for each step taken). It is imperative for replicated services. However, this comes at a loss in performance because of the restriction to executing only one transaction at any given time. Sequential execution prevents us from utilizing the capabilities of multicore processors by processing multiple transactions in parallel. In this lecture, we will define formal models that allow for consistent concurrent execution while maintaining deterministic results at all replicas, and discuss ways to maximize concurrency. We'll explore the connection between Graph Vertex Coloring and minimizing overall latency. Then describe practical approaches to solving this problem in real-world applications, with experimental evaluation for two popular benchmarking frameworks. Lastly, we'll describe how to implement concurrent execution while replacing lock-based synchronization primitives with cheap signals for communication.