Sui is a new generation of blockchain technology. It is a decentralized smart contract platform that claims to be the successor of Facebook’s now-defunct Libra blockchain.
It is a blockchain designed for asset management with low latency. Thus, the network strives to ensure that digital assets on the blockchain, are treated as first-class citizens.
Using the Move VM underneath the protocol, Sui is quite different from any other existing blockchains. With recent backing from FTX Ventures and a16z ($140m and $36m respectively), Sui has caught our attention.
In this article, we’ll take a look at what Sui is, how it works, and why it might be one of the most significant innovations in crypto. We’ll be taking a look at the underlying tech, tokenomics, and team.
The Sui Network claims to be the most attractive L1 smart contract platform with high throughput via horizontal scaling. But what does this mean for web3 developers?
Before we continue discussing the Sui tech, we must first talk about the Solidity programming language.
Proposed in August 2014 by Gavin Wood, solidity was created as one of the first blockchain languages to implement core programming language principles utilizing well-known data types and data structures.
The language was further developed by Ethereum’s Solidity team, led by Christian Reitwiessner. It performed its job and is now a dominant language in the blockchain languages field.
However, solidity does not have first-class multi-asset support, despite its natural affinity for asset transfers. If the primary goal of blockchain languages is digital asset activity, then security is the primary feature.
The Move programming language is said to be intended to address these issues.
Move is an executable bytecode language. Its key feature is the ability to define custom resource types with semantics inspired by linear logic, meaning that digital resources can be moved between program storage locations but they cannot be cloned or implicitly discarded.
It promotes digital assets as first-class citizens, which are expressly designed for managing digital assets on the blockchain.
There is a difference in Data Models between EVM and Move. EVM assets are encoded inside a dynamically indexed mapping like owner_address -> <bytes assets> while Move has primitive data types used in it such as Boolean, Integer, fixed-size byte arrays, and address data type.
The Move language is interesting because the Move assets are arbitrary user-defined types. Any arbitrary assets are represented as entries in HashMap, which implies that updating the state is just changing the values of entries in the collection. Move objects are used to leverage assets, which can be changed by a series of transactions. According to the documentation, the language has built-in resource safety to allow digital assets to easily flow across contract borders while retaining their integrity.
The language also has the advantage of being data composable. It is always possible to create a new asset that includes an existing asset. The digital assets cannot escape the contract that defines them. On the other hand, they are considered first-class citizens in the Web3 domain and are entitled to have their language-specific type.
Now, let’s step back a bit to Sui, and relate everything together.
Using the Move programming language, Sui employs a unique approach to verifying transactions.
Let’s explore how these work, starting with Move.
Move allows users to define their types for custom-built digital objects. This has earned it a spot as the main contender for the future of smart contracts.
When Move modules are published to Sui storage, the Sui runtime executes once a custom initializer function is optionally defined in a module upon publishing for the purpose of pre-initializing module-specific data, such as creating singleton objects. It creates an instance from the class metadata, much like a constructor in other object-oriented languages like Java.
By defining its own types for custom-built digital objects, Move allows Sui to divide assets (objects) into categories based on ownership:
- Objects owned by an account address that can only be used by transactions signed by that owner account.
- Objects owned by another object that still exist independently as top-level objects and can be accessed directly.
- Shared objects that are mutable, do not have a specific owner, and can be included in transactions by different parties without any authorization.
- Immutable objects, which do not have a single owner, cannot be mutated by anyone once they are published and can only be passed as a read-only reference in calls.
To understand how Sui differs from existing blockchains, we must first comprehend the concept of simple and complex transactions.
There is no causal link between common transactions and other parts of the blockchain state, therefore, they are not interdependent. A common example would be an object owned by an account address or an object that is immutable/read-only. Complex ones often involve shared objects and are causally related.
This is where things start to make sense.
In the minority of cases where transactions are intertwined, Sui still allows them to be ordered and executed sequentially. This is done by using 2 different paths to consensus:
- Byzantine Consistent Broadcast for independent transactions and
- BFT consensus for dependent transactions.
Using Byzantine Consistent Broadcast (BCB) in tandem with Byzantine Fault-Tolerant Consensus (BFT), Sui offers a ‘multi-lane’ approach to validating transactions.
Through BCB, Sui can forego consensus and parallelize causally unrelated transactions. Thereby reducing latency and increasing throughput.
As long as the transactions involve different objects, a single address can send an arbitrary number of transactions to be executed in parallel via BCB.
Most blockchains require transactions to be ordered and placed into a block before they can be executed sequentially. Because most transactions are independent, sequential execution limits throughput on these chains unnecessarily. Sui requires that dependencies of transactions be explicitly stated, so it’s able to process them in parallel.
Furthermore, Sui is in an ideal position to scale horizontally (adding additional machines to existing validators) to achieve even higher throughput.
As a result of BCB’s leaderless nature, Sui also reduces the impact of a single point of failure (faulty validator) on the blockchain’s performance by avoiding leader bottlenecks in common transactions.
When dealing with complex (causally related) transactions, a more common BFT consensus is used. Even then, Sui boasts Narwhal and Tusk, a high-throughput mempool and consensus protocol offered by Mysten Labs to further optimize processes.
As a blockchain, Sui is extremely high-performance due to its transaction parallelization. It is well capable of processing over 120K token transfers per second. In tests carried out by Mysten Labs, Tusk has managed to achieve a peak throughput of 160,000 tx/sec with a 3-sec latency, which is largely maintained even under faults.
Sui can increase throughput linearly with more machines per validator because independent transactions can be validated in parallel.
This means that as a blockchain, Sui Scales.
Sui’s storage is built around objects, unlike most blockchains that are built around accounts. Each object belongs to an address and is mutable by default, but it can be made immutable or shared.
These objects can be received as inputs by Sui’s Move smart contracts, manipulated, and returned as outputs by the contracts. This makes it fundamentally different from other smart contract programming languages like Solidity or Rust.
This user-friendly programming is ideal for dynamic NFTs and crypto games that mix and modify digital objects regularly.
The Mysten labs’ team recently announced on their medium page, that the SUI token supply would be capped at 10B. The exact token distribution details will be released in the coming weeks.
But for now, we know that the Sui’s token will serve 4 roles:
- Staking / Security
- Transaction fees
- Unit of Account / Medium of Exchange
Because of changing network demand, most blockchains experience large fluctuations in gas costs. Sui uses a novel gas market design to keep gas prices low and predictable.
Sui runs in epochs. Every epoch (24 hours), the validator set changes. At that time, the new epoch’s validators vote on a reference gas price for the entire epoch.
As a result, the protocol provides several incentives for validators to maintain transaction fees close to the reference price throughout the entire epoch. Transactions submitted to Sui are processed at more predictable speeds as a result of more stable gas prices.
This improves the user experience. However, how do gas prices remain low during network congestion?
Validators can add more workers proportionally to increases in network demand because the network’s throughput scales linearly with more workers. As a result, prices remain close to the reference price.
Sui also addresses the issue of state bloat. When a user submits data to Sui’s “storage fund,” they must pay both gas fees and fees to Sui. This fund covers the actual cost of validators storing the user’s data.
Validators are paid out through the storage fund as the network matures and the cost of storage rises. Additionally, once a user no longer needs to store that data, they can delete it and receive a rebate from the storage fund.
Sui is built by Mysten Labs, a company building foundational infrastructure for Web3. The business was founded by Evan Cheng, Adeniyi Abiodun, Sam Blackshear, George Danezis, and Kostas Kryptos – all of whom were formerly building Novi/Diem at Meta.
Sui’s team is focusing on four key applications:
In addition to the Move programming language and the Narwhal/Tusk mempool and BFT consensus, these scientists and engineers developed many of the breakthroughs at Meta underlying Sui.
While early tests and signs point in the right direction, it will always be interesting to see how layer-1s respond to actual retail demand and usage. Mass adoption has always been a marketing buzzword used by new chains, but no network has sufficiently been able to scale as they promised.
Right now, all we can do is wait for the Sui mainnet launch. It is something that we at CryptoTvPlus, are anticipating.