论文记录-Secure Balance Planning of Off-blockchain Payment Channel Networks

Secure Balance Planning of Off-blockchain Payment Channel Networks

Abstract

链下支付渠道可以通过实现“无需向区块链提交单笔支付即可在两个区块链节点之间进行大量小额支付”这一点来显著提高区块链的可扩展性。多个支付渠道可以形成一个支付网络,从而使得没有直接相连的两个节点也可以进行支付。构建支付网络的一个关键挑战在于决定应该将多少资金存入支付渠道作为初始余额,这严重影响了支付网络的性能,却少有研究。本文通过设计支付网络的余额规划服务PnP来解决这一问题。考虑到节点之间估计的支付需求,PnP可以决定通道余额,以较高的概率满足这些需求。它不依赖于任何可信第三方,并能以较低的开销提供强大的保护来防止恶意攻击。它包含两个创新点:加密排序和机会约束的平衡规划算法。在一个由30个节点组成的测试平台上的实验结果表明,PnP可以比其他设计多实现30%的支付。

Intro

  1. 区块链牺牲了可扩展性来实现去中心化和一致性,因为共识需要包含所有节点,例如比特币和以太坊每秒处理的交易都很少
  2. 近年来有研究提出了新的共识来,可以实现每秒上千交易,单仍然无法满足大规模应用的需求。例如Visa每秒47000笔交易。
  3. 交易渠道(payment channels)通过在两个区块链节点之间创建私有通道来解决可扩展性问题。具体来说,两个节点建立了一个特殊的渠道合约,该合约将一定数量的资金作为初始余额。随后,这两个节点可以在通道上进行交易并自行维护渠道余额。因为渠道上的交易并不提交给区块链,所以区块链的可扩展性就显著提升了。
  4. 节点之间的多个支付渠道可以构成支付网络,从而使得没有支付渠道直接相连的两个节点可以通过多跳的方式实现链下交易。如今已经有了实现这样功能的网络,例如比特币的Lighting Network和以太坊的Raiden Network。(注意这个闪电网络和闪电贷不是一个东西)
  5. 建立支付渠道的关键问题在于初始余额。如果钱给少了,则这个渠道要时不时重新构建,导致了更频繁的区块链访问操作。而钱给多了又是不必要的。如果考虑多跳交易的支付网络,这个问题就更复杂了。 现有研究大多假设支付渠道里的钱是足够的,但这并不现实。而一个考虑了这个问题的研究则引入了中心化的可信第三方,这更容易受到恶意攻击了。
  6. 本文研究了支付网络中的余额规划问题,即给定节点们的支付需求估计,如何决定支付渠道的初始余额。本文设计了一个余额规划服务PnP来实现这一点,它可以集成到现有的支付网络中。PnP可以利用对支付需求的了解,即使有估计误差,也能将渠道总存款降到最低。它不依赖可信第三方,因此可以抵御来自恶意节点的攻击。此外,它的通信和计算开销很低。PnP通过解决两个主要挑战来实现上述优势。
    1. 很难精确估计节点的支付需求。直觉上的想法是根据历史需求预测未来需求从而设计算法,但是实际需求往往或多或少,一旦渠道余额用完,所有关联该渠道的交易就都会失败。当然也能改进预测方法来得到更准确的估计,但不能从根本上解决这个问题。本文的解决方法是:将这个余额规划问题表达为机会约束优化问题,进而设计算法从而从理论上保证高概率满足支付需求。
    2. 恶意节点攻击问题。现有工作很多都假设存在可行第三方,但这不现实。PnP能防御一定比例的拜占庭攻击。它随机选择一组节点作为决策委员会来产生正确的余额规划结果。它通过解决两个问题来保障安全性:谁应该被选中加入委员会,以及决策委员会如何在正确规划结果上达成共识。本文为委员会成员选举设计了加密排序机制。委员会中的每个节点独立运行本文提出的余额规划算法并通过拜占庭协议达成共识。
  7. 本文在Ind上搭建虚拟支付网络做了实验,因为PnP是第一个余额规划研究,所以在对比的时候是和它的一些变种(不同设计选择)对比。
  8. 本文主要贡献如下:
    1. 设计了PnP作为支付网络的余额规划,是第一个研究这个的。
    2. 为了防御攻击,设计了加密排序来选择决策委员会来运行规划算法。
    3. 描述了最小化支付渠道保证金又同时满足所有节点支付需求这一问题。使用机会约束来描述支付需求的不确定性,并使用近似技术解决相关问题。
    4. 在testbed上的30个节点测试了PnP,实验表明效果很好。

PRELIMINARIES AND MOTIVATION

支付渠道

支付网络

动机

系统设计

概要

委员会选举

非直连余额规划

  • Copyrights © 2020-2024 Kun Li

请我喝杯咖啡吧~

支付宝
微信