# Read-Uncommitted Transactions for Smart Contract Performance

**Authors:** Victor Cook, Zachary Painter, Christina Peterson, Damian Dechev

arXiv: 1905.12351 · 2019-05-30

## TL;DR

This paper introduces Hash-Mark-Set (HMS), a novel algorithm that enables Read-Uncommitted transactions in blockchain smart contracts, significantly improving throughput and offering new data communication techniques.

## Contribution

The paper presents HMS, a new algorithm for blockchain transaction processing that provides a Read-Uncommitted view, enhancing performance and introducing Runtime Argument Augmentation for external data access.

## Key findings

- HMS improves transaction throughput across various transaction mixes.
- HMS is compatible with Ethereum and can be integrated into existing smart contracts.
- RAA enables smart contracts to communicate with external data sources efficiently.

## Abstract

Smart contract transactions demonstrate issues of performance and correctness that application programmers must work around. Although the blockchain consensus mechanism approaches ACID compliance, use cases that rely on frequent state changes are impractical due to the block publishing interval of $O(10^1)$ seconds. The effective isolation level is Read-Committed, only revealing state transitions at the end of the block interval. Values read may be stale and not match program order, causing many transactions to fail when a block is committed. This paper perceives the blockchain as a transactional data structure, using this analogy in the development of a new algorithm, Hash-Mark-Set (HMS), that improves transaction throughput by providing a Read-Uncommitted view of state variables. HMS creates a directed acyclic graph (DAG) from the pending transaction pool. The transaction order derived from the DAG is used to provide a Read-Uncommitted view of the data for new transactions, which enter the DAG as they are received. An implementation of HMS is provided, interoperable with Ethereum and ready for use in smart contracts. Over a wide range of transaction mixes, HMS is demonstrated to improve throughput. A side product of the implementation is a new technique, Runtime Argument Augmentation (RAA), that allows smart contracts to communicate with external data services before submitting a transaction. RAA has use cases beyond HMS and can serve as a lightweight replacement for blockchain oracles.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1905.12351/full.md

## Figures

2 figures with captions in the complete paper: https://tomesphere.com/paper/1905.12351/full.md

## References

41 references — full list in the complete paper: https://tomesphere.com/paper/1905.12351/full.md

---
Source: https://tomesphere.com/paper/1905.12351