Scaling DeFi with the Move Language

November 30, 2023 - 7 min read

A primer on Mysten Labs and their contributions to Web3, including the concepts of Narwhal, Tusk, and the Move Language.

A Primer on Mysten Labs

Introduction

Mysten Labs is a Web3 research and infrastructure development company founded in 2021 by four former Facebook engineers. The project actively contributes to blockchain infrastructure technology, especially regarding open-source tools for Web3 developers. Mysten is led by former Meta engineers who contributed to the creation of the Move programming language while working on the Diem blockchain and Novi wallet.

Following the Mysten Lab’s founding, the startup went on to raise $36 million in funding from an impressive list of blue chip VCs led by Andreessen Horowitz’s a16z. Fun fact: the a16z moniker takes the first letter of the first name, and the last letter of the last name respectively, with the number 16 representing the number of letters in between the two letters.

Mysten is trying to address a number of pain points having arisen from Ethereum and its scaling issues, not to mention some weaknesses inherent to development using Solidity. The rising gas fees of transacting on the base layer has also created a demand for rapid solutions, leading projects like Mysten to choose the path of open-sourcing code in the pursuit of mainstream adoption of DeFi.

Crowd-sourcing human talent and ingenuity is far more efficient at expanding developer tooling, and Mysten has a founding team with the background and expertise to help spread adoption across multiple chains. The approach is to provide a robust library of infrastructure tooling so that dApp developers can focus more on perfecting the marketing of their products and end-user experiences. So, let’s get into some of the contributions Mysten has made recently to the Web3 developer community.

Narwhal & Tusk Advances Asynchronous Mempool Validation

In distributed networks employing a BFT consensus mechanism, the primary goal is to ensure that rational nodes are properly incentivized to reach consensus on validating and settling a mempool of transactions, even if some nodes fail or behave maliciously. The term Byzantine has in recent years come to be used as a shorthand reference to describe dishonest or malicious node behavior. 

Achieving a Nash equilibrium with regards to a properly aligned BFT algorithm is crucial for the reliability, scalability, and ultimately, the security of publicly distributed networks. This means that blockchain participants must not be able to profit from dishonest behavior because the cost-benefit ratio only rewards honest participation and either directly or indirectly punished for Byzantine action. 

Open-sourcing Narwhal and Tusk was a commendable contribution by Mysten Labs to the Web3 community. Narwhal is a high-performance transaction mempool developed for extraordinary scalability. Mempools temporarily store submitted but not yet confirmed transactions until they can be validated through a consensus of participating nodes.

narwhal and tusk - TPS
Credit: Pontem via PerfMatrix

Narwhal distinguishes and separates the concepts of transaction broadcasting and transaction ordering, increasing the efficiency of both. Note that Narwhal is simply the mempool, and not the actual consensus algorithm itself. 

In addition, Tusk was designed specifically to complement the features of Narwhal. Tusk is an asynchronous, zero-message overhead protocol which facilitates the liveness properties of Narwhal’s consensus mechanism, and mitigates any latency trade-offs. 

Together, Narwhal and Tusk have reportedly been able to top 160,000 transactions per second, or TPS. Developers are attracted to the Narwhal and Tusk codebase because of its efficiency, and ease with which they can benchmark or modify it.

Move Language and its Virtual Machine

Mysten is also focused on spreading awareness about the novel Move programming language and open-sourcing libraries of code for developers to integrate it into the projects that they’re building. Move was created for writing smart contracts, and originally developed for the Libra blockchain which was eventually abandoned by Facebook. Rust developers should feel right at home as Move involves a similar syntax and approach to writing code. 

Moreover, Move emphasizes scalability, low-latency performance, and flexibility in its smart contracts. It is a platform-agnostic language with common libraries and dev tools which are useful across a variety of blockchains and niche use cases. It also contains a gas metering feature ensuring that Move programs always terminate, preventing DDoS attacks. 

Move may be poised to become as ubiquitous as Javascript when it comes to writing smart contracts involving the exchange of assets. Non-EVM chains are growing rapidly, with the likes of Solana’s Rust, the Cosmos’s Cosmwasm, and both Aptos and Sui making use of Move language modules.

Hear the backstory from the CTO of Mysten, Sam Blackshear on episode 2 of Supra Sessions

The Move language is a natural outgrowth of the Solidity smart contract language, but also inspired by the strengths of the Rust language which leverages linear types to make data ownership explicit within the code. A Move module contains the bytecode which declares structs and procedures. Move resources can be controlled and tailored very specifically to developers’ needs or use cases. 

Move developers also enjoy a handy bytecode verifier to ensure the safety of unvetted code before its implementation. The Move Prover is useful in this regard as a formal verification service regarding the functionality of code modules. 

We’ve seen how dynamic dispatch has given rise to re-entrancy attacks on basically any Solidity smart contract, since it has to be run to know how it will respond in a variety of scenarios. This is why the Move prover is such a game changer for confidently implementing secure code.

Sui and Celo Implementing Move Language

With the Move language’s object-oriented design, Sui is leveraging the power of zero knowledge proofs to quickly generate Sui addresses with common web credentials via zkLogin. This reduces gas fees for transaction execution with off-chain cryptographic computation services. It also facilitates compatibility across a variety of authentication methods, giving dApp developers more options regarding custom verification methods needed for even the most niche use cases.

Thus far, the OAuth login solution implemented by DeFi developers have relied on smart contracts for JSON web keys, requiring a trusted Oracle service to verify them. In contrast, zkLogin represents JWKs as Sui objects, consolidating and streamlining their validation. 

With zkLogin, Sui’s own validators take on an additional, which streamlines the authentication process but nevertheless may centralize it according to critics. That is not to say that developers are not taking great care to eliminate single points of failure, however.

The Celo Foundation has also announced that they’re partnering with Mysten Labs in efforts to become the fastest multi-chain project compatible with both the Ethereum and Move virtual machines. Indeed, the elegance of Narwhal and Tusk’s synergy has the potential to securely scale cross-chain settlements combined with it.

Final Takeaways

The Move Language is really gaining traction with developers in the know due to its programmability, flexibility, and security. As mentioned, up-and-coming stars like Sui, Aptos, and Celo are evidence of this. As the developer community around Move expands, it will be interesting to see how quickly libraries are developed and utilized in emerging projects.

Supra is also bullish on the Move language and is working on implementing its smart contracts using Move language modules. This allows Supra to leverage its own novel consensus mechanism for secure scalability as well as the flexibility and robust advantages that Move offers over Solidity and other smart contract languages. See Whitepapers for more details on the tech behind Supra’s Intralayer stack.

Resources

  1. Danezis, G., Kokoris-Kogias, E., Sonnino, A., & Spiegelman, A. (2021). Narwhal and Tusk: a DAG-based mempool and efficient BFT consensus. Proceedings of the Seventeenth European Conference on Computer Systems (EuroSys ‘22), 35-40.
  2. Dill, D. L., Grieskamp, W., Park, J., Qadeer, S., Xu, M., & Zhong, J. E. (2021). Fast and reliable formal verification of smart contracts with the Move Prover. International Conference on Tools and Algorithms for Construction and Analysis of Systems.
  3. Patrignani, M., & Blackshear, S. (2021). Robust safety for Move. 2023 IEEE 36th Computer Security Foundations Symposium (CSF), 308-323.
  4. Zhong, J. E., Cheang, K., Qadeer, S., Grieskamp, W., Blackshear, S., Park, J., Zohar, Y., Barrett, C. W., & Dill, D. L. (2020). The Move Prover. Computer Aided Verification, 12224, 137-150.

Read Next

twitterlinkedinfacebookmail

RECENT POSTS

獲取新聞、見解等信息

註冊Supra新聞通訊,獲取最新消息、更新、行業洞察等內容。

隐私使用條款網站資料使用與Cookies漏洞揭露生物特徵資訊隱私政策

©2024 Supra | Entropy基金會(瑞士註冊號:CHE.383.364.961)。保留所有權利。