Sui: One Layer Network Supported by Dual Consensus

Sui is a new blockchain, the following are the main features of Sui:

Causal order and total order enable massively parallel execution

Sui’s Move variant and its object-centric data model enable composable objects/NFTs

The Move programming language for blockchain simplifies the developer experience

traditional blockchain

Traditional blockchain validators work together to build a shared accumulator: the representation of the blockchain state is a chain that increments over time, and in a blockchain that provides finality, every time a validator wants to Proposals are ordered when incremental additions are made to the blockchain, known as block proposals. The final agreement lets them agree on the current state of the chain, whether the proposed increment is valid, and the state of the chain after the new addition.

Sui validates new transaction

Most transactions have no interdependencies with any other arbitrary part of the blockchain state. Often, users only want to send assets to recipients. Therefore, Sui takes the approach of locking only the relevant data rather than the entire chain, in which case the sender’s account can only send one transaction at a time.

Using an object model and leveraging Move’s ownership model, Sui further extends this approach to more transactions that may explicitly depend on their sender control. By requiring explicit dependencies, Sui applies a “multi-channel” approach to transaction validation, ensuring that those independent transaction flows can proceed unhindered by other transactions.

Transaction Commitment Collaboration

Sui verifies transactions individually, rather than batching them in traditional blocks. The main advantage of this approach is low latency, and every successful transaction gets a final proof quickly, proving to anyone that the transaction will be processed by the Sui network.

Sui transaction submission follows these steps:

The sender broadcasts the transaction to all Sui validators.

Sui validators send personal votes for this transaction to the sender.

Each validator has a weight based on proof-of-stake rules, so each vote has a certain weight

The sender collects the majority of these votes into a certificate and broadcasts it to all Sui validators, ensuring finality, or guarantees that transactions are not discarded (revoked).

The sender collects a certificate detailing the transaction.

causal order vs. total order

Unlike most existing blockchain systems), Sui does not always impose a total order on transactions submitted by clients, with the exception of shared objects. Most transactions are causally ordered, and if an output object O1 produced by transaction T1 is used as an input object in the transaction, the T2 validator must execute T2 before executing T1. Note that T2 does not need to use these objects directly for a causal relationship to exist. For example, T1 might produce output objects, which are then used by T3, and T2 might use T3’s output objects. However, transactions without causality can be processed by Sui validators in any order.

Performance Principle

Sui abandons consensus on many transactions, and causally ordered transactions allows Sui to execute many transactions in parallel at scale; this reduces latency and allows validators to utilize all CPU cores.

Sui pushes complexity to the edge: the client is involved in many protocol steps. This minimizes the interaction between validators and makes their code simpler and more efficient.

Sui always offloads most of the client workload to the Sui gateway service for a better user experience.

Sui can utilize more validator machines to improve its performance.

Safety

Contrary to many traditional blockchains, Sui does not strongly synchronize the network. This means that Sui maintains its security properties under poor network conditions, network splits/partitions, and even DoS attacks against validators.

developer experience

Sui offers developers the following benefits:

Move and object-centric data model (enables composable objects/NFTs)

Asset-centric programming model

Easier developer experience

Design complexity

Whereas traditional blockchains only need to implement one consensus protocol, Sui requires two protocols: (i) a Byzantine consensus broadcast-based protocol to handle simple transactions, and (ii) a consensus protocol to handle transactions with shared objects. This means that the Sui team needs to maintain a larger codebase.

Transactions involving shared objects require a little overhead (adding two extra round trips – 200ms for a well-connected client using the Sui gateway service) before committing it to the consensus protocol. This overhead is necessary to safely combine the two protocols above. Other blockchains can submit transactions directly to consensus protocols. Even with this overhead, the finality of shared object transactions is still in the 2-3 seconds range.

Building efficient synchronizers in Sui is harder than in traditional blockchains. The synchronizer subprotocol allows validators to update each other by sharing data, which allows slow validators to catch up. Building an efficient synchronizer for traditional blockchains is not trivial, but still simpler than Sui.

smart contract

Sui’s smart contracts are written in the Move language. Move is safe and expressive, and its type system and data model naturally support parallel protocols/execution strategies that make Sui scalable.

Posted by:CoinYuppie,Reprinted with attribution to:https://coinyuppie.com/sui-one-layer-network-supported-by-dual-consensus/
Coinyuppie is an open information publishing platform, all information provided is not related to the views and positions of coinyuppie, and does not constitute any investment and financial advice. Users are expected to carefully screen and prevent risks.

Like (0)
Donate Buy me a coffee Buy me a coffee
Previous 2022-07-13 10:25
Next 2022-07-13 10:29

Related articles