Skip to content

Commit f199631

Browse files
EmpieichOhsutaiyu
andauthored
Apply suggestions from code review
Co-authored-by: hsutaiyu <51791408+hsutaiyu@users.noreply.github.com>
1 parent 9f06291 commit f199631

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

docs/zkEVM/architecture/proving-system/aggregator-proofs.md

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ This strategy guarantees robust validation of execution outcomes, and provides a
4141

4242
### Invalid transactions
4343

44-
Let us describe some errors in transactions, that cause the state to remain unchanged, as shown in the figure below.
44+
Let us describe some errors in transactions that cause the state to remain unchanged, as shown in the figure below.
4545

4646
#### Reverted transaction
4747

@@ -57,7 +57,7 @@ This is a common scenario in EVM processing.
5757

5858
#### Invalid intrinsic transaction
5959

60-
An invalid intrinsic transaction is a transaction that cannot be processed and has no impact on the current state.
60+
An invalid intrinsic transaction is a transaction that cannot be processed, and thus has no impact on the current state.
6161

6262
Keep in mind that this transaction could be part of a virtual batch. Examples of errors in this scenario are: incorrect nonce, insufficient balance, etc.
6363

@@ -72,7 +72,7 @@ Some of the errors that occur at the batch level can cause the state to remain u
7272
As depicted in the figure below, such errors might occur due to invalid data, or exhaustion of prover resources.
7373

7474
- Invalid Data: Failure to decode RLP-encoded transactions, that is having garbage input.
75-
- Prover resource exhaustion: The zkEVM manages resources in terms of row counters in the Stack, also known as _zkCounters_. Processing a batch may fail due running out of zkCounters (OOC).
75+
- Prover resource exhaustion: The zkEVM prover manages resources in terms of row counters in the Stack, also known as _zkCounters_. Processing a batch may fail due running out of zkCounters (OOC).
7676

7777
![Figure: State not updaated](../../../img/zkEVM/ag-state-not-updated.png)
7878

@@ -92,11 +92,9 @@ The _forced batches_ mechanism is elaborated on in the [Malfunction resistance s
9292

9393
## zkCounters
9494

95-
Counters are used, during the execution of a batch, to monitor the row count in each state machine, including the main state machine.
95+
Counters are used during the execution of a batch to monitor the row count in each state machine, including the main state machine.
9696

97-
Management of these counters is incorporated within the computation process.
98-
99-
By so doing, if a computation exhausts its assigned resources while generating the proof, then the system is able to prove that the batch does not cause a change in the state.
97+
The management of these counters is incorporated within the computation process. This way, if a computation exhausts its assigned resources while generating the proof, the system can verify and prove that the batch does not cause a state change.
10098

10199
As mentioned earlier, the issue of running out of assigned resources is referred to as an _out of counters_ (OOC) error.
102100

@@ -110,7 +108,7 @@ So, an OOC error occurs if a transaction invokes five or more Keccak operations.
110108

111109
### VADCOPs
112110

113-
Although the current version of the proving system has this limitation in the backend (forcing execution traces of all state machines to have the same amount of rows), it is expected to be removed when a proving technique called _variable degree composite proofs_ (VADCOPs) is implemented.
111+
Although the current version of the proving system has this limitation in the backend (forcing execution traces of all state machines to have the same amount of rows), it is expected to be resolved with the implementation of a proving technique called _variable degree composite proofs_ (VADCOPs).
114112

115113
VADCOPs are designed to partition large execution traces with many rows into smaller execution traces with fewer rows.
116114

@@ -124,7 +122,7 @@ At a high level, the solution involves splitting the proof into two parts, each
124122

125123
![Figure: VADCOPs with Keccak](../../../img/zkEVM/ag-vadcops-with-keccak.png)
126124

127-
The ongoing development of VADCOPs includes rewriting of both the cryptographic backend and the constraint language called _polynomial identities language_ version 2 (PIL2).
125+
The ongoing development of VADCOPs includes rewriting of both the cryptographic backend and the constraint language called _Polynomial Identities Language_ version 2 (PIL2).
128126

129127
## Discussing the proof
130128

@@ -218,7 +216,7 @@ In the Polygon zkEVM architecture, the aggregator is the component responsible f
218216

219217
Its role is to aggregate several proofs into one, and send the aggregated proof to the L1 Smart Contract through the $\texttt{verifyBatches()}$ function.
220218

221-
The aggregator invokes the $\texttt{verifyBatches()}$ function on the smart contract, passing as parameters:
219+
The aggregator invokes the $\texttt{verifyBatches()}$ function on the smart contract, passing the following parameters:
222220

223221
- The initial batch number, $\texttt{initNumBatch}$.
224222
- The final batch number, $\texttt{finalNewBatch}$.
@@ -293,7 +291,7 @@ The figure below depicts this configuration, where public inputs are in green wh
293291

294292
![Figure: inputSNARK to Aggregator](../../../img/zkEVM/ag-inputsnark-to-aggregator-output.png)
295293

296-
Henceforth, for the outer proof, there is a single public input in the aggregator called $\texttt{inputSnark}$, which is a Keccak hash of all the previous public inputs and outputs.
294+
Hence, for the outer proof, there is a single public input in the aggregator called $\texttt{inputSnark}$, which is a Keccak hash of all the previous public inputs and outputs.
297295

298296
Therefore, when `ZkEVM.sol` contract interacts with the `VerifierRollups.sol` contract, only a single public parameter is passed, minimizing data transmission costs.
299297

0 commit comments

Comments
 (0)