From c889458b48717e48e8c2360a9e7db405ebd632b9 Mon Sep 17 00:00:00 2001 From: ImmanuelSegol <3ditds@gmail.com> Date: Wed, 31 Jan 2024 23:19:31 -0400 Subject: [PATCH] refactor --- docs/icicle/primitives/msm.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/icicle/primitives/msm.md b/docs/icicle/primitives/msm.md index 6e0d4d6..390ad1e 100644 --- a/docs/icicle/primitives/msm.md +++ b/docs/icicle/primitives/msm.md @@ -35,7 +35,6 @@ MSM stands for Multi scalar multiplication, its defined as: - Where $G_j \in G$ - points from an Elliptic Curve group. @@ -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).