-
Notifications
You must be signed in to change notification settings - Fork 857
contract tx_lookup table #122
Comments
Naively, we build the
where the After calculate the 4 evaluations of the instance columns, the left effort should be identical to the subset argument described in halo2 book's Lookup argument. |
Because empty rows are zeros shoudl the index of index_or_zero start from 1 ? |
I think it's OK index_or_zero starts from 0. After all, the row can be identified by tx_index and tx_tag. |
For index_or_zero I think it's okay since we already have tag. But I think at least all the tag should start from |
Since we are building the data in the table in the l1 evm. It might also make sense to calculate the message hash in the l1 evm and then include that in this table. This will allow us to remove the message hash calculation from the circuits for now and still have something that works relatively easily. Calculating hte message hash in l1 evm will cost a bit more but this can be optimized out later. It seems like doing this in short term will remove alot of work and complexity from the circuits which we can add later when we have an architecture we are comfortable with. @han0110 does this make sense to you? Do you see any issue ? |
I think it makes sense to do the tx hashing in L1 for now, and move the effort into circuit later. |
I think we are also planning to add
|
Closed by #484 |
In zkevm based zkrollup a smart contract translates the call data and some block constants into a form the zkp is able to read.
The circuit expects this data to be in the format of
a + r * b + r2 c + r3 d = x
The polynomial should be constructed in the field defined by privacy-scaling-explorations/halo2#1
So the layer1 even needs to calculate x and pass that as a public input to the zkevm proof.
The exact format of the polynomial is not exactly what i have described. @han0110 may have more info on this.
The text was updated successfully, but these errors were encountered: