Skip to content

Latest commit

 

History

History
36 lines (32 loc) · 1.69 KB

usage_seq_diagrams.md

File metadata and controls

36 lines (32 loc) · 1.69 KB

Usage Diagrams

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
Loading

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
Loading