Web3.com Ventures Original Research Analysis

0xFishylosopher

Introduction

The Sui blockchain is one of the major new L1 projects utilizing the Move language, and has gathered major media and capital attention in its technological developments [1]. Compared with many other new L1 blockchains, particularly with Aptos, Sui boasts a whole set of experimental designs, technological innovations, and unique tokenomics to provide a blockchain that “scales horizontally” with virtually unlimited upside [2]. Within this article, I will walk through the primary technological breakthroughs of Sui, as well as the project’s unique tokenomics model, before providing a critical assessment of Sui’s potential as a scalability-focused L1 chain.

Sui Technical Principles

There is a wide variety of technical innovations that Sui as a project makes that all aim to optimize transaction speed and throughput, particularly for simple peer-to-peer transactions. In this section, I will focus on three of the most prominent technological innovations: the modification of the Move language to create Sui Move, the handling of “simple transactions” without consensus, and the unique Narwhal-Tusk consensus engine.

Sui Move

First, unlike Aptos and other Move-language projects that directly take Meta Libra’s original Move language “out-of-the-box,” Sui uses its own custom version of the Move language, Sui Move, to write its smart contracts. Move, as a resource-based smart-contract language implemented using ability-enabled structs, is naturally optimized for parallel execution. But while the original Diem-Move language was developed with a “permissioned system” in mind where access control was strictly enforced, Sui’s idea of mass-adoption necessitates a much more open system in order to accelerate onboarding. To this end, Sui Move creates more primitive functions, such as the transfer function, that allow for “frictionless mass asset creation” [3].

Sui’s other modifications to the Move-language include a clean-up of Move’s typing systems to allow for a much smoother programming experience. Through allowing native-typed asset transfers and ownership, developers do not need to use “wrapper patterns” like in the traditional Move language. Sui Move’s optimization of resource “typing” also allows for the bundling of different-typed assets together into a larger container of assets, thus extending the functionality of custom-defined types and allowing for a cleaner polymorphism structure [3].

Simple “Single-Writer” Transactions

Sui’s handling of simple “single-writer” transactions is arguably the project's most important innovation, and the key underwriter for the project’s scalability. Single-writer transactions, as its name suggests, include common blockchain transactions such as peer-to-peer payments and NFT transfers where there is only one sender involved. Sui states that it “optimizes for single-writer objects, allowing a design that forgoes consensus for simple transactions” [4]. This seems contradictory to the principles of blockchain design — after all, the consensus is the crucial step in making sure the data sent over the blockchain is secure. So how does Sui handle data security without consensus?

The key here is that Sui uses an algorithm known as “Byzantine Consistent Broadcast,” a simpler algorithm that eliminates overhead from traditional consensus approaches, but still guarantees security and liveness under Byzantine adversarial conditions (basically the standard security requirement for consensus). This algorithm is actually fairly similar to the Transport Layer Security (TLS) algorithm that is traditionally used by webpages to establish a secure connection [5].

In a traditional consensus mechanism, there is a “fire-and-forget” approach for the sender, where after submitting a transaction to the validators, the sender does nothing more with the transaction, and the validators do all the work [6]. This is because validators need to check that the transaction does not conflict with the other transactions sent in by other clients. But in the case of a simple “single-writer” operation, we already know that there will not be other conflicting writes from other senders. Therefore, we can offload the computational burden of tallying votes to the sender, rather than use up valuable validator computation.

More specifically, simple transactions undergo the following four steps [6]:

  1. The sender sends transaction data to the validators, and keeps a record that it has sent this transaction

  2. The validators send their (proof-of-stake weighted) votes back to the sender

  3. The sender tallies up all of the votes received by validators, and once it crosses the validation threshold, creates a “verification certificate” that is sent back to the validators

  4. The validators receive this certificate, check validity and instantly finalize this transaction.

Because the validators do not need to communicate with each other (as in the case of traditional consensus), this ingenious algorithm allows simple-transactions have very little computational costs for validators on the Sui network, while the certificate mechanism also provides these transactions with a fair level of robustness on the security side.

More importantly, this algorithm is highly scalable. Because of this ingenious algorithm, the Sui network theoretically does not have an upper bound on the number of simple transactions that it can process. Since the main computation of tallying up validator votes is done on the client-side, as more and more people use the Sui network, the validators don’t need to face the same computational pressure as Ethereum, Solana, or even Aptos faces (the users essentially DIY computation). This is why the creators of Sui advertise the blockchain as being qualitatively different compared to other blockchains in that it uses a “horizontal scaling” strategy [7].

Narwhal-Tusk Consensus Engine

Of course, while Sui may optimize for simple single-writer transactions, it also has a more “traditional” global consensus mechanism used for more complex transactions and to periodically checkpoint the global state of the blockchain. This consensus engine, leveraging graph (more specifically DAG) data structures, is also a cutting-edge consensus mechanism in and of itself. There are two primary components to Sui’s consensus engine [8]:

  1. Narwhal, Sui’s mempool, or basically a butler keeping pending consensus transactions in check

  2. Tusk (and its predecessor Bullshark), protocols that ensure the ordering of the consensus transactions

Narwhal essentially takes a bunch of pending transactions and “graph-ifies” these while they are waiting to be processed [9]. Instead of rolling up transactions into confirmation blocks like in a traditional blockchain consensus, Narwhal will stamp transactions with a version number, as well as with pointers to version numbers of previous transactions, thereby creating a directed acyclic graph (DAG) that is a kind of like a file tree. This DAG structure is quite similar to Arweave’s notion of a “blockweave,” which turns the 1-dimensional LinkedList-like structure of a “blockchain” into a file-tree like graph in order to allow for more efficient storage of data [10].

Tusk is also essentially a modified-version of the HotStuff consensus protocol, optimized for the DAG-structure of that Narwhal provides, focused on reducing the overhead communication between the validators on the network. When Narwal and Tusk are used in conjunction, they can achieve up to “160,000 tx/sec with about 3 seconds latency” under traditional Byzantine Fault Tolerance (BFT) conditions [9]. Thus, the Narwal-Tusk transaction efficiency is already cutting-edge, even without considering the additional optimization that Sui implements for single-writer transactions using the Byzantine Consistent Broadcast algorithm mentioned above.

Sui Tokenomics

In addition to having a host of technical innovations aimed at optimizing the composability and scalability of the network, Sui also implements a unique tokenomics model that takes into the account the cost of storage on the network [11]. Traditionally, blockchains such as Ethereum do not need to take into account the cost of storing data onto the network, because the “gas” price to write data onto the blockchain are so high, therefore becoming a natural deterrent to people writing large amounts of data onto the network. However, in the case of Sui, the network’s high scalability means that gas fees become extremely low, such that people may indeed want to store large portions of data onto the chain.

As shown in the diagram, Sui’s tokenomics model is essentially the traditional tokenomics model of a proof-of-stake chain, with an added twist of the “storage fund.” So what does the “storage fund” solve? A blockchain is fundamentally an append-only data-structure, and must guarantee that once data is written onto the blockchain, it will always stay there. Suppose we have two users, A and B. User A uses Sui at its inception. Because there isn’t much “legacy data” that validators must keep in mind, User A can enjoy very low gas fees. On the other hand, User B only uses Sui once the network has matured and there is a significant amount of data on-chain. Because validators need to upkeep all of this legacy data, User B needs to pay much higher fees than User A. The “storage fund” is basically a way to even out this problem, making User A pay more fees so that the two users can use the network with a comparable level of fees [12].

Sui’s storage fund pays out to the validators in the system, or those that actually store the data of the blockchain and do the “maintenance work” of data upkeep. As the maintenance work increases, the payout of the validators will also increase, such that more people will be incentivized to become a validator in the system rather than a token delegator that stakes the coin and forgets about it [13]. As more people become validators, the total amount of storage space available also increases.

Therefore, the Sui tokenomics model is specifically designed to address the question of “what happens next” after high scalability is attained. It is a paradigmatic tokenomics model for a highly scalable chain that uses game theory to ensure that gas prices will remain relatively constant throughout the blockchain’s lifetime.

Evaluation

From Byzantine Consistent Broadcast and the Narwhal-Tusk consensus mechanism to the Sui-Move language and the Storage-Fund Tokenomics, Sui is a project that has major innovations in every single part of a blockchain project, a status unique even compared to other new L1 chains such as Aptos. All of these innovations are compounded together into a cohesive narrative — an end-to-end optimization for the blockchain’s mass adoption at the scale of modern social media and other Web 2 projects.

Out of this whole range of technical innovations, perhaps the biggest technical highlight of Sui is still its “unlimited” upper bound for single-write transactions (due to the Byzantine Consistent Broadcast algorithm). Therefore, projects that heavily leverage single-write transactions will definitely realize the biggest scalability gains through using the Sui network.

Sui provides several examples of these “single-writer” DApps, including regular peer-to-peer token transactions, a public bulletin board, private messaging, and mass minting and distribution of game assets [14]. Essentially, the optimization for single-writer transactions means that the most common functions of social media apps can be onboarded onto Sui without any scalability worries, and the full extent of these social media apps’ network effects can be put into play thanks to Sui’s scalability solutions. An example of this is ComingChat, attempting to create a holistic instant messaging service, like Telegram and WhatsApp with wallet integration, planning to deploy on Sui and Aptos [15].

Moreover, Sui’s technical designs also are able to realize NFTs full potential as mass commodities. Off the bat, Sui completely solves the price-spike problem common with Ethereum mass-distribution of NFTs (such as with BAYC). But looking beyond this, through making mass-minting affordable and scalable, Sui opens the floodgates for NFTs that have low intrinsic value, but high social purpose. From on-chain coupons, to decentralized IDs, to credit cards and boarding passes, everything that Apple Wallet or any other physical wallet can hold can all be put on-chain as NFTs thanks to Sui’s scalability solutions.

Taking this one step further, Sui can even act as a permanent blockchain version of MongoDB. Recall that Sui Move’s language features allow Sui to very cleanly define and transact “resources” of different custom types, and allow for a great degree of polymorphism and modularity. These actually can be used to construct MongoDB-like artifacts and allow for a novel way of structurally storing objects on a blockchain, with all of the security and permanence guarantees of the blockchain.

I believe that Sui’s biggest contribution in the space is in constructing a viable blueprint for a L1 blockchain that is able to handle Web 2 level scalability. More importantly, I believe the development of Sui is symbolic of Web 3’s growing maturity, and growing confidence in the field that the long-run holds a promise of a billion-user scale. In this sense, no matter if the Sui ecosystem is able to thrive in the long run, I believe the project itself, as well as its innovative re-visioning of the blockchain already represents a resounding success.

🐦 @0xfishylosopher

📅 9 November 2022

Many thanks to Web3.com Ventures for consultation and sponsorship of this article.

References

[1] https://sui.io/resources-sui/raise-announcement/

[2] https://medium.com/mysten-labs/recap-7-21-sui-ama-unlocking-opportunities-on-sui-with-adeniyi-abiodun-f4fa96a15d7c

[3] https://sui.io/resources-move/why-we-created-sui-move/

[4] https://docs.sui.io/learn/how-sui-works

[5] https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/

[6] https://docs.sui.io/learn/how-sui-works#simple-transactions

[7] https://boxmining.com/sui-blockchain/

[8] https://docs.sui.io/learn/architecture/consensus

[9] https://arxiv.org/abs/2105.11827

[10] https://www.arweave.org/technology

[11] https://docs.sui.io/learn/tokenomics

[12] https://docs.sui.io/learn/tokenomics/storage-fund

[13] More on delegators and validators: https://coinguides.org/validators-delegators-staking/

[14] A list of single-writer app examples: https://docs.sui.io/learn/single-writer-apps

[15] https://coming.chat/