关于支付网络中路由问题的全面研究

硬核:一份关于支付网络中路由问题的全面研究

区块链因 Layer 1 的交易吞吐量上限而常被诟病,离线支付网络(off-chain payment channel network,PCN,下文统称「支付网络」)提供了一种「线下支付+线上结算」的解决方案,为区块链世界的支付(及其泛化成的各类交互)赋予了几乎无限的交易吞吐量。因而,支付网络成为了当前最为热门的区块链研究与工程实践方向之一。

经过多年国际学者与工程的发展,支付网络的若干子研究方向已有了大量的论文研究和工程实践,已经不易遍历阅读和详尽了解。然而,当前阶段对于这一重要的研究方向,虽然多数区块链领域的人士对其基本思想有所了解,但对其最新进展具有较全面追踪的国内极客与学者还不多。

本综述系列面向对这一领域具有兴趣的极客和学者,剖析若干子方向,归纳最新研究进展、提出笔者的思考。作者是热爱研究的 Nervos 小伙伴 Shor,现为上海交通大学博士

本文中,我们默认读者具备了对于支付网络(off-chain payment network)的基本了解。在部分描述中,我们会将支付网络看作一张图论意义上的图(graph),每个参与者看作一个节点(vertex),每个支付通道看作一条图上的边(edge)。所以下文中笔者会不自觉地用「图」来指代一个支付网络,用「节点」来指代一个参与者,「边」字来指代一个支付通道。

路由,即一个需要在支付网络上发送交易的人和交易接收者与图上其他节点共同互动而决定支付路径的过程。当然,严格而言,这不一定是一条路径,而可能是一系列路径组成的一个有向无环图(directed acyclic graph, DAG),由于其他学者似乎尚未对此范畴采用新名词,因而笔者将此系列路径的总和命名为 transaction pattern。


1、基于网络流的路由协议

用一个网络流模型刻画支付网路的整体状态具有以下优势:首先,网络流准确刻画了各支付通道的总额度、余量,使用现有的最大流算法可以找到两点之间可以达到的最大支付总额,并且高效地找出一组可行路径。接下来,笔者简要介绍一下网络流问题。

Hint:「基于网络流的路由协议」是笔者所拟的名称,其在大多数文献中对应的词组是 Source Routing。其原因是这一类路由的过程得由源节点本地完成,其过程中默认源节点掌握了整张支付网络的拓扑结构,并且可以动态探测(probe)任意支付通道中的余量。然而,所有已有的Source Routing方案都是基于最大流算法的,所以笔者大胆地改换了称呼,以便读者理解(另一大原因是笔者在研究展望部分将提出一种并非 source routing 范畴的基于网络流的路由协议)。

网络流问题简介

我们用网络流模型中的一个残量网络(residual network)表述一个支付网路的整体状态(configuration),其本质是一个四元祖

这个基于线性规划的严谨定义并不方便观众们理解。笔者画了以下的图片来帮助读者理解最大流问题的定义。下图中是s1到t1的最大流为10单位。

倘若把s1到t1的10单位的额度全部用尽,并不只一种方案,其中一种「增广」方案使用后如下图。

此时,s2到t2的最大流依旧为10单位,不过方案唯一。如果恰好把 单位流量用完,则全图残量网络如下。

常用的最大流算法包括预留推进算法(HLPP)和一类基于增广路定理的最大流算法,其中包括了 Edmonds-Karp 算法以及他的衍生算法如 ISAP 算法和 Dinic 算法。

不难发现,对于大额支付,我们可以通过最大流算法得到两节点之间的最大可能支付额度。如果支付金额小于这个额度,我们也就通过最大流算法确立了一个支付方案。

2、基于灯塔节点的路由协议

基于灯塔(landmark)节点的路由协议的总体思路如下。首先,每个节点都有资格成为灯塔节点,每个节点都有权利选择让哪些灯塔节点来协助路由。这个大前提基本保证了路由方案的去中心化特性不被打破。

然后,为了提供一定的额度隐私性并增加支付成功的概率,每一笔支付的额度被分为|L|份,每一份由不同的灯塔节点协助完成传输。对于不分片的情况,我们认为|L|=1。 而灯塔协助传输的方式则是根据自己的视野为这笔金额安排一条通道,并通过与这些通道上的节点通讯获取这个通道上可以通过的最大额度。

早期方法

基于 Landmark 的路由协议思路来自于计算机网络领域的研究。其中的常见组件如下。

双向BFS寻找最短路径


图嵌入

通过这样的编码方式,可以高效地确定两个节点之间的一条路径——即从付款节点到两节点的最近公共祖先(lowest common ancestor, LCA)的唯一路径拼接上从 LCA 到收款节点的唯一路径。

SilentWhispers 与 SpeedyMurmurs


SpeedyMurmurs 直接采用了分片支付的方案。除此以外,与 SilentWhispers 的一大不同是,SpeedyMurmurs 中灯塔节点利用树基图嵌入的方式提供支付路径,其出发点针对 SilentWhispers(1)双向 BFS 树在动态网络环境下维护的困难性,(2)即使是拓扑距离非常靠近的两个节点间路由也要经过 Landmark 节点,(3)以及极差可并发性的问题。


3、基于数据网络方法的路由协议

由于以上的路由方案都没有充分考虑实际支付网路的动态性。所以部分来自计算机网络背景的学者提出了将数据网络中的路由办法直接用到支付网络中的若干方案。由于数据网络的路由理论已经在计算机网路领域非常成熟,这一类方案具有较高的可靠性。动态性也给这类方案提供了非常可观的效率。其中最为经典的是 Spider 协议。

Spider 将支付网络类比为数据传输层,使用数据网络的方法进行动态路由。为了和数据网络的模型匹配,在此方案中,我们依旧假设所有的通道都是双向的。类似于数据网络中的数据包,每一笔交易被拆分为若干金额包通过不同路径寻路。每个金额包被直接通过支付网路通道传输并最终抵达收款者,其转发过程中的节点都锁定了相应额度。在完成了寻路后,根据各个金额包的转发路径完成最终支付。

然而,支付网路和数据网络的一大区别在于通量限制的存在。因此,每个通道都会对应一个队列(pending list)保存所有还没能以当前通量完成传输的金额包。只有当有足够的通量从通道的另一侧传来(等价于本方向的余量增加),这个队列中的金额包才能继续传输。值得注意的是,虽然我们用一个金额包的传输过程来描述动态路由过程,其实质是一 个寻路与锁定的过程,倘若不加注意会把这个路由过程误以为是支付过程。

4、混合路由协议

通过对 Ripple 和 Bitcoin 支付网络的实际分析,最新的调研(Flash的论文中)发现:

  • 支付网路有必要支持大额交易(这一点曾经被质疑过);

  • 大额交易需要更加侧重支付成功率,小额交易应该更加注重效率。

基于这一发现,Flash 协议用基于最大流的路由方案来完成大额金额的支付,用基于数据网络的路由方法进行小额金额的支付。由此,大额交易的支付成功率和小额交易的效率得以两全。

各类路由方案的对比与分析

笔者在以上表格 Tab.1 中,列举了各类非混合路由协议的优势与劣势。由于难以量化,具有一定的主观色彩。

5、未来研究展望

接下来,笔者提出若干研究展望,并在文末提出这方面科研中可能遇到的问题。


• 熟悉「基于增广路的最大流算法」的朋友们应该了解,这类算法都需要为每条边配备上 一条「反向边」用来描述一种算法中需要用到的回流。而我们可以惊讶地发现,这种回流正好对应地刻画了双向支付通道中从另一个方向的额度冲抵。因而增广路定理保证了哪怕在支付网络上无规则地「增广」,最后也一定会完成任一笔不超过最大流额度的支付。这样,我们就得到了一种完全「动态」的基于最大流的路由算法。这一点似乎并未被现有文献提及。当然,对于绝大多数小额交易,用这个算法太过于杀鸡用牛刀了。但笔者相信对于早期支付网络中遇到的巨额交易,这个思路会派的上用处。


• 可以用「最小费用最大流」来取代底层最大流,使得有多种选项时算法可以挑出一组长度最短、总过路费最少的路径方案。学过一种「最小费用最大流」算法的朋友此时应该能明白笔者的寓意,在此不再展开。


• 通过支付网络相关智能合约代码的重构,或者通过另类 landmark 节点的设立,「指导」参与节点建边,以系统性地改进网络的拓扑结构。笔者曾对可能由各个 landmark 引向的结构做过不少畅想,其中包括基于 hypercube、以 landmark 为根的平衡树、以 landmark 为根的 link-cut-tree 等等。


如想在这一方向(支付网络中的路由问题)深入科研,尤其如果在以缩短平均跳数(hop)为目的,可能存在两大问题:

第一个问题

实事求是地,当前的支付方案在当前的支付网络规模中已经做得够好了。根据 SpeedyMurmurs 论文中的实验数据,其已经可以在鼎盛时期的 Ripple 网络中达到平均 2 到 4 跳数(hop)的水准。在此之上再做优化又能如何呢?更优美且能在未来百千万、上亿规模支付网络中取得更好结果的算法,在当前支付网络下兴许反而因为较大的「常数」而并不能取得一个更好的结果。当然,基础研究是要面向未来大规模支付网络的未来的,但面向未来的研究得要在大规模的网络上进行模拟实验才能具有公信力。接下来笔者来阐述一下大规模支付网络的拓扑结构的模拟是如何不可为的。

第二个问题

难以进行合理的模拟实验。首先,实事求是地说,当前阶段的现实网络中的多数参与者尚且是少数极客精英和资本,其拓扑结构肯定和未来的真实网络大相径庭。其次,笔者认为社交网络中的若干模型并不能真实反应支付网络未来之拓扑结构,例如,笔者并不觉得社交网路中常用的「Watts 图」可以刻画好未来的这个网络,因为大多数节点不会去建很多条边使得图的 density 达到出现 small-world phenomenon 的 threshold,Watts 图的大前提不会成立。总而言之,笔者认为,一个对未来支付网络拓扑结构的研究,于今至关重要,是若干支付网络更多研究发展的大前提。

References

1. Malavolta et al. SilentWhispers: Enforcing Security and Privacy in Decentralized Credit Networks. NDSS 2017

2. Roos et al. Settling Payments Fast and Private: Efficient Decentralized Routing for Path-Based Transactions. NDSS 2018

3. Sivaraman et al. Routing Cryptocurrency with the Spider Network. HotNets 2018

4. Peng Wang, Hong Xu, Xin Jin, and Tao Wang. Flash: Efficient Dynamic Routing for Offchain Networks. CoNEXT 2019

5. Joseph Poon and Thaddeus Dryja. The bitcoin lightning network: Scalable off-chain instant payments. https://lightning.network/lightning-network-paper.pdf. 2016

6. Raiden network. http://raiden.networkwork/.

7. Giovanni Di Stasi, Stefano Avallone, Roberto Canonico, and Giorgio Ventre. Routing payments on the lightning network. iThings/GreenCom/CPSCom 2018

8. Lewis Gudgeon, Pedro Moreno-Sanchez, Stefanie Roos, PatrickMcCorry, and Arthur Ger- vais. SoK: Layer-Two Blockchain Protocols. FC 2020

24小时热点

投资者寻找 2025 年牛市前爆升10大潜力币 8月最佳百倍币

随着 2024 年进入下半年,全球投资者的目光正紧紧聚焦于能 ...

115307

非小号

元宇宙原力币是什么?有什么用?

随着科技的不断进步,元宇宙的概念已经逐渐从科幻小说中走入现实 ...

178886

区块链圈小菜鸡

元宇宙入口是什么?原力元宇宙官方网站入口及注册流程

原力元宇宙官方网站入口是 https://meta-forc ...

104764

树图链

被朋友骗去弄数字货币

  有一次,一个朋友突然给我说他有一种可以赚钱的新方法,他说 ...

446050

DigiFinex

链圈百科:韩国政府机构组织图

一、行政院 韩国行政院是一个由政府的行政机构组成的中央政府 ...

1045804

BitKeep钱包

中国十大庞氏骗局之RUNE币 THORChain

RUNE- 简介详情 THOR ...

146951

非小号

国家版本数据中心

国家版本数据中心(National Data Version ...

439370

元视觉

元宇宙平台合法吗

现在,元宇宙平台备受热捧,但有人质疑其合法性。在此,我们将对 ...

989208

T网

盘点目前最火的区块链游戏项目排名

随着区块链技术的不断成熟和普及,其在游戏行业的应用也逐渐兴起 ...

153476

波场区块链浏览器

2024年以太坊会恢复挖矿吗?后续有什么调整?

以太坊在2022年完成了从工作量证明(PoW)到权益证明(P ...

87534

波场区块链浏览器

热点专题

NFT艺术品到底是什么?

Beeple,“EVERYDAYS: THE FIRST 5 ...

2318557

Opera House

最全的NFT发展史

当我们理解一个新生事物,必须要首先了解其起源,通过对其源头以 ...

1752801

iBox

“华英会”诈骗圈钱5000亿!崩盘后将会凄惨无比

“华英会”崩盘的预警已多次发出,尽管尚未正式宣布崩盘,但大家 ...

1328854

Magic Eden

什么是IDO?这种模式会带来怎样的影响?

要理解IDO(Initial DeFi Offering)初 ...

1158056

Bitstamp交易所

链圈百科:韩国政府机构组织图

一、行政院 韩国行政院是一个由政府的行政机构组成的中央政府 ...

1045720

BitKeep钱包

有黑客采取新型 USDT 假充值手法

根据慢雾区情报,有黑客采取新型 USDT 假充值手法,黑客采 ...

1015812

区块链博客

元宇宙平台合法吗

现在,元宇宙平台备受热捧,但有人质疑其合法性。在此,我们将对 ...

988901

T网

4种利用永续合约资金费率套利的策略

下文将介绍在保持市场中立的条件下,如何从永续掉期资金费率中套 ...

948964

DCG区块链孵化器

国内NFT平台是怎么赚钱的?

2021年被称为NFT的“元年”,互联网巨头、各大企业、艺术 ...

813235

CoinBene满币网

宝二爷郭宏才的乘风破浪之旅

10年后的比特币会涨到10万美元吗?宝二爷说过:“先吹吹牛B ...

727516

QuillAudits