Blockchain time-stamping
To further enhance the security and simplicity of our zkDB, we utilize an on-chain verifier that allows for the validation of batched proofs on the blockchain. This system ensures that all updates to the database are provably correct, and that the integrity of the entire system can be independently verified in a very quick manner.
As explained in the previous section, each user update to the zkDB generates a proof that verifies the validity of the change, as well as the validity of all previous updates. To optimise performance and minimise overhead, these individual proofs are batched together into a single proof, which can represent a large number of updates.
In practice, we might generate a batched proof for all user updates that occur within a given time period, such as a day. This batched proof encapsulates the entire set of operations within that period, ensuring that the entire database remains valid and consistent.
Once a batched proof is generated, it is submitted to a smart contract deployed on the blockchain. This contract serves as the on-chain verifier, which checks the validity of the proof using zero-knowledge verification techniques. By posting the proof on-chain, we create a public, immutable record that attests to the correctness of all updates made during that period.
The key benefits of this approach include:
This on-chain verifier adds an extra layer of security and trust, ensuring that the zkDB remains transparent, auditable, and resilient against tampering.