Is the current EVM state stored onchain, or is it recalculated/hydrated from all the TXs that have been published to the Bitcoin network?
yeah, citrea is doing some cool stuff.
our original implementation was way back in jan/feb 2023, so it was the best solution at the time.
6-9 months ago, we also added zk stack to bitcoin. definitely the way to go now. all new bitcoin l2s powered by bvm are going with zk rollups.
docs.bvm.network/bvm/l2-scaling-solutions/zk-rollups
all the raw txs are stored on bitcoin.
bvm fetches the transactions and constructs the state.
anyone can run a bvm node to construct the state, process transactions, verify transactions, etc.
it works similarly to an ordinal indexer. the only difference is that ordinals inscribes jpegs to bitcoin, while bvm inscribes VM tx.
Cool, makes sense. Seems like a really cool project. Have you considered periodically inscribing snapshots of the state to improve performance? Perhaps you could attach ZK proofs to them onchain.