DOWNLOAD THE FULL REPORT HERE


  • Parallel computing can increase throughput of blockchains by utilizing computing resources more efficiently.

  • Traditional blockchains operate in series, but a number of newer projects support parallel computing. While there are several ways to do this, this report focuses on techniques to parallelize the execution step.

  • Software design for parallel computing has many pitfalls that can lead to critical bugs. Several mechanisms exist to address these challenges, with pros and cons. We discuss three mechanisms and example projects that use them:

    • Actor model (e.g. Vara): solves critical issues, but has computation overhead, may miss opportunities to parallelize, and can be difficult for developers to reason about or debug if the program is complex.  

    • Memory locks (e.g. Solana, Sui and Sei): gives developers finer-grained control of the program, potentially increasing throughput. However, it is vulnerable to critical bugs that can be hard to identify, such as deadlocks.  

    • Software transactional memory (“STM”) (e.g. Aptos and Monad): often achieves high parallelism without risk of the critical bugs seen in the memory lock model. Simpler for decentralized application (“dApp”) developers, as added complexity is dealt with by the base layer. This makes implementation potentially complex for base layer devs. Also, throughput can be worse than serial computation in some cases. 

  • Projects can also use single instruction multiple data (“SIMD”) processing, which improves speed of certain calculations, e.g. cryptographic verifications.


DOWNLOAD THE FULL REPORT HERE

Please feel free to share with us any feedback or suggestions you may have via this form