Usage Diagrams
October 31, 2023 ยท View on GitHub
These are some hacked together diagrams showing how the protocol will (likely) be used. Also included what the old Edge proof generation process looked like as a reference.
Proof Protocol
sequenceDiagram
proof protocol client->>proof scheduler: protocol_payload
proof scheduler->>protocol decoder (lib): protolcol_payload
Note over proof scheduler,protocol decoder (lib): "txn_proof_gen_ir" are the payloads sent to Paladin for a txn
protocol decoder (lib)->>proof scheduler: [txn_proof_gen_ir]
proof scheduler->>paladin: [txn_proof_gen_ir]
Note over proof scheduler,paladin: Paladin schedules jobs on multiple machines and returns a block proof
loop txn_proof_gen_ir
paladin->>worker machine: proof_gen_payload (txn, agg, block)
worker machine->>paladin: generated_proof (txn, agg, block)
end
paladin->>proof scheduler: block_proof
Note over proof scheduler,checkpoint contract: Note: Might send to an external service instead that compresses the proof
proof scheduler->>checkpoint contract: block_proof
Edge Proof Generation
sequenceDiagram
edge->>zero provers (leader): block_trace
zero provers (leader)->>trace parsing lib: block_trace
Note over zero provers (leader),trace parsing lib: "txn_proof_gen_ir" are the payloads sent to each worker for a txn
trace parsing lib->>zero provers (leader): [txn_proof_gen_ir]
loop txn_proof_gen_ir
zero provers (leader)->>zero provers (worker): proof_gen_payload (txn, agg, block)
zero provers (worker)->>zero provers (leader): generated_proof (txn, agg, block)
end
zero provers (leader)->>checkpoint contract: block_proof