taiko-mono
taiko-mono copied to clipboard
Invalid Execution Transaction
Describe the bug
the initial zkp, you could call it the tx list validity zkp or something, is only checking if the list is all valid transactions. if one were to try to do a double spend they would just end up failing and spending twice. because they don’t get to propose the computed next state, the prover will do that and also submit a validity proof. a double spend can only happen on l1 if the attacker controls a majority of the validators and can come to consensus on a state transition which ends up giving the attacker some extra funds or something. the nonce let’s the executor of that txlist know which order to do the transactions in so it computes the state correctly. but the prover can’t lie and do some invalid execution it will always do valid execution otherwise the verifying the ZKP will fail
Steps to reproduce
Steps to reproduce here.
Additional context
Additional context here.
Hi @jipan76, I did not catch the principle of this attack, could you explain that if an attacker tries to conduct a double spending attack on L2, what should the attacker do?
If the attacker should control the majority validators of Ethereum, then this apparently is not an issue, because the security of L2 relies on Ethereum working correctly.
I don't think this is a valid attack vector, but I'd also like to learn more. Please feel free to reopen this issue if more information can be provided.