Architecture

There are three different types of objects (in Sui):

  • owned objects

  • shared objects

  • immutable objects

Owned objects are objects which belong to users. Only the user who owns the object can use it in a transaction. The ownership metadata is fully transparent and handled by the runtime. It’s implemented using public key cryptography — each owned object is associated with a public key (stored in the object’s metadata in the runtime) and anytime you want to use an object in a transaction, you need to provide the corresponding signature (Ed25519 is supported now with ECDSA and K-of-N multisig support coming soon).

Shared objects are similar to owned objects but they don’t have an owner associated with them. Therefore you don’t have to possess any private keys to be able to use them in a transaction (anyone can use them). Any owned object can be shared (by its owner) and once an object is shared it will forever remain shared — it can never be transferred or become an owned object again.

Immutable objects are objects which cannot be mutated. Once an object has been marked immutable, its fields can never again be modified. Similar to shared objects, these don’t have an owner and can be used by anyone.

Horizontal Scaling

On the Sui network, each group of transactions process in parallel, as opposed to the bottlenecking that occurs in some earlier blockchains due to any lack of distinction between the various objects, resources, accounts, and other components.

Composability

In Sui, unlike most other blockchains, one can directly pass an asset (such as an NFT), directly into a function argument. Sui’s object-centric approach also allows for more esoteric data structures, and the ability to store assets inside such data structures, or in an asset itself.

Sparse Replay

Naturally, a blockchain provides a ledger of every single transaction. For a Sui-specific example, game builders don’t need to track transactions interacting with unrelated dApps. Because querying on-chain data can be expensive, products on Sui will be able to follow the evolution of the objects in this game, without digging out the data from the Merkle tree.

Last updated