The Horizon Network organizes all actions into blocks, which is similar to how transactions are handled on the Ethereum mainnet. Once the Horizon Network operator creates a block, it is sent to the Horizon Network smart contract on the Ethereum mainnet using a Commit transaction. At this point, the block's state is not yet final. However, after a couple of minutes, a ZK proof for the block's accuracy is created. This proof is then posted to Ethereum using a Verify transaction. The new state is only considered final after the Verify transaction has been processed. It's worth noting that multiple blocks may be committed but not verified yet.