[Paper Review] Flash: An Asynchronous Payment System with Good-Case Linear Communication Complexity
Flash is a novel asynchronous payment system that achieves O(n) communication complexity per payment in the good case—when Byzantine faults are few or absent—by replacing Reliable Broadcast with a blocklace, a DAG-like structure that tracks transaction dependencies and prevents double-spending. It matches the O(n²) worst-case lower bound, offering the first linear-good-case, quadratic-worst-case performance in asynchronous payment systems with Byzantine fault tolerance.
While the original purpose of blockchains was to realize a payment system, it has been shown that, in fact, such systems do not require consensus and can be implemented deterministically in asynchronous networks. State-of-the-art payment systems employ Reliable Broadcast to disseminate payments and prevent double spending, which entails O(n^2) communication complexity per payment even if Byzantine behavior is scarce or non-existent. Here we present Flash, the first payment system to achieve $O(n)$ communication complexity per payment in the good case and $O(n^2)$ complexity in the worst-case, matching the lower bound. This is made possible by sidestepping Reliable Broadcast and instead using the blocklace -- a DAG-like partially-ordered generalization of the blockchain -- for the tasks of recording transaction dependencies, block dissemination, and equivocation exclusion, which in turn prevents doublespending. Flash has two variants: for high congestion when multiple blocks that contain multiple payments are issued concurrently; and for low congestion when payments are infrequent.
Motivation & Objective
- Address the inefficiency of existing payment systems that incur O(n²) communication complexity per payment even in the absence of Byzantine behavior.
- Design a payment system that maintains security and consistency in asynchronous networks without relying on consensus or Reliable Broadcast.
- Achieve optimal communication complexity: O(n) in the good case (few or no Byzantine faults) and O(n²) in the worst case, matching known lower bounds.
- Provide two operational variants: one for low-congestion environments with infrequent payments, and another for high-congestion scenarios with concurrent payments.
- Enable transaction finality through a novel blocklace structure that replaces traditional total ordering and reliable broadcast mechanisms.
Proposed method
- Replace Reliable Broadcast with a distributed, DAG-like structure called the blocklace to record transaction dependencies and block relationships.
- Use the blocklace to disseminate blocks and detect equivocations (i.e., conflicting transactions from the same account) without requiring total ordering.
- Implement a finality mechanism where a transaction is finalized once it is approved by at least (n + f)/2 distinct honest agents in subsequent blocks.
- Introduce an urgent payment mode where agents can mark specific transactions as urgent, triggering immediate approval by all honest nodes upon receipt.
- Design two protocol variants: one optimized for low-congestion (infrequent payments) and another for high-congestion (concurrent payments), each leveraging the blocklace structure differently.
- Ensure security and consistency in asynchronous networks by relying on the blocklace’s partial order and approval thresholds to prevent double-spending, even under Byzantine behavior.
Experimental results
Research questions
- RQ1Can a payment system achieve linear communication complexity per payment in the good case while still matching the O(n²) worst-case lower bound?
- RQ2Is it possible to eliminate Reliable Broadcast in payment systems without sacrificing security or consistency in asynchronous networks?
- RQ3How can transaction finality and equivocation detection be achieved efficiently using a partially ordered, DAG-like structure instead of total ordering?
- RQ4What are the performance trade-offs between low-congestion and high-congestion deployment modes in asynchronous payment systems?
- RQ5Can urgent transaction mechanisms reduce finality latency without compromising security or increasing communication overhead?
Key findings
- Flash achieves O(n) communication complexity per payment in the good case—when the number of Byzantine agents is constant or zero—while maintaining O(n²) complexity in the worst case, matching the known lower bound.
- The blocklace structure successfully replaces Reliable Broadcast for equivocation detection and block dissemination, enabling efficient, scalable communication without consensus.
- In the low-congestion variant, transaction finality is achieved through cumulative approvals from (n + f)/2 distinct agents, ensuring safety even with up to f Byzantine agents.
- The urgent payment mode allows immediate approval of marked transactions upon receipt, reducing finality latency without increasing message complexity beyond O(n).
- The high-congestion variant supports concurrent issuance of multiple payments and blocks, maintaining linear communication complexity per payment under normal conditions.
- Flash demonstrates that payment systems are a weaker problem than consensus, as they do not require total ordering of transactions, enabling better performance in good-case scenarios.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.