# Optimizing Multi-Scalar Multiplication (MSM): Learning from ZPRIZE The following algorithms and techniques are used by the top-2 performers of ZPrize 2022 MSM-WSAM track. 1. [Pippenger Algorithm / Bucket Method](/lNOsNGikQgO0hLjYvH6HJA) 2. [Batch Addition](/1mpavmFmQNWrahBi8mHBjQ) 3. [Signed Bucket Indexes](/jNXoVmBaSSmE1Z9zgvRW_w) 4. [GLV Decomposition](/VnWyAPOZRFeCcHg-aVzxpQ) 5. [Montgomery Multiplication](/lF8qDQZnR0quXhXJ1TkC5Q) 6. [30-bit Limbs of Multi-Precision Integers](/HKHbMzxIQmOQUFNl7CF5sg) (WASM Specific) For more information, checkout * [`arkmsm`](https://github.com/snarkify/arkmsm): our open source implementation of the optimization techniques above based on `arkworks`. We implemented the Pippenger algorithm with batch addition, signed bucket indexes and glv decomposition, while using montgomery multiplications implemented in `arkworks`. * My [ZKSummit9 talk on `arkmsm` optimizations](https://youtu.be/j8f6phMp-g4?feature=shared), Lisbon, April 2023. * The `ark-msm` crate on [crates.io](https://crates.io/crates/ark-msm) ###### tags: `msm` `zkp` `public` `arkmsm`