Skip to main content
QUICK REVIEW

[Paper Review] Flash: An Asynchronous Payment System with Good-Case Linear Communication Complexity

Andrew Lewis-Pye, Oded Naor|arXiv (Cornell University)|May 5, 2023
Distributed systems and fault tolerance4 citations
TL;DR

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.

ABSTRACT

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.