High Throughput Cryptocurrency Routing in Payment Channel Networks 阅读笔记

  • 发表信息: 2020 NSDI
  • Spider: 一种多路径传输协议,可在PCNs中实现平衡的高通路由协议。
  • Directed Acyclic Graphs(DAG): 有向无环图(作者提出DAG不应该在支付通道网络中存在,他的存在会产生死锁,导致支付停滞)
  • maximum-transaction-unit (MTU): 最大交易单位
  • AMP(原子多路径支付): Atomic Multi-Path Payments over Lightning. 链接
  • circuit switching → \rightarrow packet switching
  • 本文的创新点: 在之前分组打包交易路由算法的基础上,提出不同交易速率的概念
  • Spider的特点:
    1. Spider发送“打包”事务,将它们分成事务单元,可以通过不同的路径以不同的速率发送。通过为pcn启用类似拥塞控制的机制,这种分组交换方法使得在一段时间内在低容量支付信道上发送大额支付成为可能。
    2. Spider开发了一种简单的多路径拥塞控制算法,该算法在最大化吞吐量的同时促进了信道的平衡。Spider的发送器使用来自路由器的一个简单的一位拥塞信号来调整每个路径上的窗口大小或未完成事务单元的数量。
  • 现有路由办法导致的问题:(现有路由办法一般会选择最短路径)
    1. 造成通道网络利用率不足: 如下图所示节点集群A和节点集群B中的节点想要进行交易,如果遵循最短路径办法,那么他们就会一直利用通道c进行交易,那么就可能会造成通道c的拥塞和a、b通道的利用率很低。在这里插入图片描述
    2. 造成通道余额不平衡: 如下图所示,节点集合A和节点集合B通过a、b两条通道来进行交易,假设他们充分利用两条通道,他们利用a通道执行集合A到集合B的交易,用b信道执行集合B到集合A的交易,那么最后导致的结果就是通道余额的不平衡,按照最短路径的路由算法是没有办法解决这个问题的,作者的想法是把一次交易分成两份,分别利用a、b通道进行执行。在这里插入图片描述
    3. 时间上的拥塞: 作者提到在支付通道上可能会在一个时间内出现大量的支付请求。作者的想法是 “打包”这些事务,将他们分成更小的事务单元,让这些小的事务单元在多条路径上执行,同时以不同的速率执行,以此来解决空间和时间上的拥塞。
    4. Deadlocks(死锁): 如下图的网络拓扑和需求率所示,节点1、2、3在最初的时候通道余额都是平衡的,都有10单位的余额。节点1以1单位/每秒的速率向3节点支付,2节点以2单位/每秒的速率向3节点支付,3节点以2单位/每秒的速率向1节点支付,最后会造成下图的第二个情况,节点2的余额会最终耗尽,1、2、3这个通道也再也无法使用。(图示的一个节点也可代表一个集群)
      在这里插入图片描述
  • 不好的路由和交易速率控制算法会导致支付通道余额不平衡进而降低吞吐量。
  • Spider使用分组交换架构,将事务分成一系列独立路由的事务单元。每个交易单位转移少量资金,以最大交易单位价值为界限。拆分交易不会损害支付的安全性,每个事务单元都可以用一个独立的密钥来创建。当接收者接收并确认交易单元时,发送者可以有选择地只透露已确认交易单元的密钥。
  • 每当支付渠道缺乏资金立即转发交易单元时,Spider路由器就会在该渠道上排队。当节点从其支付通道的另一端接收到资金时,它使用这些资金来转发在其队列中等待的交易单元。而现在的路由算法没有等待机制,只要那一时刻没有足够余额转发那么就会立即显示交易失败,从而导致即使是暂时缺乏渠道平衡也可能让许多交易失败。
  • 路由协议需要达到的两个目标:
    1. 效率高
    2. 路径选择公平

在这里插入图片描述

  • 作者将a模型分解成b的循环结构和c的有向无环图结构,c结构是造成余额不平衡的关键。

路由模型

  • G(V, E)
  • V: 表示节点集合
  • E: 表示支付通道集合
  • p: 表示支付路径
  • x p x_{p} xp:表示沿着该路径的平均支付速率
  • 通道间的平均交易速率不超过 C u , v / Δ C_{u,v} / \Delta Cu,v/Δ
  • P i , j P_{i,j} Pi,j i i i j j j 的所有路径的集合
  • d i , j d_{i,j} di,j i i i j j j 的需求
  • x u , v x_{u,v} xu,v:在通道 ( u , v ) (u,v) (u,v)中从 u u u v v v 的总流量
  • C u , v C_{u,v} Cu,v ( u , v ) (u,v) (u,v)通道的通道容量
  • Δ \Delta Δ:支付完成的平均往返时间
  • P P P:所有路径的集合
  • Primal-Dual Decomposition: primal variables(原始变量)—— 代表每条路径的支付率,dual variables——代表通道价格。
  • λ u , v λ_{u,v} λu,vcapacity price,表示通道拥塞,即事务到达的总速率超过其容量
  • µ u , v µ_{u,v} µu,vcongestion prices,用于指示通道两个方向上的不平衡
  • 以上两个变量会定期更新,以确保通道中不违反容量限制和不平衡条件
  • n u , n v n_u, n_v nu,nv:表示自上次价格更新以来,在τ秒内分别到达u和v的交易总量。
    在这里插入图片描述
  • k : k: k is a positive step-size parameter for controlling the rate at which the price varies.
    在这里插入图片描述
  • η \eta η: is a positive step-size parameter.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值