A Glance into Sui’s Object-Centric Data Model

Luganodes
Luganodes
Published in
7 min readMay 17, 2023

Developed by Mysten Labs, Sui is a L1 blockchain and smart contract platform designed to facilitate scalable and secure digital asset ownership among the masses. Unlike other blockchains, where storage is centered around accounts using data structures with key-value pairs, Sui’s storage is based on objects. This distinctive approach to storage opens up several avenues for Sui to scale operations on its network and perform a variety of tasks with unprecedented ease. In this report, we will delve into the significance of Mysten Labs’ object-centric approach, unravel its intricacies, and explore the unique features and benefits it brings to the Sui platform. By shedding light on this innovative technique, we aim to provide a comprehensive understanding of how Sui’s object-centric approach contributes to its overall capabilities and potential impact on the blockchain ecosystem. So, let’s Move forward!

If you are new to Sui, we highly recommend that you read our comprehensive report on the Sui network before continuing further. This article presents an analysis of Sui’s on and off chain metrics, and a brief discussion of its novelties among many fundamental concepts essential to make the reader familiar with the ecosystem. By familiarizing yourself with this information, you will gain a solid understanding of the Sui ecosystem and be better equipped to delve into the subsequent discussions.

The Object matter of Sui

Objects are the fundamental units of storage in Sui. In Sui, objects can be classified into two main categories: owned objects and shared objects. Owned objects include non-fungible tokens (NFTs) and fungible tokens, while shared objects encompass decentralized exchanges (DEXs) and auction contracts. Every object in Sui contains a metadata field called “owner” that specifies the ownership status and determines how the object can be utilized in transactions. Ownership of objects in Sui can be categorized into four types:

  1. Objects owned by an address: These are objects that are directly owned by a specific address on the Sui network. The address owner has full control over these objects and can execute transactions involving them e.g., NFTs or fungible tokens.
  2. Objects owned by another object: Some objects in Sui can be owned by other objects. In this case, the owner field of the object references another object that possesses ownership rights. The owner object governs how the owned object can be utilized in transactions e.g., with gaming NFTs, a shirt NFT could be owned by an woman NFT.
  3. Immutable objects: Certain objects in Sui are designated as immutable, meaning their ownership cannot be altered or transferred. These objects typically represent static information or permanent records that cannot be modified. All Sui Move packages are immutable objects.
  4. Shareable objects: Sui allows for objects that can be shared among multiple owners. These objects can have shared ownership, enabling collaboration and participation in various transactions by multiple parties. Shared objects require consensus to sequence reads and writes e.g., DEXs or auction contracts.

By categorizing object ownership into these four types, Sui provides flexibility in managing and utilizing objects within its network, allowing for diverse use cases and decentralized applications.

Different but how?

The object model implemented in Sui has significant implications for managing the global state of the network. Unlike maintaining a single aggregate state, Sui operates by managing individual object states. These objects and their associated data are stored in an object store or pool on the network’s distributed ledger, forming a directed acyclic graph (DAG) where nodes and vertices represent the objects and the transactions. The genesis transaction is the root of this DAG. Transactions within this graph move in a single direction and never return to previous states, giving rise to the directed and acyclic nature of the graph.

Typically, transactions in traditional blockchains involve modifying the assets associated with a specific address. As a result, a simple transfer of assets requires two updates in the ledger: one for the sender and another for the recipient. In contrast, object-centric networks handle transactions by changing the data associated with the object itself (such as the owner’s address in the case of a simple transfer). This approach only requires a single update to the ledger (when transferring the entire object). Therefore, the complete history of an object, for instance a mountain NFT, all the way to its inception can be traced back using the DAG. Since the relationship between objects and transactions is registered in a directed acyclic graph (DAG), the execution of transactions also has some unique consequences.

No more queues!

Transactions in Sui take objects as input. They read, write, and mutate these inputs, resulting in modified or newly created objects as output. Each object contains the hash address of the last transaction that produced it. Transactions are grouped by objects, allowing validators to process transactions of different objects in parallel, either in relation to each other or on separate machines.

Let’s consider the example depicted in the figure. It involves two unrelated transactions: a transfer of assets from Bob to Alice and another transfer from Jim to Pam. In a typical blockchain, even though these transactions are unrelated, they still need to be sequentially ordered before being recorded on the ledger. However, in an object-centric model, there is no need for sequencing, and these transactions can be simultaneously recorded on the ledger. In fact, if Bob possesses two different objects, each holding 1 USDC, he can transfer these assets to both Alice and Pam at the same time. On the other hand, in an address-centric model, sequencing becomes necessary to validate the sender’s balance.

This parallel processing capability enables Sui to handle massive scale transaction submission and execution. Sui employs a causal-ordering approach to process and execute transactions. If the objects involved in two transactions are completely independent, they can be processed in parallel without waiting for full consensus sequencing.

Hence, transactions related to objects that are not shared, often referred to as single owner objects, do not require sequencing by validators. These transactions are subjected to a lightweight algorithm known as Byzantine Consistent Broadcast.

Transactions that involve shared objects in Sui undergo sequencing and consensus through the Narwhal and Bullshark protocols. The Narwhal protocol ensures the availability of submitted transaction data and enables consensus among the nodes. The Bullshark protocol agrees on a specific ordering of the transactions based on the structure of the DAG.

gotcha…

In transactions that involve partial transfers of an object’s assets, an intermediate step of splitting the object is necessary. Let’s take an example where Bob has two objects, Object A and Object B, each holding 10 USDC, and he wants to transfer 5 USDC to Alice. To achieve this, Object A is split into two new objects, Object C and Object D, with each holding 5 USDC while still being owned by Bob. Subsequently, the ownership of Object C is transferred to Alice.

Now, if Bob wants to transfer 12 USDC to Jim, Object D needs to be split further. This process can quickly result in a large number of objects being created. Eventually, Bob may need to request numerous transactions to transfer ownership of a specific type of token. While the Sui native wallet API provides users with the capability to consolidate small denomination objects into larger denomination objects, the need for object division and recombination introduces intricacy to the ledger’s design, which represents a drawback of Sui’s object-centric approach.

Although these measures are in place to maintain the performance and stability of the network, setting an upper limit on transaction size and the number of objects that can be involved in a single transaction are also limitations to transactions and the associated data.

Pretty Sui-t!

In essence, Sui’s distinct object-centric paradigm, combined with the Move programming language, enables several noteworthy features. These include parallel execution, sub-second finality, and a wide range of on-chain assets. After a triumphant Wave 2, the Sui Mainnet is now live and the launch of new projects and collaborations with gaming ecosystems on the network has effected an upsurge in the network’s user activity. Stay tuned for developments on Sui’s Web3 gaming revolution!

About Luganodes

Luganodes is a Swiss-operated institutional-grade non-custodial staking provider born out of Lugano Plan B Program, an initiative driven by Tether & City of Lugano. Currently, they are the world’s fastest growing provider with AUM ~$700 million worth of staked assets live on 18+ PoS networks. Luganodes is one of the top validators on Polygon and Tron, making them the leading block producers in every ecosystem.

Luganodes is a verified staking provider with AAA ratings given by Staking Rewards, showcasing their expertise in blockchain infrastructure space amongst the world’s Top 5 verified providers.

Website | Twitter | Telegram | LinkedIn

--

--

Luganodes
Luganodes

The fastest growing staking prodigy of Lugano Plan B, an initiative driven by the city of Lugano and Tether.