For Non-Programmable Blockchains :
Components Involved:
Fiamma: The core network handling the verification of ZKPs.
Data Availability (DA) Layer: Stores proof-related data securely.
Bitcoin: Executes scripts to verify data and signatures.
Various ZKP Systems: Includes Fflonk, Boojum, Stark, and others.
Steps:
Step 1: Proof Generation and Submission
ZKP Systems (Fflonk, Boojum, Stark, etc.):
Various ZKPs are generated by different systems and submitted to the Fiamma network.
Fiamma:
Generate Schnorr Signature: Fiamma generates a Schnorr signature which includes
data_hash
,proof_hash
,result
, andnew_state
.
Step 2: Storing Data in DA Layer
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.
Step 3: Retrieving Data from DA Layer
DA Layer to Bitcoin:
Send Tuple Data: The DA layer sends a tuple of data (
tuple_data{data_hash, proof_hash, result, new_state}
) to Bitcoin for further verification.
Bitcoin:
Check Script: Bitcoin executes scripts to verify the data and signatures.
Step 4: Verification on Bitcoin
Bitcoin Scripts:
Check Script Execution: The scripts on Bitcoin perform checks on
DA Check
andSig Check
to verify the data and signatures.Final State Update: Once the checks are successful, the final state is updated on the Bitcoin network.
Step 5: Kick off Transaction
Fiamma:
Kick off Transaction: If necessary, Fiamma initiates the transaction based on the verified data and results.
Last updated