[Feature Request] Lightweight transaction execution proofs #261
Replies: 8 comments
-
Hey, it is technically possible, we already calculate hashes of transactions internally, so we'll just have to create a merkle tree of those (we already do something similar with L2->L1 messaging). But:
So it is just a matter of priorities. We could potentially add it in case we see enough demand for it from the community. It is just that usually someone that needs to track transactions, usually needs to track all of those. |
Beta Was this translation helpful? Give feedback.
-
As @StanislavBreadless mentioned - this is technically possible (even today) - but without contract changes, it can be very slow. In order to prove that transaction X, belongs to miniblock Y, that belongs to batch Z, you'll need:
so TL;DR - today you can verify that transaction was really included in L2, but you need a collaborative L2 sequencer (that actually answers your queries), and some tooling (that I've described above, but we didn't implement yet). |
Beta Was this translation helpful? Give feedback.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
-
Through ETH Cancun upgrade, lightweight verification of transaction execution on L2 can be carried out, reducing various gas costs without the need to run nodes, benefiting the entire ecosystem |
Beta Was this translation helpful? Give feedback.
-
Network
zkSync Era
Provide a brief description of the feature you would like to see implemented.
The ability to prove in a lightweight manner to a third party that your transaction was executed on the L2. Something similar to how simplified payment verification (spv) works on ethereum. It seems like this could be achieved by adding to batches a merkle root of transactions belonging to a batch. Then users could prove their transaction execution to a third party by sending the transaction and merkle path for that transaction to the third party, the third party could then verify the merkle path using the stored batch info on the L1.
From my research it seems that currently the mechanism with the least reliance on the L2 to prove transaction execution to a third party would be as follows:
Who does this feature request benefit the most (users, developers, protocol, etc.)?
Its beneficial to anyone who want's to check transaction inclusion without having to run their own L2 node, so I'd say that covers both developers and users.
Additional Details
No response
Beta Was this translation helpful? Give feedback.
All reactions