lorenzb / proveth

Generate & verify Merkle-Patricia-proofs for Ethereum
Other
106 stars 7 forks source link

Incompleteness due to gas exhaustion #10

Open lorenzb opened 6 years ago

lorenzb commented 6 years ago

We should document that the verifier currently isn't complete (i.e. there exist valid transactions whose inclusion the verifier cannot check) due to gas exhaustion issues.

relyt29 commented 6 years ago

We/the group should discuss this, I don't understand the cases in which this happens

lorenzb commented 6 years ago

I can submit a transaction that has a huge data field and barely fits into the block gas limit.

You then cannot prove that this transaction was included, because the proof becomes so large that it would exhaust the block gas limit.

This is a problem for applications that want to use proveth for fraud proofs/proofs of cheat such as as libsubmarine. However, when the application knows what a well-formed transaction looks like (e.g. libsubmarine), we can fix this problem by creating a second proof kind that omits the transaction data itself.