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.
翻译:虽然区块链的初衷是实现支付系统,但研究表明,这类系统实际上并不需要共识,可以在异步网络中确定性地实现。现有支付系统采用可靠广播来分发支付并防止双重支付,即使拜占庭行为极少或不存在,每笔支付也需要O(n²)的通信复杂度。本文提出Flash——首个在良好情形下每笔支付达到O(n)通信复杂度、在最坏情形下达到O(n²)复杂度(匹配下界)的支付系统。这一突破通过摒弃可靠广播,转而使用blocklace——一种基于DAG的区块链偏序泛化结构——来完成交易依赖记录、区块分发和歧义排除等任务,从而防止双重支付。Flash包含两种变体:一种适用于多个包含多笔支付的区块并发产生的高拥堵场景;另一种适用于支付频率较低的低拥堵场景。