mirror of
https://github.com/vacp2p/linea-monorepo.git
synced 2026-01-08 19:58:01 -05:00
doc: fix typos in comments (#3754)
* docs: Starts fixing zk-EVM to zkEVM * docs: fixes zk-EVM and light proof * Update prover/README.md Signed-off-by: Julien Marchand <julien-marchand@users.noreply.github.com> --------- Signed-off-by: Julien Marchand <julien-marchand@users.noreply.github.com> Co-authored-by: Julien Marchand <julien-marchand@users.noreply.github.com>
This commit is contained in:
@@ -22,7 +22,7 @@ Linea's stack is made up of multiple repositories, these include:
|
|||||||
- [linea-sequencer](https://github.com/Consensys/linea-sequencer): A set of Linea-Besu plugins for the sequencer and RPC nodes
|
- [linea-sequencer](https://github.com/Consensys/linea-sequencer): A set of Linea-Besu plugins for the sequencer and RPC nodes
|
||||||
- [linea-tracer](https://github.com/Consensys/linea-tracer): Linea-Besu plugin which produces the traces that the constraint system applies and that serve as inputs to the prover
|
- [linea-tracer](https://github.com/Consensys/linea-tracer): Linea-Besu plugin which produces the traces that the constraint system applies and that serve as inputs to the prover
|
||||||
- [linea-constraints](https://github.com/Consensys/linea-constraints): Implementation of the constraint system from the specification
|
- [linea-constraints](https://github.com/Consensys/linea-constraints): Implementation of the constraint system from the specification
|
||||||
- [linea-specification](https://github.com/Consensys/linea-specification): Specification of the constraint system defining Linea's zk-EVM
|
- [linea-specification](https://github.com/Consensys/linea-specification): Specification of the constraint system defining Linea's zkEVM
|
||||||
|
|
||||||
Linea abstracts away the complexity of this technical architecture to allow developers to:
|
Linea abstracts away the complexity of this technical architecture to allow developers to:
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
Thank you for your interest in contributing to Linea's zk-EVM monorepo. This document provides guidelines and instructions on how to contribute effectively. We use trunk-based development, and our main languages are Kotlin, Golang, Solidity, and TypeScript. Our releases use GitOps, ArgoCD, Helm, and Kubernetes.
|
Thank you for your interest in contributing to Linea's zkEVM monorepo. This document provides guidelines and instructions on how to contribute effectively. We use trunk-based development, and our main languages are Kotlin, Golang, Solidity, and TypeScript. Our releases use GitOps, ArgoCD, Helm, and Kubernetes.
|
||||||
|
|
||||||
## Submit a Contribution
|
## Submit a Contribution
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# zkevm-monorepo/prover
|
# linea-monorepo/prover
|
||||||
|
|
||||||
This directory contains the implementation of the prover of Linea. As part of it,
|
This directory contains the implementation of the prover of Linea. As part of it,
|
||||||
it contains an implementation of the Vortex polynomial commitment, of the
|
it contains an implementation of the Vortex polynomial commitment, of the
|
||||||
Arcane compiler, the instantiation of the zk-EVM using the arithmetization and
|
Arcane compiler, the instantiation of the zkEVM using the arithmetization and
|
||||||
the server implementation.
|
the server implementation.
|
||||||
|
|
||||||
# Building and running
|
# Building and running
|
||||||
@@ -17,10 +17,10 @@ The repository counts 2 main binaries:
|
|||||||
- `bin/prover` : `bin/prover setup` generate the assets (setup / preprocessing) `bin/prover prove` run process a request, create a proof and outputs a response.
|
- `bin/prover` : `bin/prover setup` generate the assets (setup / preprocessing) `bin/prover prove` run process a request, create a proof and outputs a response.
|
||||||
- `bin/controller` : a file-system based server to run Linea's prover
|
- `bin/controller` : a file-system based server to run Linea's prover
|
||||||
|
|
||||||
### Building and runningmake the setup generator
|
### Building and running the setup generator
|
||||||
|
|
||||||
The setup-generation (`make setup`) is used to generate the setup for all the types of provers. Execution, Decompression and Aggregation.
|
The setup-generation (`make setup`) is used to generate the setup for all the types of provers. Execution, Decompression and Aggregation.
|
||||||
By default, if the `--force` flag is not provided, the tool will compile the circuit and check if the destination dir already contains a setup that matches, skipping the cpu intensive phase of the actual plonk Setup if needed.
|
By default, if the `--force` flag is not provided, the tool will compile the circuit and check if the destination dir already contains a setup that matches, skipping the CPU intensive phase of the actual plonk Setup if needed.
|
||||||
|
|
||||||
**Run**
|
**Run**
|
||||||
|
|
||||||
|
|||||||
@@ -432,7 +432,7 @@ func assertCorrectStatusTransition(old, new Status) {
|
|||||||
case old == Ignored && new != Ignored:
|
case old == Ignored && new != Ignored:
|
||||||
forbiddenTransition = true
|
forbiddenTransition = true
|
||||||
// You can't change the status of the public inputs because that would
|
// You can't change the status of the public inputs because that would
|
||||||
// change the statement of the zk-EVM.
|
// change the statement of the zkEVM.
|
||||||
case old == PublicInput && new != PublicInput:
|
case old == PublicInput && new != PublicInput:
|
||||||
forbiddenTransition = true
|
forbiddenTransition = true
|
||||||
// It's a special status and cannot be changed.
|
// It's a special status and cannot be changed.
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ function.
|
|||||||
For instance, say we have a gnark circuit that can verify digital signatures
|
For instance, say we have a gnark circuit that can verify digital signatures
|
||||||
and which takes a set of message hashes and public keys as public inputs. The
|
and which takes a set of message hashes and public keys as public inputs. The
|
||||||
user can provide a column allegedly containing all the public input and a
|
user can provide a column allegedly containing all the public input and a
|
||||||
gnark circuit performing the above-mentionned signature verification.
|
gnark circuit performing the above-mentioned signature verification.
|
||||||
|
|
||||||
The user can call the [plonk.PlonkCheck] function by passing the column and the
|
The user can call the [plonk.PlonkCheck] function by passing the column and the
|
||||||
circuit alongside a [wizard.CompiledIOP] object. The utility will build all the
|
circuit alongside a [wizard.CompiledIOP] object. The utility will build all the
|
||||||
@@ -15,7 +15,7 @@ circuit's satisfiability within the currently compiled IOP.
|
|||||||
|
|
||||||
This comes in handy in situation where we which to prove complex relations that
|
This comes in handy in situation where we which to prove complex relations that
|
||||||
are difficult to express directly in the form of a Wizard-IOP but easier to
|
are difficult to express directly in the form of a Wizard-IOP but easier to
|
||||||
express in a language that is more expressive. In the case, of Linea's zk-EVM,
|
express in a language that is more expressive. In the case, of Linea's zkEVM,
|
||||||
this is used for the ECDSA verification and the precompiles.
|
this is used for the ECDSA verification and the precompiles.
|
||||||
|
|
||||||
The package optionally offers optimization when,
|
The package optionally offers optimization when,
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"github.com/consensys/zkevm-monorepo/prover/zkevm/arithmetization/define"
|
"github.com/consensys/zkevm-monorepo/prover/zkevm/arithmetization/define"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Settings specifies the parameters for the arithmetization part of the zk-EVM.
|
// Settings specifies the parameters for the arithmetization part of the zkEVM.
|
||||||
type Settings = define.Settings
|
type Settings = define.Settings
|
||||||
|
|
||||||
// Arithmetization exposes all the methods relevant for the user to interact
|
// Arithmetization exposes all the methods relevant for the user to interact
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package define
|
|||||||
import "github.com/consensys/zkevm-monorepo/prover/config"
|
import "github.com/consensys/zkevm-monorepo/prover/config"
|
||||||
|
|
||||||
// Settings specifies the parameters for the arithmetization part of the
|
// Settings specifies the parameters for the arithmetization part of the
|
||||||
// zk-EVM.
|
// zkEVM.
|
||||||
type Settings struct {
|
type Settings struct {
|
||||||
// Configuration object specifying the columns limits
|
// Configuration object specifying the columns limits
|
||||||
Traces *config.TracesLimits
|
Traces *config.TracesLimits
|
||||||
|
|||||||
@@ -90,11 +90,11 @@ var (
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
// FullZkEvm compiles the full prover zk-evm. It memoizes the results and
|
// FullZkEvm compiles the full prover zkEVM. It memoizes the results and
|
||||||
// returns it for all the subsequent calls. That is, it should not be called
|
// returns it for all the subsequent calls. That is, it should not be called
|
||||||
// twice with different configuration parameters as it will always return the
|
// twice with different configuration parameters as it will always return the
|
||||||
// instance compiled with the parameters it received the first time. This
|
// instance compiled with the parameters it received the first time. This
|
||||||
// behaviour is motivated by the fact that the compilation process takes time
|
// behavior is motivated by the fact that the compilation process takes time
|
||||||
// and we don't want to spend the compilation time twice, plus in practice we
|
// and we don't want to spend the compilation time twice, plus in practice we
|
||||||
// won't need to call it with different configuration parameters.
|
// won't need to call it with different configuration parameters.
|
||||||
func FullZkEvm(feat *config.Features, tl *config.TracesLimits) *ZkEvm {
|
func FullZkEvm(feat *config.Features, tl *config.TracesLimits) *ZkEvm {
|
||||||
|
|||||||
@@ -26,11 +26,11 @@ var (
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
// Returns the zk-EVM objects corresponding to the light zkevm prover. Namely,
|
// Returns the zkEVM objects corresponding to the light zkEVM prover. Namely,
|
||||||
// it will generate a proof checking only a small portion of the requested
|
// it will generate a proof checking only a small portion of the requested
|
||||||
// computation it is meant primarily for testing and integration testing
|
// computation it is meant primarily for testing and integration testing
|
||||||
// purpose. When called for the first time, it will compile the corresponding
|
// purpose. When called for the first time, it will compile the corresponding
|
||||||
// light zkevm using the config option. The next times it is called, it will
|
// light zkEVM using the config option. The next times it is called, it will
|
||||||
// ignore the configuration options and directly return the previously compiled
|
// ignore the configuration options and directly return the previously compiled
|
||||||
// object. It therefore means that it should not be called twice with different
|
// object. It therefore means that it should not be called twice with different
|
||||||
// config options.
|
// config options.
|
||||||
@@ -43,7 +43,7 @@ func PartialZkEvm(tl *config.TracesLimits) *ZkEvm {
|
|||||||
oncePartialZkEvm.Do(func() {
|
oncePartialZkEvm.Do(func() {
|
||||||
|
|
||||||
// The light-prover does not support other features than the
|
// The light-prover does not support other features than the
|
||||||
// arithmetization itself. I.E. it currently does not instantiate the
|
// arithmetization itself, i.e. it currently does not instantiate the
|
||||||
// modules to verify keccak or the state-manager traces.
|
// modules to verify keccak or the state-manager traces.
|
||||||
settings := Settings{
|
settings := Settings{
|
||||||
Arithmetization: arithmetization.Settings{
|
Arithmetization: arithmetization.Settings{
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// The keccak package specifies all the mechanism through which the zkevm
|
// The keccak package specifies all the mechanism through which the zkevm
|
||||||
// keccaks are proven and extracted from the arithmetization of the zk-EVM.
|
// keccaks are proven and extracted from the arithmetization of the zkEVM.
|
||||||
package keccak
|
package keccak
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@@ -23,7 +23,7 @@ type TraceProvider interface {
|
|||||||
AppendTraces(run *wizard.ProverRuntime, traces *keccak.PermTraces, genTrace *g.GenTrace)
|
AppendTraces(run *wizard.ProverRuntime, traces *keccak.PermTraces, genTrace *g.GenTrace)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Module provides the Keccak component of the zk-EVM
|
// Module provides the Keccak component of the zkEVM
|
||||||
type Module struct {
|
type Module struct {
|
||||||
Settings *Settings
|
Settings *Settings
|
||||||
Keccakf keccakf.Module
|
Keccakf keccakf.Module
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// The keccak package specifies all the mechanism through which the zkevm
|
// The keccak package specifies all the mechanism through which the zkevm
|
||||||
// keccaks are proven and extracted from the arithmetization of the zk-EVM.
|
// keccaks are proven and extracted from the arithmetization of the zkEVM.
|
||||||
package keccak
|
package keccak
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import (
|
|||||||
// compile and provides internal parameters for the wizard package.
|
// compile and provides internal parameters for the wizard package.
|
||||||
type compilationSuite = []func(*wizard.CompiledIOP)
|
type compilationSuite = []func(*wizard.CompiledIOP)
|
||||||
|
|
||||||
// List the options set to initialize the zk-EVM
|
// List the options set to initialize the zkEVM
|
||||||
type Settings struct {
|
type Settings struct {
|
||||||
Keccak keccak.Settings
|
Keccak keccak.Settings
|
||||||
Statemanager statemanager.SettingsLegacy
|
Statemanager statemanager.SettingsLegacy
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ func (z *ZkEvm) VerifyInner(proof wizard.Proof) error {
|
|||||||
return wizard.Verify(z.WizardIOP, proof)
|
return wizard.Verify(z.WizardIOP, proof)
|
||||||
}
|
}
|
||||||
|
|
||||||
// The define function of the zk-EVM define module. This function is unexported
|
// The define function of the zkEVM define module. This function is unexported
|
||||||
// and should not be exported. The user should instead use the "Compile"
|
// and should not be exported. The user should instead use the "Compile"
|
||||||
// function. This function is meant to be passed as a closure to the
|
// function. This function is meant to be passed as a closure to the
|
||||||
// wizard.Compile function. Thus, this is an internal.
|
// wizard.Compile function. Thus, this is an internal.
|
||||||
|
|||||||
Reference in New Issue
Block a user