From 67c408575d3c2d85314662a0f9b4b75dc7bc7777 Mon Sep 17 00:00:00 2001 From: Sergio Chouhy Date: Fri, 20 Oct 2023 08:49:37 -0300 Subject: [PATCH] update docs --- docs/src/starks/protocol.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/src/starks/protocol.md b/docs/src/starks/protocol.md index 4aa91760d1..ed78413ed6 100644 --- a/docs/src/starks/protocol.md +++ b/docs/src/starks/protocol.md @@ -5,8 +5,7 @@ In this section we describe precisely the STARKs protocol used in Lambdaworks. We begin with some additional considerations and notation for most of the relevant objects and values to refer to them later on. ### Grinding -This is a technique to increase the soundness of the protocol by adding proof of work. It works as follows. At some fixed point in the protocol, the verifier sends a challenge $x$ to the prover. The prover needs to find a string $y$ such that $H(x || y)$ begins with a predefined number of zeroes. Here $x || y$ denotes the concatenation of $x$ and $y$, seen as bit strings. -The number of zeroes is called the *grinding factor*. The hash function $H$ can be any hash function, independent of other hash functions used in the rest of the protocol. In Lambdaworks we use Keccak256. +This is a technique to increase the soundness of the protocol by adding proof of work. It works as follows. At some fixed point in the protocol, the prover needs to find a string `nonce` such that `H(H(prefix || state || grinding_factor) || nonce)` has `grinding_factor` number of zeros to the left, where `H` is a hash function, `prefix` is the bit-string `0x0123456789abcded` and `state` is the state of the transcript at a predefined step of the protocol. Here `x || y` denotes the concatenation of the bit-strings `x` and `y`. The hash function $H$ can be any hash function, independent of other hash functions used in the rest of the protocol. In Lambdaworks we use Keccak256. ### Transcript