# 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`