For creators & developers; building for the next billion Web3 users
On 8 September 2022, Mysten Labs announced the closing of a $300 Million Series B funding round led by FTX Ventures at a $2 Billion valuation, with participation from ourselves, Bixin Ventures, alongside other investors such as A16Z, Jump Crypto, Binance Labs, Coinbase Ventures etc. Mysten Labs previously raised $36 million at the end of 2021 in a Series A funding round led by Andreessen Horowitz.
Sui by Mysten Labs is a decentralised, proof of stake blockchain with horizontally scalable throughput and storage. The team behind Mysten Labs came from Novi Research, the advanced blockchain R&D division within Meta that was working on the execution and cryptography of the Diem blockchain and Move programming language. The founding team includes CEO Evan Cheng, CPO Adeniyi Abiodun, CTO Sam Blackshear (creator of Move), Chief Scientist George Danezis and Chief Cryptographer Kostas Chalkais.
In this article below, we will discuss how Sui manages to achieve its high throughput and low latency before looking at the security features. We then touch on Sui’s economic model and upcoming roadmap before providing our concluding thoughts.
A Sui validator managed to process over 120,000 TPS under test conditions which simulated a client submitting a batch of 100 transactions to 100 distinct recipients within a single signature, modelled after the usage pattern of a custodial wallet or game servers that would need that sort of throughput. Sui can achieve sub-second finality on independent transactions and about 2 seconds time to finality on more complex transactions involving shared objects.
Key to Sui’s high throughput is its novel data model which allows dependencies to be explicitly encoded and enables parallel execution, with low latency achieved through a collaborative approach to transaction submission.
Enabling Parallel Execution through a Novel Data Model
There are two types of assets in Sui’s data model:
- owned objects where only the owner have modification rights, and
- shared objects where there is no specific owner and can be modified by more than one user.
By making data dependencies explicit, Sui can apply a multi-lane approach to transaction validation where independent transactions can forgo consensus by using simpler algorithms based on Byzantine Consistent Broadcast. Shared objects will instead go through ordering through Sui’s novel peer-reviewed consensus protocol based on Narwhal and Bullshark/Tusk (covered later in the article), similar to usual BFT consensus in typical blockchains.
Collaborative Approach to Transaction Submission
Transactions on Sui are validated individually, rather than being batched up in traditional blocks. Through the transaction submission process elaborated below, a cryptographic proof of finality can be achieved with low latency.
Sui transaction submission follows these steps:
- Client (user) with a private key signs a transaction to mutate objects that they own/share with others.
- The user transaction is sent to Sui validators, who then vote on the validity of the transaction based on their stake weight under the rules of Proof of Stake, and return their responses to the user.
- The Client (user) will then collect all the votes from the validators. If > ⅔ of the validators acknowledge the validity of the transaction, a transaction certificate is formed. This transaction certificate is then broadcasted back to all the validators who will then execute the transaction. In the event shared objects are involved, the validators will send the transaction certificate to the Byzantine Agreement Protocol for sequencing before executing it.
- Once > ⅔ of the validators have executed the transaction certificate, finality is achieved and state changes will be committed.
Overall, Sui gets very low latency for shared object transactions with Narwhal, and the data model allows Sui to leverage all of the parallelism available in the workload. Sui can get even lower latency for single-owner object transactions, and the workload is parallel by construction.
Programming Language — Move
Move was initially developed at Facebook for writing safe smart contracts. It is platform-agnostic and enables shared libraries, tooling and developer communities across blockchains. The language design places emphasis on safety, preventing issues such as re-entrancy vulnerabilities, poison tokens and spoofed token approvals where many Web3.0 users have fallen victim to.
To provide additional protection, Move was co-developed with the Move Prover verification tool which allows developers to write formal specifications for the key correctness properties of their application, and use the prover to check for correct execution of the code, all within 30 seconds.
The biggest advantage of Move is the data model for its assets which allows for high composability. Move assets are arbitrary user-defined types; this means that assets can be passed as arguments, stored inside other assets and more importantly, move freely across contract boundaries without losing their integrity. This is a stark contrast to EVM assets written in Solidity, where they are forever trapped within the contract that defines it. This means that Sui can enable dynamic NFTs where they can be upgraded and customised specifically for a use case (e.g. avatars and items in a game). The upgradeability of these NFTs will create stronger in-game economies with the value of upgraded NFTs fully reflected on-chain, opening up more possibilities when it comes to creative user-app interactions.
Moreover, Sui has also made certain changes to Sui Move from core Move, most notably on the global storage operators and key abilities. These changes optimise the storage and address mechanisms, allowing greater code flexibility for developers and enabling human-readable signing requests through information available directly in the function signature, thereby increasing security for the user.
While not a perfect indication of developer adoption, the Move Github repository has a total of 710 stars as of 16/8/2022, as compared to Solidity (38.4k), Rust (68.9k), Ink! (950), Cairo (786). However, it is worthwhile noting that it was part of the Diem repo (16k) previously and we should continue to monitor the usage and uptake of the language as Sui progresses.
Read here for our previous primer on Move.
Consensus Engine: Narwhal & Bullshark
Sui separates out the responsibilities of ensuring data availability and agreement on the specific ordering of the data with the help of Narwhal and Bullshark/Tusk respectively. Although Narwhal can also be used with an external consensus algorithm, such as HotStuff (used originally by Diem) and Tendermint (used mostly within Cosmos SDK), we believe the following points show why Tusk and eventually Bullshark were the choice of consensus algorithms.
- Both Bullshark and Tusk can scale in terms of increased TPS as the validator set grows as increased number of validators leads to optimised use of all resources. HotStuff suffers on TPS as the validator set increases
- During periods of partial synchrony, Tusk offers better throughput than Bullshark and HotStuff (up to 160,000 TPS vs 130,000 TPS vs 70,000 TPS), but loses out on latency (3 seconds vs 2 seconds vs 2 seconds)
- Both Bullshark and Tusk can maintain a good level of throughput even under situations of crash faults where up to ⅓ of the validators are faulty
- Tusk also offers liveness guarantees during periods of asychrony, whereas HotStuff is unable to do so. Bullshark allows validators to change their voting type to “fallback“ during times to asynchrony, giving it the same liveness properties as Tusk. Once periods of asychrony ends, validators can change their voting type back to “steady-state”, and offer low latency again
- Tusk is unable to distinguish between faulty and slow validators, and hence the protocol will proceed without them. This results in fairness issues since “slow” validators may never be able to commit transactions. Bullshark gets around this problem ensuring all honest validators will eventually be able to contribute transactions with the help of garbage collection.
To sum it up, the choice of Bullshark allows for high throughput (up to 130,000 TPS) and low latency (2 seconds), while having the option to preserve liveness properties in times of asynchrony.
Sui’s Economic Model
The native token SUI will have a total supply capped at 10 billion. The initial circulating supply, vesting schedules for remaining tokens and future stake reward subsidies remain undisclosed at the time of writing.
The token will serve four main purposes, mainly:
- Staking within an epoch as part of DPoS
- Asset required to pay gas fees
- Unit of account, medium of exchange or store of value used within the Sui ecosystem
- Participation in on-chain governance
- Users, who submit transactions to the Sui platform
- Token holders, who have the option of delegating their token to validators and participate in the Delegated Proof-of-Stake mechanism and also the ability to participate in governance
- Validators, who manage transaction processing and execution on the platform
Sui’s economic model has been designed at the frontier of blockchain economic and incentives research. The overarching goal has been to implement an economic system aligning incentives across the various entities participating in the Sui ecosystem. We look at some of these mechanisms below.
Sui’s Delegated Proof-of-Stake mechanism is used to align incentives across participants in Sui’s regular operations. Users delegate tokens to validators and this ‘stake’ determines a validator’s voting power when processing and executing transactions. Validators are compensated for their services through stake rewards, which are distributed roughly in proportion to a validator’s amount of total stake. Since most of a validator’s tokens are delegated from third-party token holders, a validator passes on the rewards to these third parties while keeping a small commission for itself.
Sui’s economic model bestows Sui users with an important monitoring role. On the one hand, users want their transactions to be processed as quickly and efficiently as possible. User clients such as wallets encourage this by prioritizing communication with the most responsive validators. Such efficient operations are compensated with boosted rewards relative to less responsive validators. On the other hand, SUI token delegators receive the same boosted or penalized rewards as their delegate validator. An unresponsive validator is thus doubly exposed to Sui’s incentives: they lose directly through slashed rewards and indirectly through reduced delegated stake in future epochs as stakers move their tokens to more responsive validators.
Gas Pricing Mechanism
At the start of each epoch (approx. 24h hours), validators agree on a network wide reference gas price, i.e. the minimum gas price the authority is willing to process transactions. From the gas price survey submitted by the validators, the quotes are ordered and the ⅔’s percentile by stake weight will then form the reference gas price. This gives Sui users a reference price when submitting their transactions, giving better user experience through predictability of gas prices.
Apart from the amount of delegated stake held by the authority, boosted staking rewards are also paid out as a function of (a) submitting a price quote below the reference price and (b) honouring the price quote they have set. In the case of (a), validators that submit a price quote below the reference price will receive boosted rewards. In the case of (b), validators will assign a multiplier for other validators based on their subjective evaluation on whether the validators have honoured their price quotes. A global multiplier is then built from the set of individual multipliers submitted by validators and good behaviour will be rewarded. Ability to execute both will lead to boosted rewards when it comes to stake rewards payout.
Therefore, since users will move towards validators that can process their transactions more quickly and efficiently in return for higher rewards, validators that underperform will lose out; through a reduction in rewards and also reduction in delegated stake in the future epochs.
Overall, the gas price mechanism works in tandem with the engineering design to deliver the key goals (a) low and predictable transaction fees for users, (b) incentivise validators to optimise their transaction processing operations and © to prevent spam and DDoS attacks.
Sui also includes an efficient and sustainable economic mechanism for pricing data storage. Beyond Sui’s high throughput and low latency, a key Sui feature is its ability to handle arbitrary amounts of on-chain data. The Sui storage fund is designed to provide future validators with a viable business model: To compensate future validators for storing on-chain data they did not obtain computation gas fees from at the moment of write.
This economic design provides a healthy financial model to power Sui’s composability and programmability. Developers will be able to implement dynamic assets that can be upgraded and customised and the economics will ensure these large amounts of data will be easily accessible on-chain at a reasonable cost.
The storage fund’s design stems from the following challenge: validators who process and write data into storage today may not be the same validators in the future that need to store that data. Therefore, a portion of user fees will be attributed to the storage fund which will then redistribute transaction fees paid for storage to future validators.
When on-chain storage requirements are high, validators will receive additional rewards to compensate them for their costs. As part of the system design to give longevity to the storage fund in order to fund perpetual storage costs, it is important to note that rewards are never paid out of principal, but rather a redistribution of the return on capital. What this means is that validators who incur higher costs during high demand for storage effectively receive a larger amount of stake rewards as compensation.
Sui’s storage model also includes a delete option where users can obtain a fee rebate whenever they delete previously stored on chain data. This serves as a self-regulating throttle mechanism by which users delete data whenever storage is no longer needed.
Overall, with increased on-chain activity, larger storage requirements leads to a larger storage fund, which effectively removes SUI tokens from circulation and, potentially, exerts deflationary pressure over the SUI ecosystem.
Sui has announced that the incentivised testnet will be launched in August 2022. The testnet will be organised as a series of “waves” which consists of (a) an operational challenge (“sink”) and (b) a Move-based developer challenge (“swim”)
Details of the first three waves (Network, Staking, Updates) have been announced which will aid the robustness of the protocol. The key goals of the testnet is to battletest the security and performance of the Sui software, sustain operational excellence from the network validators, and validate the developer experience through Move-powered dApp implementations before the eventual mainnet. Over the next few weeks, more information on each of the “waves” in terms of dates, milestones and requirements will be released.
Below are a few live initiatives that can help aid with the ecosystem growth.
- Gaming SDKs
A series of API and Unity SDK that will allow gaming developers to interact with the Sui blockchain and Move language. Developers will also get access to the user base of the L1 blockchain and other assets and applications built on Sui. Sui wants to provide the benefits of dynamic and composable on-chain assets with verifiable ownership for a new wave of Web3.0 games.
Rushdown Revolt, a next-generation fighting game, plans to use Sui to support their creator economy with low-fee USDC on-chain transactions. Chris Kovalik, creative director of Rushdown Revolt, says, “Sui enables an otherwise impossible revenue share of 95% with tournament organizers and artists whose work helps gaming communities like ours thrive.”
- Cross Chain Bridges
Despite scrutiny over the security of cross chain bridges after the recent hacks, they remain an important piece of blockchain infrastructure to provide the Sui ecosystem with all the existing liquidity within the crypto space. There will be at least 2 cross chain bridges (undisclosed) on Sui at mainnet.
- Developer Tooling
Sui has now implemented a new Rust SDK, a collection of Rust language JSON-RPC wrapper and crypto utilities. This can help attract Rust developers from existing blockchain communities (e.g. Solana) or the wider Rust communities (e.g. Amazon, Meta, Cloudflare etc.).
Sui is an extremely performant L1 blockchain with a new programming language Move that promotes safer and more flexible smart contract writing. While Sui can be considered a general purpose blockchain, we recognise that the ability to create on-chain value for assets through composability and upgradeability lends well to gaming and NFT applications. In terms of roadmap, the steps they have taken towards growing the developer base is a positive one. With the upcoming hackathon, this could spur the growth of the Sui dApp ecosystem which should then bring on new users.
As Sui continues to progress both in developer activity and user activity (and increased transactions), we can then make a more substantial assessment on Sui’s blockchain design and the resulting performance. Moreover, it is only when there is sufficient economic activity that the sustainability of the economic model can then be assessed more critically.
To sum it all up, while we continue to take a multi-staged approach in our assessment, we would like to highlight the greatest asset of Sui: their founding team. The team have had substantial inputs in the creation of the programming language Move and also into the design of the state-of-the-art consensus engine in Narwhal & Bullshark, a testament to their technical expertise in building scalable systems. We look forward eagerly to the launch of Sui and am glad to be on their journey in making Web3.0 more accessible for everyone.
If you are a founder buidling on Sui, do reach out to us for a chat!