7 min read

A Glance into Sui’s Object-Centric Data Model

Unlocking Sui's Blockchain Magic

Cover Image

Published on

16 May, 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.

2_XJ_9RnIFNCwR_upZZNFCyg.webp

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.

3_xRc9_p9-jVL3aksb0jCniQ.webp 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!

If you hold the SUI token, you can enhance your portfolio by staking to earn rewards. Leverage Luganodes' institutional-grade infrastructure to stake your holdings and create a passive income. Staking with us ensures ease of use, support, and safety while you earn, and also contribute to the security of the Sui chain.

Learn how to stake SUI tokens using this guide. You can learn more about staking on our website, and feel free to contact us for any queries!

About Luganodes

Luganodes is a world-class, Swiss-operated, non-custodial blockchain infrastructure provider that has rapidly gained recognition in the industry for offering institutional-grade services. It was born out of the Lugano Plan B Program, an initiative driven by Tether and the City of Lugano. Luganodes maintains an exceptional 99.9% uptime with round-the-clock monitoring by SRE experts. With support for 40+ PoS networks, it ranks among the top validators on Polygon, Polkadot, Sui, and Tron. Luganodes prioritizes security and compliance, holding the distinction of being one of the first staking providers to adhere to all SOC 2 Type II, GDPR, and ISO 27001 standards as well as offering Chainproof insurance to institutional clients.

Line pattern
© 2024 Luganodes | All rights reserved