Table of Contents
Fetching ...

A Study on Shared Objects in Sui Smart Contracts

Roman Overko

TL;DR

This novel study of shared object use cases in a relatively new smart contract platform is important for improving the efficiency of such object-based architectures and for smart contract platform designers and smart contract developers.

Abstract

In many smart contract architectures, every contract or object is mutably shared by default. The Sui smart contract platform bears the unique feature of distinguishing between shared and owned objects. While transactions operating on shared objects require consensus to sequence reads and writes, those involving only owned objects are independent and may bypass consensus; thus, the latter are less prone to this throughput bottleneck. However, it may not always be possible or desirable to avoid using shared objects. This article aims at identifying and investigating decentralized applications that require shared objects. Utilizing the Sui Rust SDK to query programmable transaction blocks, we analyze the frequency of transactions involving shared objects, shared resource contention levels, and most "popular" applications that contain shared objects. The presented results are reproducible and show the extensive usage of shared objects in Sui, low contention levels, and moderate dependency among shared objects in atomic transactions. This novel study of shared object use cases in a relatively new smart contract platform is important for improving the efficiency of such object-based architectures. This work is relevant for smart contract platform designers and smart contract developers.

A Study on Shared Objects in Sui Smart Contracts

TL;DR

This novel study of shared object use cases in a relatively new smart contract platform is important for improving the efficiency of such object-based architectures and for smart contract platform designers and smart contract developers.

Abstract

In many smart contract architectures, every contract or object is mutably shared by default. The Sui smart contract platform bears the unique feature of distinguishing between shared and owned objects. While transactions operating on shared objects require consensus to sequence reads and writes, those involving only owned objects are independent and may bypass consensus; thus, the latter are less prone to this throughput bottleneck. However, it may not always be possible or desirable to avoid using shared objects. This article aims at identifying and investigating decentralized applications that require shared objects. Utilizing the Sui Rust SDK to query programmable transaction blocks, we analyze the frequency of transactions involving shared objects, shared resource contention levels, and most "popular" applications that contain shared objects. The presented results are reproducible and show the extensive usage of shared objects in Sui, low contention levels, and moderate dependency among shared objects in atomic transactions. This novel study of shared object use cases in a relatively new smart contract platform is important for improving the efficiency of such object-based architectures. This work is relevant for smart contract platform designers and smart contract developers.
Paper Structure (14 sections, 7 figures)

This paper contains 14 sections, 7 figures.

Figures (7)

  • Figure 1: Number of TXs per epoch in Sui. Note a log scale on the y-axis.
  • Figure 2: Density of shared-object TXs per epoch in Sui.
  • Figure 3: Averaged contention degree per epoch for different time intervals in Sui. Note a log scale on y-axis.
  • Figure 4: Averaged contended fraction per epoch for different time intervals.
  • Figure 5: Average number of shared objects touched by TXs.
  • ...and 2 more figures

Theorems & Definitions (11)

  • Definition 1: Object
  • Definition 2: Owned objects
  • Definition 3: Shared objects
  • Definition 4: Epoch
  • Definition 5: Checkpoint
  • Definition 6: Interval
  • Definition 7: Contention
  • Definition 8: Shared-object transaction
  • Definition 9: Density
  • Definition 10: Contention degree
  • ...and 1 more