Clarity Wasm WG: Intro Thread #496
Pinned
obycode
started this conversation in
Clarity Wasm WG
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
👋 Introduction:
The Clarity VM in the stacks-node is not very efficient in processing transactions. This forces a limit on the amount of transactions that can be included in a block that is below the expectations of our users. If the processing of these transactions can be sped up, then we can increase the cost budgets and fit many more transactions in each block, greatly improving the user experience. We think this can be improved significantly with a new execution model for Clarity smart contracts.
WebAssembly is at the forefront of technology for safely and reliably executing software, and has proven very effective in blockchain environments. This project brings the speed of Wasm into the core of the stacks-network, while maintaining the high bar for safety and reliability. Plus, there's an additional side-effect of opening up opportunities for future integrations that Wasm's interoperability enables.
🎯 Objective & Scope:
The key goal of the Clarity Wasm Working Group is to improve the speed of the Clarity VM. We believe this is currently the bottleneck in speeding up the processing of Stacks transactions and has the potential for significant improvements. To do this, we are compiling Clarity contracts to WebAssembly (Wasm), then integrating a Wasm runtime into the stacks-node to execute those compiled contracts. Wasm has proven to be an effective tool for fast, safe, and portable code execution, and is being used in several other blockchain projects. Initial back-of-the-envelope testing shows that a Wasm runtime has the potential to be at least an order of magnitude faster, assuming we do not hit other bottlenecks, e.g. MARF reads/writes. This new runtime will be fully backwards compatible with the existing runtime, but much faster.
📦 Deliverables:
📅 Timeline
We hope to have a functional implementation of the compiler and runtime by mid-November. After that, work will continue to test and debug, benchmark and optimize, to further improve.
👑 Lead
@obycode (Brice Dobry)
🤝 Team
🗣️ Meeting schedule and format:
The working group meets weekly on Mondays at 13:00 UTC (9am 🗽, 14:00 🇬🇧, 22:00 🗼), to sync on status, next steps, blockers, and any other open concerns or questions. Meeting minutes are posted in a discussion here shortly after the meetings. If you'd like to join, please fill out this survey and we'll send you an invite.
✍ Additional Context:
🔗 Links
clarity-wasm
GitHub RepoSound interesting? Come join us! Check out our
#good first issue
issues to dive right in, or find us in the Stacks Discord to chat. Even if you're new to Wasm or Rust, we could always use help writing tests and improving documentation.Replacing the smart contract runtime is a huge undertaking, and can't be done without collaboration from across the community. By pooling our diverse expertise, we will make huge improvements to the usability of the blockchain, enabling blocks that are both fuller (due to an increased block budget) and faster to process.
Beta Was this translation helpful? Give feedback.
All reactions