Original source: @cryptoalvatar Twitter
Original compilation: 0x711, BlockBeats
Aptos and Sui are the two most discussed public chains in the market recently. The reason is not only that these two teams, both from Facebook, have raised a high amount of financing , but also because they all use the Move programming language to build the protocol.
Blockchain developer @cryptoalvatar compared the two public chains from the perspective of technical development on his social networking site, and BlockBeats translated them as follows.
Aptos and Sui both use their own derivatives of the Move language, which facilitates parallel execution. It's Rust-style, with static enforcement and strict resource ownership rules and formal verification.
The Sui version of Move introduces some changes, most notably the ownership API. It is more concise and shows the blockchain design more clearly. But the development of libraries (libraries) feels inferior to Aptos.
Sui uses a DAG-based memory pool (Narwhal) + Tusk consensus algorithm. Then leverage the DAG for parallelization at the execution level (cool!). Compared to Avalanche (Snowman++), it has not released the full power of DAG in terms of parallelization.
Sui's version of Move is very explicit about the exclusive/shared and mutable/immutable states of objects. This enables an intuitive programming model. Additionally, it enables Sui to use reliable broadcasting (FastPay) for non-shared object transactions such as payments.
Aptos uses BlockSTM, which is an evolution of the high-performance HotStuff algorithm, and introduces parallelization by dynamically detecting dependencies and scheduling execution tasks (inspired by software transaction memory ).
It's hard to say which one will perform better in practice, but I like Sui. Aptos has done a good job of optimizing the current design, and Sui seems to have room for more. Dual paths to achieve Byzantine consensus also give Sui the upper hand.
It is worth noting that two None of the chains are optimized for the home validator case and large-scale decentralization, but instead fall into the "maximize network capacity" camp (i.e. like Solana). State growth can be the bottleneck.
Sui solves this problem with efficient storage sharding, focusing on scaling out resources. Aptos, on the other hand, puts more emphasis on supporting heterogeneous validators (constrained CPU and/or limited storage). I like Sui's approach.
They are all at a similar stage of development with Aptos a bit ahead. Setting up the system took more time than actually coding (I also happen to use NixOS). Learning the language and environment also takes some trial and error.
Deploying to devnet is a bit of a pain in both cases. Fortunately, unit testing libraries are very useful.
The worst part is the obscure compiler errors and devnet error responses that don't make sense. These should be resolved right away.
If learning from scratch, I would recommend the following:
1. First, read the documentation and some examples. Make sure you can run them.
2. Then, go directly to the framework source code in the branch you are working on (for learning and as documentation).
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia