Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
ImmanuelSegol committed Feb 1, 2024
1 parent 904b117 commit c889458
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion docs/icicle/primitives/msm.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ MSM stands for Multi scalar multiplication, its defined as:
</msub>
</math>


Where

$G_j \in G$ - points from an Elliptic Curve group.
Expand All @@ -44,6 +43,8 @@ $a_0, \ldots, a_n$ - Scalars

$MSM(a, G) \in G$ - a single EC (elliptic curve point) point

Or in more simple terms MSM is the sum of scalar and EC point multiplications, we can learn from this definition as well that the core operations occurring are Modular Multiplication and Elliptic curve point addition. Since each multiplication can be computed independently and then the products need to be summed, this makes MSM inherently extremely parallelizable.

Accelerating MSM is crucial to a ZK protocol performance due to the [large percent of run time](https://hackmd.io/@0xMonia/SkQ6-oRz3#Hardware-acceleration-in-action) they take up when generating proofs.

You can learn more about how MSMs work from this [video](https://www.youtube.com/watch?v=Bl5mQA7UL2I) and from this resource list on [Ingopedia](https://www.ingonyama.com/ingopedia/msm).
Expand Down

0 comments on commit c889458

Please sign in to comment.