Situation: ZK rollups don’t need to publish any transaction data on L1 to ensure correct state transition because the zk proof takes care of correct state transition without knowing (i.e. zk) anything about transactions. Nevertheless zk rollups publish state diff data on L1 for each transaction in order for users to be able reconstruct the complete rollup state in case the rollup operator stops his work (here details for starknet: https://docs.starknet.io/documentation/architecture_and_concepts/Network_Architecture/on-chain-data/).

Question: How is it ensured that this additional state diff data is in line with the overall state transition which is controlled via the zk proof? The zk proof only checks the state transition but not the additionally provided state diff data which is only needed to reconstruct the full rollup state but which is not needed for correct state transition, right?

1 Answer 1


State diffs are inputs to the verifier smart contract which checks whether they correspond to the output produced by the state transition function.

  • Thx a lot, donnoh
    – Felix
    Commented Jan 31 at 13:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.