Skip to content

Latest commit

 

History

History
51 lines (43 loc) · 2.09 KB

brain_dump.md

File metadata and controls

51 lines (43 loc) · 2.09 KB

Future implementation ideas

Eventually, the system will compose of two parts: Trollup and Trollup Validator. Trollup handles most of the heavy lifting: transaction ingest, processing, state management and commmitment. The Trollup Validator will simply verify the validity of the state change and return a signed commitment back to a Trollup server for finality.

A potential use case might be for organizations or groups that want to create a consortium and share resources, such as a trusted network of validators.

sequenceDiagram
    participant User
    box Trollup
        participant Rollup as Trollup Execution Engine
        participant Settlement as Trollup Settlement
    end
    participant Validator as Trollup Trusted Validator
    participant MainChain as Main Chain (Solana)

    User->>Rollup: Submit transaction
    Rollup->>Rollup: Process transaction off-chain
    Rollup->>Settlement: Batch transactions
    Settlement->>Settlement: Compute state transition
    Settlement->>Settlement: Generate compact representation
    Settlement->>Validator: Submit for validation
    Validator->>Validator: Verify state transition
    Validator->>Settlement: Return signed approval
    Settlement->>MainChain: Submit new state root & signature
    MainChain->>MainChain: Verify validator's signature
    alt Signature is valid
        MainChain->>MainChain: Update state root
        MainChain->>Settlement: Confirm settlement
        Settlement->>Rollup: Update finalized state
        Rollup->>User: Confirm transaction
    else Signature is invalid
        MainChain->>Settlement: Reject update
        Settlement->>Rollup: Report failure
        Rollup->>User: Notify of failure
    end
Loading
  • Integrate with actual Solana SVM for processing transactions
  • Use something like iggy.rs for the transaction pool. I like the idea of using an append log style event streamer to handle transactions and state changes across Trollup. It provides order and persistence.
  • Use p2plib for Trollup clusters.
  • Implement real ZK proofs and Merkle structs
  • Configuration layer
  • HTTP API
  • More DB implementations