For Programmable Blockchains
Last updated
Last updated
Fiamma: The core network handling the verification of ZKPs.
Data Availability (DA) Layer: Stores proof-related data securely.
Ethereum: Executes smart contracts to verify data and signatures.
Check Contracts for Various ZKP Systems: Includes Boojum, Plonky2, Circle Stark, and others.
ZKP Systems (Boojum, Plonky2, Circle Stark, etc.):
Various ZKPs are generated by different systems and submitted to the Fiamma network.
Fiamma:
Generate BLS Signature: Fiamma generates a BLS signature which includes data_hash
, proof_hash
, result
, and new_state
.
Fiamma to DA Layer:
Send Data: Fiamma sends the transaction data (txdata
), proof, and result to the DA layer for storage.
DA Layer:
Store Data: The DA layer securely stores the received data ensuring its availability and integrity.
DA Layer to Ethereum:
Send Tuple Data: The DA layer sends a tuple of data (tuple_data{data_hash, proof_hash, result, new_state}
) to Ethereum for further verification.
Ethereum:
Check Contract: Ethereum smart contracts retrieve and verify the data from the DA layer. The contracts perform checks on DA Check
and Sig Check
.
Ethereum Smart Contracts:
Check Contract Execution: The smart contracts on Ethereum execute the checks (DA Check
and Sig Check
) to verify the data and signatures.
Final State Update: Once the checks are successful, the final state is updated on the Ethereum network.