一种支持高并发的多人链下支付方案 |
来源:一起赢论文网 日期:2022-01-16 浏览数:1010 【 字体: 大 中 小 大 中 小 大 中 小 】 |
第44 卷 第1 期2021 年1 月计 算机 学 报CHINESEJOURNALOFCOMPUTERSVol .44No.1Jan. 2021一种支持高并发的多人链下支付方案葛钟慧”张 奕2 ) ’ 3 )龙 宇2 )刘 振2 )刘志强2 )谷大武^1 :)( 上海交通大学网络空间安全学院 上海 20 024 0)2)( 上海交通大学计算机科学与工程系 上海 2 002 40)3 )( 上海观源信息科技有限公司 上海 2002 41)摘 要 随着区块链技术研究与应用的快速发展, 可扩展性瓶颈对于其在大规模应用场景下的主要制约作用逐渐凸显. 作为解决区块链可扩展性问题的关键技术之一, 支付通道技术将交易清算从链上的全网矿工认证转移到链下通道内的支付双方认证, 从而实现了支付近乎即时确认; 结合路由算法构成的支付通道网络, 实现了任意两点间的链下支付, 极大地提升了区块链的可扩展性.然而, 目前的研究大多针对双人通道, 涉及到多方的链下支付无法在单个通道内或通过单条支付路径完成, 同时对于具有频繁、相互交易需求的多个人, 两两间建立通道或通过路由来完成链下支付的所需链上开销与复杂性较高. 现有的多人通道方案效率低下, 不适用于高并发的链下支付场景,且不能支持跨通道支付, 限制了链下支付的范围. 基于此, 本文在原有多人通道框架内改进了通道内状态更新机制, 将通道状态依据支付串行更新变为并行更新, 并引人支付有效期来减轻网络时延与高并发支付场景对支付有效性的影响, 从而实现通道内支付处理效率的提升和对链下高并发支付场景的支持, 此外在不关闭通道的前提下允许节点退出通道以提高通道可持续性; 将多人链下支付从通道内推广至跨通道, 具体地, 在多人通道内引人条件支付与赎回支付, 以支持安全的跨通道支付, 同时将原双人通道网络中的基于图嵌人的贪心路由算法应用至多人通道网络中, 以实现网络任意两点间的支付路径寻找. 分析表明, 多人通道网络具备可行性, 并可实现安全的链下支付; 我们对链下支付的路由情况进行模拟, 实验结果显示, 该方案链下支付成功率为88%, 且在静态场景下的路由开销相对双人通道网络降低了28%, 面对网络环境与设置变化路由性能更加稳定.由此, 此方案具有高效、支持高并发、稳定的特性, 满足实际应用中对链下支付的需求, 具有良好的应用前景.关键词 区块链; 多人通道; 链下支付; 高并发; 路由中图法分类号TP309DOI号10. 1 189 7/SP.J. 101 6. 2021 .00132AHigh-ConcurrencyMulti-PartyOff-ChainPaymentSchemeGEZhongHui1 5ZHANGYi2 ) , 3)LONGYu2)LIUZhen2 )Li uZhi Qi ang2 )GUDa Wu1 )1 :) {SchoolofCyberScienceandEngineering?ShanghaiJiaoTongUniversi ty^Shanghai200240)2){ DeparL menLofComput erScienceandEngineeri ng?ShanghaiJiaoTongUniversi ty^Shanghai200240)3 )(ShanghaiVi ewsourceInformai ionScience&-TechnologyCo. ?Li d^Shanghai200241)AbstractBl ockchai nhasrecei vedgreatattentioni nrecentyears.Duetoitsi nherentattri buteofdecentrali zati on,thel owthroughputi mpedesi tsl arge scal eappl i cati ons.Asoneofthemostpromisi ngsol uti onstothescalabi li tyi ssue,PaymentChannelNetworks( PCNs)movetheonchai npaymentsi ntooffchai npaymentchannel s,taki ngtheunderlyingbl ockchainasthearbitrati onpl atform.Whil eanonchai npaymentneedstobeveri fiedbyal lmi nesi nthebl ockchai nnetwork?anoffchai npaymentneedsonl ytobeapprovedbybothparti eswithi nthechannel ,leadingtonearl yi nstantpaymentconfirmati on.Incombinationwi throutingalgori thms,counterpartieswithouta收稿日期:20 19 12 01; 在线发布日期:2020 05 14. 本课题得到国家自然科学基金( 61672347 , 61672339 , 61872142 , 61932014 , 61572318)、“十三五”国家密码发展基金( MMJJ20170111) 、 上海市2019 年度“科技创新行动计划”( 19511101403 , 19511103900) 、 上海市闵行区中小企业技术创新计划(2018MI I 1 10) 资助. 葛钟慧, 博士研究生, 主要研究方向为区块链. Email : zhonghui.ge@sjtu. edu. cn. 张 奕, 硕士研究生, 主要研究方向为区块链. 龙 宇, 博士, 副教授, 主要研究方向为区块链、 信息安全与密码学. 刘 振, 博士, 副教授, 主要研究方向为应用密码学、 区块链安全与隐私保护.刘志强, 博士, 副教授, 主要研究方向为区块链、 信息安全与密码学.谷大武( 通信作者) , 博士, 教授, 主要研究领域为密码学与计算机安全. Emai l: dwgu@sjt u.edu.cn.葛钟慧等:一种支持高并发的多人链下支付方案 13 31 期directpaymentchannelcanaccomplishpaymentsi nthenetworkviaapathofi ntermediaries,whichbroadensthescopeofoff chai npayments. However,currentresearchesmai nlyfocusontwopartypaymentchannel s,paymentswithmul tipl epayersorpayeescannotbeaccomplishedwithi nonechannelorvi aasi ngl epaymentpath. Atthesameti me,foragroupofpeopl ewhomakepaymentsmutual l yandfrequentl y,l aunchi ngoff chai npaymentsei therbyestabl i shi ngtwopartychannel sbetweeneachpairorthroughi ntermediariesl eadstohighon chaincostandpaymentcompl exi ty. AsforGnocchi ,thecurrentmul tipartyoffchai npaymentscheme,therei salackofefficiencyandfai lstosupporthigh concurrencyi nchannelpayments.Besi des,thereisnosupportforcross channelpayments, whichli mitstherangeofoffchai npayments. Inthispaper,wei mprovedtheoperati onmechanismofGnocchitoachievetheenhancementofi nchannelpaymentprocessi ngeffi ci encyandthesupportofhigh concurrencyoff chai npayments.Si mi l arly,weconti nuedthei ntroducti onofsupervisorwithinthemul tipartychannelastheproposerofupdati ngchannelstatei neachround. Di fferentl y,wetransferredtheserialchannel stateupdatei ntotheparal l elupdateandregardpaymentsthesupervisorreceivesi nacertai ntimeperi odasi noneround. Toreducethei mpactofnetworkl atencyandhigh concurrencypaymentscenari osonpaymenteffecti veness,theroundnumbercontainedi nonepaymenti sregardedasvali difi ti si nacertai nintervalofthecurrentround.Besi des,thecaseofnodedepartsandwi thdrawhisval uefromthechannelwithnoneedtocl osethechannelisconsi deredtopromotechannel sustai nability.Moreover,weextendedtheoffchainpaymentsfromi nchanneltocross channel.Specifical l y,thecondi ti onalpaymentformat,whoseval uewi l lbetransferredtothepayeewhenheful fi l l sitsconditi on,isintroducedwithi nthechanneltoensurethesecureval uetransferal ongthecross channelpath.Accordi ngly,theredempti onpaymentformati mpl ementstheconditionfulfil l ment. Thegreedyembeddi ngbasedrouti ngalgori thmisdepl oyedtoachieveefficientpathfi ndi ngbetweenanypairofnodesi nthemul tipartyoffchai nnetwork.Weanal yzedthefeasibilityandsecurityofthenetwork,andeval uatedtheperformanceoftherouti ngalgorithmusingreal worl ddata.Astheresultsshow,i tachievesthepaymentssuccessrati oof88%andreducesroutingoverheadby28%comparedtothetwopartyPCNsi nthestaticscenari o. Facingchangesfromnetworkscenari oandnetworksettings,itachievesacomparabl ysteadierrouti ngperformance. Withtheproperti esofeffi ci ency,high concurrency,andstabi l ity,i ti sconcl udedthatthemultipartyoffchai npaymentschemeisdepl oyabl ei nreal worl dapplicati ons.Keywordsbl ockchai n,mul tipartypaymentchannel;offchai npayment;high concurrency;routi ngi 引 言自2008 年比特币[1]问世以来, 其底层区块链技术受到来自科研界与产业界的广泛关注. 以太坊[2]所提出的智能合约进一步拓宽了区块链技术的应用边界, 跳出了转账交易与简单业务脚本的框架. 然而, 由于区块链固有的分布式属性, 即每笔交易都要经过全网矿工节点的确认, 导致区块链的可扩展性较低. 理论上比特币吞吐率为7TPS, 以太坊为15TPS,远低于传统的中心化系统如Vi sa, 可支持每秒上千笔交易[3], 这极大地限制了区块链在大规模场景下的应用, 也使得区块链可扩展性成为亟待解决的问题.作为区块链可扩展性问题[4]的主流解决方案[5 8]之一■, 支付通道网络( PaymentChannelNetworks,PCNs)[5’8]内有两种支付形式, 通道内支付和跨通道支付. 通道内支付指具有高频、小额交易需求的两个节点在链上预存金额至链下支付通道中, 并将后续交易放在通道内执行, 在通道关闭或双方对通道内金额分配产生纠纷时, 将通道内最新状态提交至链上判决. 跨通道支付针对链下支付通道网络中无直1 34 计 算机 学 报 2021年接通道建立的交易方, 通过路由算法寻找一条连通双方、资金充足的路径以完成支付, 从而拓宽了链下支付的范围. 通过基于密码学的交互协议与惩罚机制, 并依靠区块链作为第三方仲裁平台, 链下支付的安全与效率得以保障.由于交易在链下执行、只需通道内双方确认而无需上链, 可实现即时确认. 由于交易信息与在某一时刻通道内金额分配仅为通道双方所知, 可实现交易隐私性保护. 与其它方案相比, 支付通道网络不涉及链本身的属性, 从而具有更强的兼容性.然而, 目前支付通道网络研究大多关注双人支付通道, 仅适用于两方, 对于涉及多个参与方的链下支付, 只能将此支付划分为多笔子支付, 在多个通道内或通过多条支付路径完成, 此时支付的复杂性提高. 同时对于具有频繁交易需求的/ 个人, 满足两两之间的交易需求需要建立〇(/2) 个通道或通过路由实现, 提高了所需的链上开销与交易复杂性. 已有的多人通道方案Gnocchi?将双人通道推广至多人通道, 但是存在两点显著问题. 首先, 通道内通信开销大, 且支付处理效率低, 不能应用于通道内高并发支付的场景下. 其次, 此方案缺乏对跨通道支付应用场景的考虑, 支付被局限在通道内部, 限制了链下支付的范围.针对以上问题, 本文提出了一种支持高并发的多人链下支付方案, 主要贡献有:(1) 在Gnocchi 的基础上改进了多人通道内部运行机制, 提高了通道内支付处理效率, 实现了通道内状态一致性的正确、快速达成, 满足对高并发支付的需求;(2) 将链下支付的范围从通道内扩展到跨通道. 在多人通道内部引人条件支付与赎回支付, 实现了安全的跨多人通道支付; 设计了基于多人通道网络的路由算法, 实现了分布式环境下网络中任意节点间的支付路径寻找;(3) 分析证明了多人通道网络的可行性与安全性, 并通过实验验证网络路由性能. 实验结果表明,多人通道网络实现了88%的链下支付成功率, 相比于双人通道网络实现了更低的路由开销与更稳定的路由性能, 满足实际应用需求.本文第2 节对支付通道网络的相关工作, 以及本文所需的预备知识进行介绍; 第3 节描述多人通道内支付方案; 第4 节阐释跨多人通道支付方案; 第5 节对多人通道网络的可行性与安全性进行分析;第6 节对多人通道网络的路由性能进行实验验证,并对结果进行分析; 第7 节总结本文的工作, 并展望下一步的研究方向.2 相关工作与预备知识2. 1相关工作对支付通道网络的研究主要分为单通道和跨通道两个方面. 在单个通道方面, 针对通道中支付的可链接性以及通道建立、 关闭过程中因信息上链而导致的隐私泄漏问题, Green等人[1°]提出了具有隐私保护性质的支付通道方案. Zhang 等人[ 1 1]基于Zerocash 构建了链下支付通道. Pan等人[ 9]提出了一种链下多人通道方案Gnocchi . 多人建立一个通道并预存金额至其中, 引人监管节点来处理通道内支付并广播更新的各节点余额. 通道的安全性通过监管节点预存的保证金以及相应的惩罚机制来保证, 具体细节将在第3 节介绍.在跨通道支付方面, 高效的路由算法是其核心.根据节点掌握资源的不同, 我们将路由算法划分为全局路由与局部路由两类. 全局路由中, 各节点维持链下支付网络的拓扑图. 对此, Pnhodko等人[1 2]提出了Fl are, 通过将到相邻节点与信标节点的路径保存在路由表中, 并结合交易双方的路由表找到公共节点来确定交易路径, 通过问询路径上各节点的可用金额与支付费用来判断路径的可用性. Mal avol ta等人[ 1 3 ]提出的Si l entWhi spers 采用Landmark路由算法[ 1 4], 选取网络中连通度高的节点作为l andmark,通过结合交易双方到landmark 的路径生成总交易路径, 通过安全多方计算确定路径上可转移金额, 并且保护通道内金额与交易双方的隐私. 局部路由中,节点仅掌握自身所在通道的信息. 对此, R〇〇s 等人[1 5]提出了SpeedyMurmurs, 采用基于图嵌人的贪心路由算法[ 1 6 ]实现分布式环境下的节点间路径寻找.除路由算法外, Mal avolta 等人?针对支付通道网络的隐私性问题提出了协议Fulgor, 针对并发性问题提出了协议Rayo, 同时刻画了网络隐私性与并发性之间的权衡. 针对通道内金额分布随着链下支付进行而失衡的问题, Khalil 等人[1 8]提出了链下均衡协议, 允许网络中节点依据其偏好来均衡通道内金额. Mi l l er 等人[ 1 9 ]改变了跨通道支付的完成确认方式, 沿路各节点可通过问询全局合约以获取支付完成情况, 从而降低所需时间成本. 此外Malavol ta等人[ 2 °]还针对跨通道支付时存在的虫洞攻击, 提出葛钟養等:一种戈替霄翁发微多A罐下袁付#儀 13 51 期了'g名多跳锁的密码学原语,2. 2 双人通道网络我们以塞于脚本的闪电网络[ 51和基于合约的Spntes[ 1 9 ]为例介绍双人逋道网络中的支付过程,2. 2.1 通道内支付双人通道运行M期包含通道建立, 通道状态吏新和通遒关闭三个过程,在W电网络中, 两个节点通过预存金额彥一个共词控制的多签名地址来逢立链下支付通道. 节点在通道内通过RSMC( R.co软tabl*Sfqtt雜cf. Mrturit:yG〇ntjrast)实亂敦向聋付, 通道内状―的蠢if蠻■乘:自双方的认证, 同时作废之前的通道状态*缉效方想关 通通时, 提交共同认可W最终通道内籴额分配至链 当4方提交通道状态至链上以取_通道内金额时, RSMC的时间锁使得通道关用发起方延时取回其金额, 保证另一方能在延时时间内焚现可能存在的作恶行为并提交证据至链上, 启动惩罚机制没收作恶方的金额, 进而保证链下支付的安全性.准Sprites中., 两"赁處幢存金顧至臂镏會翁乘建立链下支付通道.通道内每藥支付带有当前通道轮数r, 随着支付的进行轮数逐一递増. 链上对于通: 道状态的判断基于所提. 交通道状态轮数的大小, 即将轮数更裔的通道状态视为通. 道最新状态. 相对于闪电阕繁, Sprite* 中考点仅嫌存储最爵通道拔态,降低了春储开销.2. 2.2 跨通道内支付将双人通道: 网络抽象为无向有衩图G=, E>;V为两络中节蟲集tECVXV为支#通遒集. 用(?⑷来盡苏节盘^与於之丨 可鈴通處^轉^紙^春承艇通儀《《: 1 脅:)_货点《 和S 所拥有翁 ◎蠢示节点《的相邻节点* 即与其建立支付通道的节点.网络路由箅法即为发生在节点《和货间的支付寻找一条路凝>=丨 技《U£ nu]5'(u, +i)GE,Bf?S 礼+1=?,hM路?P可实现6§儀太支付金顧^} . i; G姐商1 所嫌:?付款方Aiks,和收雜方Emma揆嵐1 魏人蘧: 績网洛路If示雲图有直接通道* 但是可通过路径九BAlice ,Bob—Ejntaa和路輕|?2:AligeiCsirl KD:好id十ElTi ma;:楚成: 支付? 通过路径#i和办可实规陳: 驗大变付金顏分别: 为mi n'!:6,7}= 6和mi n(: 10 13,5I为保证跨通道支付的安全性*闪电网络莱用HTTLCCHashedTTi meLockContfaet) 协议锻住支付金额,ft有当收款方在规定时间内提供满足条件的哈希廬像时, 支付才会生敢. 如在路径介上进行跨通道袁付时, Alice 翁B.ob之间, Bob准Emma之间均綠立龙付I_以收款方Emma生成的哈讀篇蠢截;尺作为重付条件. 支付_立 Bob屬_麗像值以取回支付金额, Bob以此相同原像值从Al iee处完成支付? 跨通道支付的安?全性通过哈希的抗JE像攻击铮性将以保怔. 而对于构建:在图灵完备的K块链平台( 如以太坊') 上的支付通道, 对以利用智能合约设置叟: 为灵活故支付条件?2. 3 基于图嵌入的贪心路由算法由于通. 道内束付在儒下迸行并仅需遍. 道内欢方的确认, 即俾难网绪结构与各5ff歲■存金额已卸的情况下, 金额在通道内的即时分配仅为通道双方所知 此寻我一条资金满足条件的路径不棊^斗简'单间题.基于图'嵌人的贪心路曲算法是将祠络结构图映射到特定的坐标空■间中, 基于节点的'坐标表示以及艇离计算公式,实规住意两节点间的路控寻找? 此路由方法适用于点与点之间连接受限的网络*Speedy-Murmurs将: 其用管欺人通道网络中的路由 >在支付成功率、路径. 长度、路由开销等性能方面均有相对优越的性能.节点坐标标记基于网络中的生成掛结构, 根节点赋坐梂值为空矩阵, 子节点的坐标赋值为父节磊鐵标与 节,隹标: 识的绪合_ 对于__匈和、.2, 长: 度:分别为| i'l| 和| i'2|, 相厕前壤隹,度: 为 ,心)、其间的距离计算如下:MXl"A:2)=I i'lI +I | —ZcplXtl<Xs)Cl)在.分布式环境下, 节点收到路由信息时将其转鸯至符合支付条件的、距离目标节点更近的相邻首点, 从而保证网络中任意两点间距离递减、资金充足的路径的聲找.2. 4 区块链平台苹文工作基于图灵完.备的K块链平台. 我们假定雇层区? 块链为可#第三方平合, 任黧节点发送至区抉链魔络的有鍊信息!>: 均If在厶时间内: 上键, 任何敌手不能阻碍节点对交易信息的发送与矿工 交:13? 计導机攀报: _1苹易信息的验证.同时; 敌手不能对节点获取区块链上俸息造成干扰.3 多人通道内支付一个多人通道的运行周期包括通通建立、 通道:状蠢更新与节点退_出:, 本文延_3*6】徽(^方泰中在通道内部对监臂节点的引入' 监菅节点通过处理通:瀵内:食付面翁取手?養, 费率与重付方式可*各方在通道建立时自行商定, 我们在此将其忽略以介靖逋道塞本框架. 为保怔逋道内各节点的资金安全,癀谡置作恶判决功能对监管节点的行为进行监督.多人通道运行机制如图2所示, 每个通道、 均对应于链上的—个智能合约, 通道建来、拃恶判决与首. 点退出均Sr节:点触发合约功能完獻, 通道状态更新Etr#贊点参链下完戚_链上智能合约多人通道? 多A通:遺摄:行轨猶W图2-猶虛■框标:薪难文猶GnciccW方業霍础上的改进部分. 主赛有两处/其一为逋道状态吏新过程?GnoccW中的状态更新过程描述与缺陷分析々款碁体玻进方案将在:第U节霉细描述>其二为通道关闭过蘇由乎Gnocchi中通道内任一嘗点可发起通道关苗请求, 降低了多人通遣的可持续应甩性, *此我们将其改进为节点退出过程 监管节京可退出通道并摟现通道内余额, 監管节凉: 退出时逋道将关闭, 此时霈由链上合钧对节点退出通遵后的状态进行更新与认证, 黑体细节将在潫3.3 节描述? 此外. 通道建立与作恶判洪的核心思想%原方案相同, 我们分别在第3.1 节与第3.3节做统一叙述.3.1 通道建立:邋道中的成員, 以集會£?素示., 协甯鲁|r在此逋遵内的预存金额_, 并确定通道的监管节点s. 为保证芷确履职, 监管节点需额外缴纳保证金c?, 并且:满足关系式*G>\C\y^DlN〇,N{ec其中,_D[JV; ]表示节点JV《 的预存金额.在监管节*被判决作恶时4G会被罚没并分发给通道内的剩佘节点. 因此. 监管节点作恶代价至少是其作恶收益的I C| 倍, 且其余各节点所收莸的初金一定不少于其在通道内由于监管节点作恶所带来的损失由此激励节点积极监督这些监管节点, 从而约朿监管节点的行为, 保护通遣内交綦的安全性?通道建立过程如功能1 所示, 监管节点将各节京联合生. 成的通道建立请求与各节点对此1求的签名发往链上合约,由矿工对此请求的有效性?进行iftE.功能1. 通道_立.输人: 通道建立请求 con/= (C, S, D, G))输出: 通道建立/null1. 若C中节点对建立请求的签名错误, 则拋弃此请求2. 若C中节点在链上账户的金额小于其在D中的预存金额, 则拋弃此请求3. 计算箱SH赢:餘嬷小猶Gm?=|C:|N{ecG<Gmin,则拋弃此请求4. 若监管节点S在链上账户的金额小于其在D中预存金额与保证金之和, 则拋弃此请求5. 从节点的链上账户中扣除相应的预存金额, 从监管节点的链上账户中扣除其预存金额与保证金6. 初始化链上认证的通道最新状态5?akbest 为起始状态wa%, 其中的通道最新轮次rbes t 为0; 初始化通道总金额CV=^]D [凡]n.ecn 舞翱#节: 点馨減; 建立至此,一个可用的多人通道建立瓮毕, 节点可在该通道内执行多次链下支付_3. 2 通道状态更新在此节中我们.介缗通逋状态更新过程, 我们假定通道内各节点间通过加密可认证信道通信, 节点发送消息时均附带签名, 且签名可^其他方验证?B.2.1Giidcchi 通: 道狀寒:吏: 新准ftncsshi 中, 翠r 轮逋道状态:奉示對sMtsr—( r.Dr:nPr}t葛钟養等:一种戈替霄翁发微多A罐下袁付#儀 13 71 期其中,取表示r 轮后各节点通道: 内余额. 八_为第r轮遽道内支付?負起始狀态磁I細=(〇, D, 0):起, 缚轮遛處犹寒實蒙由寬付触貴.K付款方,与收:歲食如发起一笔聋付金顧:食#的京付为例, 此笔其付被确认曲过義如虜3所本,付款方沢pay=(pr, pe,a)监管节点 收織押pay= (j>r, pe,a)j{Pr, 〇s)^—- 〇r-lWpay_z^f(pay,Dr)THENPr={(r,j pr,pe, a)}对巧签名, 得勿ELSE拒绝此笔支付—(Pr^s)>^pr){Pri O'pe)stater=(r,Dr,Pr)?pr, pe ,5)pay-Vrf(pay,Dr)pay_updat e (pay, Dr)1. IFDr\pr]>aTHEN1. Dr\pr]=Dr\pr]-a2.RETURN L 2. i?r[ pe]=Dr\pe\-\-a3.ELSERETURN0厲3GftoechijtSftBSKitW袁付被?會迸難道状态时帯燦乘自袁付双方与监管节点三方的签名,作为: 通道状态更新的证明, 以供萁条,愈駿t3-2.2Gno#.c. hi方案分析Ckicfictii方寒具有如下缺處s( 1) 每笔支付需经历监管节点与支付双方共6次变互, 且#次交互只为确定支付所处轮数< 通債开销与冗余大;(2:),通道状态依据通道内龙付串#JM新, 每轮霖替仅包鲁一翁亥付, 每議:禽付的确认轉萑:雜道_上一荖支付完成的条件下进行, 支付处連效率低, 限制了在高并发场蕈下的应用缺芝对网络时延与支付方恶I意延长支付确认情况的考量_ 在此种情况下逋道状态堇霸陷入停滞, 造成通道堵露.S,2.3 遞遨状态更霸: 方案歲进针对上述缺点, 我们改进了通道状态更新方案,具体为(1) 支付方面. 每笔亥付所处的轮数由支付双方依据所收到的最新通道轮数确E, 降低通信次数Slits( 2,通道状态更新方面改进为并行建新蓝管彻:在眷轮状鍾: 薪时3f射的时间窗, _此时间段内收到的支付视为此轮支付, 并依据每ft有效重付变更通道状态*在此轮缙東时打包通道状态、:曹效支付集与此时的时间戳 广播堇通道内节点;ft)考*在网络时延if高并发场景下,一笔变付未能轉到及时处理而导致支付轮数失效的積况,引入支付有效斯PW: 当前轮数为r 时, 亥付中包含的揞数?)处. 于[r,r+?y]難视为'有鱗:; 为抵御重■玫击, 在逋道状态中引人 记敏各节点玄付次数, 同时筹亀袁付螫隹含#■方的重献支付喪数— 各节点支付次数在h中初始化为〇.通道状态窠_負起始状态SRJW,二(0,D, 0,1。,乃:) 始, 过程如算法1 所示.算法1. 逋道状态更新.输人: 第r一1 轮通道状态Wa以-i输出: 第r轮通道状态5?a仏1.Dr— Dr -i,Ir—lr  ̄\^ Pr =0#初始化第r轮通道状态信息2.WHILE在0 时间段内3 .UPON收到支付夕a: y=(?>, fr, 扣, a, ^c, %, #)4.IFpay_vrf_2(pay^ Dr y Ir )THEN5.pay_update_2(pay^ DryIr ^Pr )6.ENDWHILE7.RETURNstater=(ry Dry Iry Pr y Tr )函数1 ?户a;y_t;r/_2( fa3;,Dr ,Jr) .1.IF(fa3;_w/(》a:y))A(?6[,,,+”]) 八iidx==Ir lpr'] +l')THEN2.RETURN13.ELSERETURN0函数2. 户<23;_^(^<3介_2(户<23;,1^,1^^^) .1.pay_update ( pay,,Jr )2.Ir \_pr]=lr ^pr]+13.Pr =Pr [j{ pay}通过以上政进, 多人通道降低了通道内通信开?销* 擦高了支付处理敫率, 可实现高并发场景下逋遒状态的快斑靈蕭.3,a4 通道状: 纖怔若两个通道状态处于I轮次却不相同, 我们称这两个状态是冲突的. 对于相邻的逋道状态swm与 , 若可"依据 中的言点佘额与 中包含的支付集得到坏 中,则称状态是可达的t收到监管节点广播的通道状态伽 通道内管邊塞于链Ji曼翁状5S_麵>^翁状_验t萁正确性>郞IftUE猶/e, 是'否与血播best 冲_;H时验证状态是否可达. 若节点只存有状态 ,r<Ci?1, 则可向靡臂节羞: 问询Z+1轮至'?1 轮的通?状态, 并验证每对相邻状态, 若验证通过, 则1 38 计 算机 学 报 2021年同样称其为可达的, 将其记作state/\>stater.为方便后文描述, 我们不再区分/与r 之间的大小关系, 以此符号表示任意两个状态间的可达关系. 若通道状态不可达, 节点将不可达的通道状态提交至链上作恶判决功能, 对监管节点进行惩罚.3. 3 通道监管节点作恶判决监管节点对通道内状态更新行为受到通道内其它节点的监督.当节点接收到来自监管节点的最新通道状态并发现其作恶行为时, 即提交相关状态信息至链上合约做判决, 判决过程如功能2 所示.功能2. 作恶判决.输人: 作恶判决请求(/rawt i,5rarer., 伽以)输出: 通道关闭/nul l1. IFmin{ /,r} 〇bestTHEN拋弃此请求2. IF,5加 ,5mkbest 之间存在冲突THEN3. RETURNfraud supervi sor()4. IF/与r 不相邻, 且状态中的时间戳与此功能调用的时间差不超过ATHEN5. 通知监管节点提交处于之间轮次的通道状态6. 开启A的时间窗, 若在此期间内未有完整状态提交:7. RETURNfraud supervi sor(.)8. IF\ (_stat er't>stat er )THEN//通道状态不可达9. RETURNfraud supervi sor()10.RETURNnull函数3.fraud_supervisor().1. DlN^=(CV^G)/(\C\l), N, eC\S//将通道内金额和保证金分配给除监管节点外的剩余节点2. D[S]=0//将监管节点金额置〇3. 通道关闭, 按照D退还各节点余额若节点提交的状态未处在相邻轮次, 即针对监管节点未能递增轮数r 来更新通道状态的情况, 此时链上开启d的时间窗, 在此期间内监管节点需提交中间轮次的通道状态至链上, 若未能完成提交则判断为监管节点作恶. 为防止节点恶意发送已验证过的、不相邻的通道状态至链上, 因此需验证通道状态中的时间戳与合约调用时间的时间差是否在d范围内, 即此通道状态是否是在最近生成的, 从而要求节点在发现监管节点作恶的情况后及时提交状态至链上. 时间差的范围设定为A对应于最坏情况下此状态通过节点退出功能在链上获得, 具体在下一节中介绍.3.4 通道内节点退出通道内节点可退出通道并提现通道内金额至链上账户, 此时由链上来更新节点退出后的最新通道状态. 监管节点退出时还将取回其在通道内的保证金, 此外通道将被关闭, 通道内金额返还至各节点.在金额提现之前, 退出节点需接受通道内其它节点的监督. 若被判决为作恶, 则其金额被没收并分配至通道内剩余节点.收到退出请求, 链上节点退出功能向通道内各节点发送此请求, 并开启时长为d的等待窗口收集通道内最新状态, 以此来判断退出节点是否作恶, 并在链上更新通道状态. 时间窗的时长保证了节点在收到请求后, 提交的状态 可在窗口关闭前上链. 此时节点若发现其中存在冲突或者不可达的通道状态, 则可将其提交至链上作恶检测合约, 节点退出功能设定d 的等待窗口等待作恶判决的运行结果. 在两个时间窗关闭后, 合约依据收集到的状态进行通道状态更新.对于监管节点而言, 离开时需提交通道最新状态至链上.因此若收集到最新通道状态处于更高轮次, 则可判定为作恶. 同时, 若收到非监管节点的退出请求, 监管节点需将目前最新的、 与退出请求不同的通道状态提交至链上, 并暂停目前对于通道状态的更新, 直至收到链上发送的最新状态, 从而避免产生与链上最新状态相冲突的状态进而被判断为作恶. 对于非监管节点而言, 离开时需提交包含其最新余额的通道状态至链上. 因此若此节点在最新通道状态与提交的通道状态中的余额不同, 则可判定为作恶. 验证过程如功能3 所示.功能3. 节点退出.输人: 节点退出请求(办和rr wre wr ar e。, 队)输出: 通道关闭/通道最新状态5mrebes t1.IF?<rb estTHEN拋弃此请求2. 将节点退出请求发送至通道内其它节点, 在此请求完成前拋弃其余节点的退出请求3. 开启 的时间窗, 将此段时间内收到的状态伽'加人列表States 中4. 开启A的时间窗, 等待可能运行的作恶判决的结果5. 将5to^ebest 赋值为Stores 中具有最筒轮次的状态, 并分解为{"best, Dbest,Jbe st, Pbest,7\e st}6.IF(Nd==S)A(rd <rh (i St )THEN//监管节点提交过期状态7.RETURNfraud supervisor( )8.IF(Nd^S)A(DrdlNd ^Dr^t[N,])THEN//非监管节点提交过期余额信息9.RETURNdepart ure node(0)葛钟慧等:一种支持高并发的多人链下支付方案 13 91 期10.IFNd==STHEN//监管节点诚实11 .按 中集合Dy退还节点余额, 退还保证金12.ELSERETURNdeparture node{\')//非监管节点诚实函数4.departure一nodeQi)?1. C=C\Nd//移除退出节点2. Db 执=st at e updat eib, D’b esl, Nd )//依据退出节点诚实与否更新通道状态3. ^"best’be st+1, 尸best , 了best了now4.hM^iLlN^. N. ec5. st atehe st (rbest,Z)best,Jbest, Pbest,7\e st)//生成通道状态6.向各节点发送最新通道状态5mr eb est函数5.state_update( b^D,Nd) .1. IF6==0THEN//退出节点作恶2. amount =d^\ /\C \3. D’[N! ]=V[N! ]+ am〇unt , N2 G C//没收其余额, 并分配至剩余节点4. ELSE!/[凡]=D[凡], 凡eC5. CV=CV V[Nd]6. 退还D[A^] 至节点7.RETURNDf非监管节点在退出前需要确保自己所有已签名的支付均已被包含在状态信息中或已失效, 避免被判定为作恶. 非监管节点退出后, 监管节点在收到的链上最新状态的基础上继续链下通道更新.4 跨多人通道支付跨多人通道支付应用于付款方与收款方在不同通道内的支付场景. 具体而言, 通过同时存在于不同通道的共同节点作为支付中转点来完成支付. 由此,链下网络中支付不再局限于通道内, 支付范围得以扩展.为保证支付金额在通道间安全转移, 本文定义了通道内条件支付与赎回支付; 为实现节点跨通道支付的路径寻找, 本文提出了基于多人通道网络的高效、灵活路由算法. 在支付路径确定后, 沿路相邻节点可顺序建立条件支付并逆序发起赎回支付.4.1多人通道内支付条件支付为支付金额被某种条件和规定时间限锁住的支付.只有当收款方在规定时间内满足所包含的条件时, 才能赎回被锁住的支付金额. 因此一个完整的支付过程包括条件支付与赎回支付.4.1.1 条件支付验证与更新条件支付的格式为conpay=irp,pr,pe, a, idx, h, Bli, (ypr , (ype) ,其中, 哈希值& 作为支付条件, 底层区块链的区块高度 作为时间限, 表示收款方需在此时限之前赎回金额.监管节点对收到的条件支付进行验证, 包括对支付的有效性验证, 以及对支付有效时限的验证, 如函数6 所示, 其中 表示当前的区块链高度.函数6.conpay_vrficonpay? Dr?Jr).1.IF(,pay vrf2(x〇npay) ) !\ (BHl>BHc )THEN2.RETURN13.ELSERETURN0由于条件支付的赎回通常不在单轮内完成, 因此在通道状态 中增加G字段, 记录到第r 轮为止有效的、未被赎回的条件支付, 用以验证后续赎回支付. 针对有效条件支付的通道状态更新如函数7所示.函数7.conpay_update(xcmpay, Dr ,Ir , Pr , Cr)?1.Dr\^pr]=Dr\^pr] a2.J心r]=Jr[,]+l3.Pr=Pr [J{ conpay )4.Cr=Cr \ J{conpay}在每轮通道状态更新结束时, 监管节点需验证C中各条件支付的有效性, 如函数8 所示.函数8.conpay_return( Cr).1. FOReachconpayi nCr2. IFBH<BHCTHEN//条件支付失效3.[/? r]=[/? r]+ a//返还支付金额4. Cr=Cr\{conpay) //移除失效支付5. ENDFOR2 赎回支付验证与更新赎回支付的格式为redemp—(rp?conpay?img?idx^ ape)?其中, conpay为此赎回支付所针对的条件支付,为支付条件的哈希原像.监管节点验证收到的赎回支付, 包括此笔支付是否有效, 以及其针对的条件支付是否仍然有效且未被赎回, 如函数9 所示, 其中/mi表示抗前像攻击的哈希函数. 若赎回支付有效, 则支付金额将转移至收款方, 通道状态更新如函数10 所示.函数9.redemp_vrf(redemp, Dr山, Pr, Cr)?1.IF(rp^Aiconpay^Cr )A(hash(i mg)==h)A(i dx==Ir [pe]\ l)THEN2.RETURN13.ELSERETURN0140 计 算机 学 报 2021年函数10. redemp_update(redemp?Dr?Ir?Pr , Cr).1. Dr[pe]=Dr[pe]+ a//收款方赎回金额2. Ir'ipe]=Ir'ipe]+13. Pr=Pr [J{ redemp)4. Cr=Cr\{conpay)//移除完成的条件支付4.1.3 通道内节点退出由于条件支付的存在, 为保护收款方利益免因节点退出而受损, 链上节点退出功能需做如下检测:a) 当监管节点离开时, 在验证其诚实性的基础上, 若其提交的通道状态信息包含有效的、 尚未赎回的条件支付, 即C乒0, 退出请求被驳回;(2) 当非监管节点离开时, 在验证其诚实性的基础上, 若其作为收款方存在于有效的、未赎回的条件支付, 且同时提交相应的赎回支付并验证通过, 则将此条件支付金额退回至此节点账户; 若其作为收款方存在, 且未提交相应的赎回支付, 或者其作为付款方存在, 则将金额转移至此条件支付的另一方. 若节点被判决为作恶, 则转移此金额至条件支付的另一方. 根据以上情形, 合约生成对应的最新通道状态, 并发送至各节点.由于赎回支付需要得到监管节点的确认, 若经过多次发送尝试赎回支付仍未被包含在通道状态中, 节点可选择退出并提交赎回支付, 从而免遭因监管节点失联或恶意操作而导致利益受损.4. 2 多人通道网络模型多人通道网络由多人通道构成. 跨通道支付的实现依赖于支付双方间支付路径的寻找. 为最小化节点在路由时所需的资源, 我们采用目前局部路由算法中基于图嵌人的方式, 将多人通道映射到坐标空间中, 再对通道中的节点进行坐标赋值, 即将节点坐标的建立分为两个阶段, 通道坐标建立与节点坐标建立?4.2.1 通道坐标建立多人通道网络图嵌入.当两个多人通道具有共同节点时, 通道内的其它节点可以通过此共同节点作为中转点完成支付. 此时, 两个通道是连通的, 称为相邻通道.将多人通道网络抽象为无向图G=( V, E) , 其中V代表多人通道集, ECVXV代表相邻通道间的边集, 则n_pc(> q)={ 批2 1批z eV%( >ci , >c2 )e£}为通道和:: 的相邻通道集. 与相邻通道间的最大可转移金额即为通道共同节点在此通道内的金额之和.分布式环境下通道坐标建立.由于多人通道在建立阶段上链, 各通道内的成员列表及预存的初始金额在网络内是公开的. 作为通道监管节点, 需确定其相邻通道集.在分布式环境下的通道坐标建立过程中, 选取某个公认的通道作为根通道, 并设定其坐标为空矩阵. 从根通道开始, 每个通道的监管节点生成通道坐标, 并将其广播至相邻通道的监管节点. 收到相邻通道的通道坐标信息, 监管节点将其存储, 并从中选取坐标长度最短的通道作为父通道, 通过结合父通道坐标与自身独特标识生成通道坐标.当因节点退出而导致与父通道不再连通, 或者通道间可转移金额匮乏时, 子通道可选择存储的其它相邻通道作为父通道并重新生成通道坐标, 从而保证在动态网络环境下的路由准确性.4.2.2 节点坐标建立通道坐标确立后, 监管节点将其广播至通道内,各节点通过结合通道坐标与自身在通道内的独特标识生成节点坐标.网络中节点坐标具有以下性质:(1) 节点m处于/ 个通道内, 则具有/ 个坐标,用C(M)={ MC! ,…, MC, } 表亦其坐标集, 用JVJV( M) 表示在此/ 个通道内的剩余节点集, 称为M的相邻节点. 若与相邻节点W可分别通过坐标t与?^进行直接支付, 即两坐标在同一个通道中, 则称队为与TO或W的相邻坐标;( 2) 处于同一个通道内的坐标, 其长度与前缀相同, 且前缀即为通道坐标;(3) 坐标的长度反映其与根通道的距离, 即对于坐标:E, 可通过一条长为| | 1 的路径到达根通道内节点.4. 3多人通道网络路由在分布式环境下, 节点需将路由信息发送到距离目标地址更近的相邻节点, 而与节点的距离判断基于坐标距离计算.因此, 网络中每个节点需维持一个路由表, 表中记录此节点的相邻节点与它们的坐标集. 同时, 节点与坐标之间的距离计算基于坐标间的距离计算. 在此基础上, 路由算法实现了在分布式环境下网络节点间一条资金充足的连通路径寻找. 与双人通道网络中对路由算法的研究[1 4]相同, 我们忽略跨通道支付过程中, 中间节点对支付费用的收取.4.3. 1路由表各节点在确定坐标后将其坐标集广播至相邻节点, 同时储存收到的节点坐标信息至路由表中, 并依葛钟養等:一种戈替霄翁发微多A罐下袁付#儀 m 1 期据网络结构动态变化更新苗标以及路斑表.图4为多人通道网絡与其中节点A维持的路由表示意圈? 在左图所示的网'络结构与各通道节点坐标标识下, 节点a处于通道加:=□与的=a}中, 相邻节. 点有 故在路由表中记录每个相邻节点驗全鄯: 幽: 标>图4多人通遒厨翁_节点= 猶極示意滅5*表.为圏聲承意图,:节属A的路由_4, 3. , 2 节点与坐标距离计算为寻找一条离目标挫标距离递减的路径, 收到路由倩息的节点篇计算相邻节点与自标坐标之间的蹈离对于节'藏《'与坐顧集C(:?<) q如£:,? ? ?,>ar, U定义其与坐标¥问的距离为d (u, x)=mi nd( uc{ , x)( 2)uc■ GCC m)其中2为坐标间距离计算公式a u节虡和坐标间的距离定义为节点各坐标与坐标距离的最小值?4/3. 3 路由算法定义路由信, 息的格式为(付款地址,目标地址,支付金额) . 在分布式网络下, 对于节点《,愛起一笔变付或是攸到路由偾息* 霧进行如下四个阶段的路由,_fp{嫁巧(,?;<}为眞坐标_同时初始化路由失败节. 点集合?FF为空集.阶段1. 发起支付7选择收款坐标.ci) 若节点联为戈付付獒UJ辱收隸言协商_付金_a与收_地址rfs#_? 进人阶段2(2;3 着节点&从f点z 处收到路由鲁息<*r,<?>LJ验证J遍: 否为相邻节点,: 同时隹|示、的金额是否大于支付金额以ftD者骖怔通过, 则从与&的相邻坐标集中收款坐标 :①若如6£?(: ?:) , 即《海收款方, 则: 收: 款&fgtuti②鸯ft本暴收款方, 狐迸人f介庚々a)若验怔失败,同复节点£路由失败?阶段2. 选择下一跳路由节. 点..(1.) 定义 为距目梅坐标更近的相邻节点集.,( 2)有敏的1?—跳节点集合.为_FW=_FN\_Fi^Cf:) 若FW为空集, 当《齿付款方, 则路由失畋, 否则回复节点^路由失败;否则, 从中随机选取一节点作为下一跳路_,歲m: 迸: 人■庚3-阶段3. 逸择付款坐标?( 1) 从与a1_相雜坐标貪中筛逸出金额太于设的坐标蠢》 定义为FC.;(2) 若FC为空, 则_FF=_FFU:W, 返回阶段2r( 3〉 否则, 从FC 随机选取坐标M, 作为付款坐标, 进人t段4阶段4. 传递路由倩息?〇j_下一食 象暴路由費息£w:J?, 由t,s>f_从坐雜咚处预留蠢额&I( 幻若协在限定时间内围复路由信息,当《为付款方,路由成功, 否则風复《收款棄标M;CJ:) 若to未在限定时间内两复, 或者回复路由失败, 则恢复坐标《, 处的预留金额, FF=RFu>丨, 返回阶段2.1|付款方收到从下一跳节点返回的路S倩息时, 支:付路隹确立.4. 4 跨通道支付建立与完成路径确定后, 从跨通道支付的付款方开始, 路栓上'每个节点通过选定的付款坐标与下'一跳节点返回的收攀坐标f 以收款方S成的哈■翁谭作为'条件康愈寞付?条件支付建立后? 从收款方以哈希庳像完成赎回支付开始, 各节:点以此哈. 希原像顺. 序完成支付.至此,一笔跨通道支付完成.5 多人通道网络分析5. 1多人通道网络可行性分析多入通遣网络的可行性主鼕集中于通道内监管点的引人, 我们从其引人的必要往'与可行性两. 方面迸行分析.S,1.1 监管节点引人的必要性礙多人通道内等: 宴现通道状态一致性快速、准_达成, 率质上是一个共识问题■? 主流解决方案t2 1]有 典眞fT机制如PaxQS 壽ft和PBFT( PracticalByzantineFaul tTbteraiiee) 协议, 区缺链袭识机制如P0WCPf6(jf of ̄Work:) 和P〇S(Prcief bf-: Stake).然而在多人链下通道场景下, Pgos 算法不能容忍142 计 算机 学 报 2021年恶意节点, PBFT协议不支持节点动态退出且通信复杂度为〇( /2); 区块链共识机制则与建立链下通道的初衷相悖. 因此, 我们延续监管节点在多人通道中的引人, 由其做每轮通道状态更新的提议者, 以0(/) 的通信复杂度达成了多人通道内状态共识.5. 1. 2 监管节点引人的可行性对于通道内监管节点, 其通过处理通道内支付而收取手续费获利. 对应地, 其需要具有一定的资源与能力, 包括抵押在通道内一定数额的保证金, 处理通道内支付并存储每轮通道状态, 获取链上信息并更新通道状态. 此外监管节点无须受各节点信任, 因此选择方法较为灵活, 可由通道内各节点协商选定.对于通道内非监管节点, 监管节点的引人在保证通道安全性的基础上, 减轻了其计算负担与存储负担. 计算方面, 在现有双人链下通道中, 通道状态的更新需要双方共同完成, 并且为防止通道内另一方提交过期通道状态至链上造成自身利益受损, 节点需保持在线并检查链上信息. 在多人通道中, 通道状态更新由监管节点完成, 对通道状态的验证以及对链上通道信息的检测由通道内多参与方共同完成, 缓解了对于单个节点计算资源的要求, 同时即使在部分节点掉线的情况下依旧可以保证通道的正常运转. 存储方面, 在双人通道网络中, 节点需存储相邻节点的坐标以传递路由信息. 在多人通道网络中,非监管节点可仅保存自身坐标, 并在收到路由信息时向监管节点问询, 因此此方案对计算与存储资源受限的节点更为友好.5. 2 多人通道网络安全性分析我们定义网络中的恶意节点具有概率多项式时间计算能力, 即不能伪造消息签名与攻破哈希函数;并且可以加人任意通道, 控制网络中部分节点或与其余节点合谋.基于以上敌手模型, 多人通道网络安全性定义为敌手不能使网络中任一诚实节点利益受损. 下面我们从多人通道内支付与跨通道支付方面分析多人通道网络的安全性.(1) 在多人通道内, 敌手可通过发动两种攻击获利: 发起无效支付/生成不可达通道状态(敌手作为监管节点时) 和退出通道时提交过期或错误通道状态.此两项攻击在生效前均需接受通道内剩余节点监督与链上判决,一方面此攻击可使其余节点利益受损,另一方面作恶惩罚机制也为其监督提供了激励.此外, 敌手作为监管节点时可恶意拒绝对某笔有效支付的确认, 此时节点可选择退出通道并取回在通道内的金额, 敌手不能对其造成经济损失.(2) 在跨通道支付时, 敌手可通过恶意拒绝确认赎回支付却从中获取支付条件而获利, 此时节点可提交赎回支付至链上完成支付.综上所述, 惩罚机制与链上判决的存在与对自身利益的维护促使各节点诚实行事, 并监督其它节点的行为, 从而保证多人通道的安全性与正常运转.6 实验结果与分析基于安全的多人通道链下支付, 我们对多人通道网络的路由性能进行了实验验证, 以此衡量跨通道支付的效率. 将结果与双人通道网络进行对比, 以分析多人通道网络的实际可应用性.6. 1 实验设计为与双人通道网络形成对比, 实验采用相同的网络结构与支付数据集[1 5]. 首先我们将双人通道网络映射为多人通道网络, 随后搭建相同的实验环境,并设定相应测试指标.6.1.1 通道划分与网络建立在双人通道网络结构CNot1 6[ 1 544基础上, 为符合多人间高频支付的应用场景, 与保持双人通道网络中各节点间连接关系, 我们将可通过一跳到达的节点视为在同一个多人通道中, 以此将双人通道网络中的节点映射至多人通道网络中.对CNot1 6 中包含的67149 个节点按照连通度进行统计排序, 将度大于等于^ 的每个节点, 与其相邻节点划分至一个通道内, 并将此节点作为通道的监管节点.依据具有相应度的节点所占比例, 参数d取值为5/6/29 , 对应生成2068/1232/99 个通道. 对于通道划分后网络中存在的孤立节点, 将其划分至距离最近的通道.为保证多人通道网络的连通性, 对于通道划分后网络中存在的一个孤立通道, 设定其监管节点同时存在于离其最近的多人通道中. 为维持各节点在映射前后金额不变, 我们将节点在原网络中的金额平均分配至所处的各多人通道中.最终形成的多人通道网络结构如图5 所示. 其中圆圈代表通道, 圆圈的大小与通道中所包含节点个数的平方根成正比, 圆圈的颜色深浅代表通道的度的大小. 从图中可以看出, 通道之间关于所含节点数量的对比明显, 少数通道包含了网络中的大部分节点, 并且具有高连通度.网络设置 成功率 路径长度/跳 路由开销/个SilentWhispersSpeedyMurmursd=5d=629906875877匕1. 3 实验测试指标我们通过支付成功率、 路径长度和路由开誠化多人通道网络路由性能. 其中, 支付成功率定义为成功完成的支付数蠹与总支付数鸯的比?值, 路径长度定义齿支付平均在每棵树上所经历的节点跳数;路由开销. 定义为支付完成所需前路由信息个数.此外我们测量网络'稳、 定开销. 双人通道网络实验中将网絡稳定开销设定为因网络内支付而导敦的各节点状态变花,进商导致的生成树结构变化, 并以变动时所蕾波養的坐标数目來衡《? 由宁多人逋道网络中各通道间连通糜貪,因某藥支付、或某个节蟲离开而导致通道不连通的概. 率很小. 故我们定义多人通道网络的稳窣开销为阚络建立时的坐标广播数量, 也称网络初始化开销.6. 2 实验结果与分析6.2.1 静态实验结果分析与比较如慮.1 虜示, 多人逋道:网: 络的支付成功率敎焦在88%左右, 并且随食 的增大而蹭大_ J増大代表闱络内通道敷减少, 一方面', 节点平均分配在各通道内的_增加, 在跨通道亥付路由时可椹供的余额增大s 提貪駱由成功率.、另? 一:#W, 通遨数的减少使得同时.#存宁多个通道内的节点的个数减少, 即潜在的中转节. 点数减少, 从而降低了路由成功拿. 从_舉来義>两种斑化对'成功率拥p响相似且業一种变化的彰响效果略大.表1 静态实验结果在双人通道网络中,前L个连通度高的节点被选为樣生威i棵树, 支付余额被随机谢分至L棵树1:s=布每棵树上寻找路径以完成支付. 此时, 支付金额的隐私性得以提升, 即使敌手获取了一笔玄付在某条或1 某几条路径上的支付金额, 仍然无法确定此笔支付的总金额? 类似地, 在多人, 通道网络中,我们按顏通道连通虔逸取前L个通道作为根生成L棵树.6. 1. 2 实验环境搭建类比于双人通道网结, 我们假定各节点均为诚实节点, 忽略支付费用以及支付过程的密码学实现,并将实验划分为静态实验与动态实验.静态实验. 静态实验即在每笔支付完成后恢复网络至麼始状态, 窗而每笔. 支付的路由环境相同, 实现不茼路由方法间的可比性, 具体为( 1) 选取L=设置一笔支付时尝试次数?1細》芦=2:,着_霉一次路由fl5j■兴败,则_:对=2000笔支付后重试:(2) 傳敉运行■原实验中箱同的50000 笔: 寞付, 运行20次并将结果取平均, 结皋记录在: 表1 中.动态实验. 动态实验即在每笔支付完成后不再恢复网络状态? 相比静态实验吏能反应出网络在实际环壌中的可座甩牲.由于欢人通道网.中的动滋实验雛及节点动3i加人网络的过程, 不适甩于多人通道网络,因此我们在静态实验设定的基础上迸行动:态铡试. 此外.依据双人逋道网络中反映出的随着L的增加,. 支付隐私性提升而成功率下降的情况, 考虑、到在现实链下支付的K用场景.申节点对于成功率的更:强需求, 我们增加对L=1聚定下的网络?性能的测试? 为便于比较★ 不同设定下的动态实验络果均记录在表2中, 便宁比较.I 撰 葛辨驚等:一种熏雜寬并離?多A罐下袁付方_ 143w■■mW(a)d=51800600400J200%r600500400300200100图5(b)d=6以d为参数的多人通道网络结构图(c ) d=29180706050401302010人道络人道络双通网多通网144 计 算机 学 报 2021年多人通道网络路径长度稳定在1.9 跳左右, 网络结构对其影响较小, 原因在于网络中高连通度通道的存在使得任意两个节点所在的通道总是可以通过此类通道连通. 路由开销稳定在13 左右, 即每棵树上路由开销4.3 左右, 约为支付路径的两倍, 即寻路总是可以一次完成, 无需多次尝试.与双人通道网络相比, 多人通道网络的成功率高于Si l entWhi spers, 但是低于采用相同路由算法的SpeedyMurmurs 方案的9〇.6%的支付成功率?究其原因, 在双人通道网络映射至多人通道网络过程中, 监管节点的各相邻节点间被添加了连接关系,除监管节点外剩余节点间的部分相连关系被舍弃.添加连接关系的节点间原本即可通过监管节点相连, 故对支付成功率的影响较小. 而舍弃的连接关系导致在原网络中连通的节点在映射后的网络中在L=1 时, 各网络性能相对于L=3 时均有所提升, 路由开销均下降至三分之一. SpeedyMurmurs的支付成功率提升至94%, 相对提升了23 %, 路径长度略有下降; 多人通道网络的成功率提升至95%, 相对提升了7%. 相比之下, 网络设置对SpeedyMurmurs 的影响更大, 即多人通道网络的性能更加稳定.6.2.3 网络稳定开销在网络稳定开销方面, Si l entWhi spers 采用周期性更新方式, 即每邙〇4=1〇〇〇 笔交易后更新网络结构, 此时开销为598722.SpeedyMurmurs 采用按需更新方式, 当因支付导致节点间不连通时子节点重新选择父节点, 此时的网络开销平均到每个周期中为300 , 但是在网络变动剧烈时, 网络稳定开销达109.不再连通, 从而导致支付成功率的下降. 故成功率的下降是网络映射所致, 在实际应用场景下会有相应的提升.在支付路径跳数方面, 多人通道网络的性能近似于SpeedyMurmurs, 并优于Si l entWhi spers? 路由开销方面, 多人通道网络显著优于Si l entWhi spers,多人通道网络在通道建立时需广播的坐标数量约为6.4X 108. 理论上, 假设网络中共JV个节点, m个通道, 第z 个通道中节点数为JV, , 则需广播的坐标数量为YJNt( Ntl)=YJN2t N相对同样路由算法的SpeedyMurmurs, 路由开销降低了约28%, 原因为多人通道网络中路由一次性完成的概率高, 进而路由开销降低.6.2.2 动态实验结果分析与比较动态实验结果如表2 所示. L=3 时, 相对于静态实验结果, 多人通道网络在成功率上略有提升, 在路径长度和路由开销上结果近似. 而双人通道网络在成功率上具有较大下降, SpeedyMurmurs 下降至72%, 相对于多人通道网络降低了18%, 路由开销略有降低但仍高于多人通道网络.因此多人通道网络在动态环境下的性能更优, 且面对网络环境变化性能更加稳定.表2 动态实验结果网络设置 成功率 路径长度/跳 路由开销/个Silent WhispersSpeedyMurmursL=3d=5d=Sd=29881883Silent WhispersSpeedyMurmursL=1d=5d=Sd=29945946947s_ t.=i 1可得网络建立时的通信复杂度为0( N2) , 与实验结果相符. 在实际应用中, 网络稳定开销主要来源于新通道的加人. 由于通道间的相连关系主要基于连通度高的节点, 因此对于新加人的低连通度的通道, 其所需开销非常小. 若新加人的通道为高连通度通道,此时需对网络中的树结构有较大改变, 但此种情况发生的概率较小.7 总结与展望本文提出了一种支持高并发的多人链下支付方案. 首先, 在多人通道内部提高了支付处理效率, 有效解决了实际应用中对于高并发链下支付处理的需求. 其次, 实现了网络内跨通道支付与节点间支付路径的寻找, 扩展了链下支付的范围. 最后, 分析了多人通道网络的可行性与安全性, 验证了网络路由性能. 实验结果显示, 多人通道网络可实现88%的支付成功率, 在静态环境下相对于多人通道网络降低了约28 %的路由开销, 同时面对网络环境与设置变化路由性能更加稳定, 满足了实际应用场景中对于葛钟慧等:一种支持高并发的多人链下支付方案 1451 期多人链下支付的需求.在隐私保护方面, 跨通道支付的隐私保护特性类似于SpeedyMurmurs, 但尚缺乏对单个通道内节点的隐私保护. 由于支付信息与各节点的余额信息在通道内公开, 尽管在各频繁且相互交易的节点间存在一定的信任度, 仍然不能免去隐私泄漏的风险.因此如何实现通道内的隐私保护是下一步研究中需要重点考虑的问题.参 考 文 献[1]NakamotoS. Bit coin: Apeer topeerelect roniccashsyst em.WhitePaper,2008[2]WoodG. Et hereum: Asecuredecentralisedgeneralisedt ransact ionledger. EthereumProjectYel lowPaper?2014,151(2014): 1 32[3]CromanK, DeckerC, EyalI ,etal. Onscalingdecent ralizedblockchains//Proceedingsof t heInternat ionalConferenceonFinancialCryptographyandDataSecurity. Berlin? Germany?2016: 106 125[4]PanChen, LiuZhi Qiang?LiuZhen, etal. Researchonscalabili tyofblockchaintechnology: Problemsandmethods.JournalofComputerResearchandDevelopment ,2018 , 55(10) :2099 2110 ( inChinese)( 潘晨, 刘志强, 刘振等.区块链可扩展性研究: 问题与方法. 计算机研究与发展, 2018 ,55 ( 10): 2099 2110)[5]PoonJ , DryjaT. Thebit coinlight ningnet work: Scalableoff chaini nst antpayments. Whit ePaper?2016[6]EyalI , GencerAE,SirerEG, et al. Bit coinNG:Ascalableblockchainprotocol//Proceedingsofthe1 3thUSENIXSymposiumonNetworkedSystemsDesignandI mplementation( NSDF16) . Sant aClara,USA,201 6: 45 59[7]LuuL, NarayananV, ZhengC, etal. Asecureshardi ngprotocolforopenblockchains//Proceedingsof the2016ACMSIGSACConferenceonComput erandCommuni cationsSecurity. Vienna, Aust ria,201 6; 173 0[8]DeckerC, Wat tenhoferR. Afastandscalablepaymentnetworkwit hbi tcoinduplexmicropayment channels//ProceedingsoftheSympo siumonSel f St abilizi ngSyst ems.Edmonton, Canada , 2015: 3 18[9]PanC, TangS, GeZ,etal. Gnocchi: Multiplexedpaymentchannelsforcryptocurrencies//ProceedingsoftheNetworkandSystemSecuri ty?1 3t hInternat ionalConference. Sapporo,Japan,2019; 488 503[10] GreenM, Mi ersI. Bolt: Anonymouspayment channelsfordecent ralizedcurrencies//Proceedingsofthe2017ACMSIGSACConferenceonComput erandCommuni cat ionsSecurity. Dall as,USA, 2017: 473 489[11]ZhangY, LongY, LiuZ,etal . Z channel : Scalableandef fici entschemeinzerocash. Comput ers&-Security,2019,86; 112 131[12]Priho dkoP?ZhigulinS?SahnoM?et al. Flare:Anapproachtorout inginlight ningnetwork. Whit ePaper?2016[13]Malavolt aG,MorenoSanchezP,Kat eA,et al. SilentWhispers:Enforcingsecurityandprivacyindecent ralizedcredit networks//Proceedingsof t heNet workandDistribut edSystemSecuri tySymposium. SanDiego , USA, 20 17: 59 73[14]TsuchiyaPF. Thelandmarkhierarchy: Anewhierarchyforro uti ngi nverylargenetworks//Proceedingsoft heACMSIGCOMMComput erCommunicat ionRevi ew. St anford,USA, 1988 ,18(4) : 35 42[15]RoosS, Moreno SanchezP, KateA,et al. Set tlingpaymentsfast andprivat e: Efficientdecent ralizedrout ingforpat h basedt ransactions//Proceedingsoft heNetworkandDist ributedSyst emSecuritySymposium. SanDiego , USA,20 18; 991 100 5[16]RoosS, BeckM, StrufeT. Anonymousaddressesforef fici ent andresili ent rout inginF2Foverlays//ProceedingsoftheIEEEINFOCOM2016the35thAnnualIEEEInt ernationalConferenceonComputerCommuni cations. SanFrancisco?USA,2016; 1 9[17]MalavoltaG?Moreno SanchezP?Kat eA,et al. Concurrencyandprivacywithpayment channelnet works//Proceedi ngsofthe2017ACMSIGSACConferenceonComput erandCommunicat ionsSecurity. Dallas, USA,2017: 455 471[18]Khali lR, GervaisA. Revive: Rebalancingof f blockchainpaymentnet works//Proceedi ngsof the2017ACMSIGSACConferenceonComput erandCommunicationsSecurity.Dal las,USA,2017: 439453[19]MillerA, BentovI, BakshiS, etal. Sprit esandstat echannels: Paymentnet workst hatgofastert hanlightning//St . Kit ts, Neviseds. InternationalConferenceonFinanci alCryptographyandDat aSecurity. Cham,USA: Spri nger,2019; 508 5 26[20]Mal avolt aG?Moreno SanchezP,SchneidewindC, et al.Anonymousmult ihopl ocksforblockchainscalabilityandinteroperability/ /Proceedingsofthe26thAnnualNet workandDist ributedSyst emSecuritySymposium. SanDiego ,USA, 2019 ; 1186 1200[21]GaoZhengFeng? ZhengJi Lai , TangShu Yang? et al.St at e of the artsurveyof consensusmechanismsonDAGbaseddist ribut edledger. JournalofSoft ware,2 02 0, 31(4) :1124 1142( inChinese)(髙政风, 郑继来, 汤舒扬等. 基于DAG的分布式账本共识机制研究. 软件学报, 2020 ,31( 4): 1124 1142)146 计 算机 学 报 2021年GEZhong-Hui,Ph.D.candidate.Herresearchi nterestisblockchai n.MZHANGYi,M.S.candi date.Hisresearchinterestisblockchain.LONGYu, Ph.D., associateprofessor.Herresearchinterestsincl udeblockchain,informationsecurityandcryptography.LIUZhen, Ph.D. ,associateprofessor.Hisresearchinterestsincludeappliedcryptography,blockchainsecurityandprivacyprotection.LIUZhi-Qiang,Ph.D.,associateprofessor.Hi sre?searchinterestsincludeblockchain,informationsecurityandcryptography.GUDa-Wu,Ph.D.,professor.Hisresearchinterestsincl udecryptographyandcomputersecurity.BackgroundBlockchai nhaswitnessedrapi ddevelopmentinrecentyearssincethereleaseofBitcoin.TheemergingofEthereumbroadenstheappl icationofblockchain,basedonwhichsmartcontractscanaccompl ishacompl exlogic.Neverthel ess,thethroughputofBitcoinis7TPSandEthereumis15TPS,whichisfarfromreal-worldapplications.SolutionssuchasPaymentChannel Networks( PCNs) , shardingandBitcoin-NGhavebeenproposed,amongwhichPCNsmovetheon-chainpaymentsintooff-chainchannel sandsupportcross-channelpaymentsinthenetwork.SincePCNsdon’tinvolvepropertiesoftheunderlyingblockchainandregarditasanarbitrationpl atform,i tisofhighercompatibil ity.VariousresearcheshavebeendeployedinPCNs.Intermsofonesinglepaymentchannel , Greenetal .proposedBolttoconstructprivacy-preservingpaymentchannels.Zhangetal.constructedpaymentchannelsinzerocash.Asforroutingalgorithmsinpaymentchannelnetworks,Prihodkoetal.proposedFlareinLightningNetwork, whichachievesfastpathfindingbasedonthestorageofpathstoneighborandbeaconnodes.Mal avol taetal.presentedSil entWhispers,whichutilizesthelandmarkingroutingandsecuremulti-partycomputationprotocolinthedistributednetworktoachi evetheprivacy-preservingoff-chai npayments.Roosetal.proposedSpeedyMurmursonbasisofthegreedyembedding-basedroutingalgorithmandcomparedperformancesofdifferentroutingalgorithmsinthedistributednetwork.Moreover,Malavol taetal.studiedtheprivacyandconcurrencyissues,andcharacterizedtheirtradeoff.Khaliletal.presentedthesolutionfornodestorebalancetheiramountsinchannelswhenitisdepleted.Mil l eretal .proposedSpriteswhichutil izesaglobalcontracttoreducethecol lateralcostofamul ti-pathpayment.Mal avol taetal.constructedanonymousmulti-hoplocks(AMHLs)facingthewormhole attackinPCNs.However,al ltheseworksarebasedontwo-partyPCNs, whereanoff-chainpaymentwithmultipl epayersorpayeescannotbeaccomplishedviaasingl echannelorpath.Besides, formultipleuserswhomakepaymentsmutual lyandfrequently,establ ishingchannel sbetweeneachpairormakingpaymentsthroughintermediariesi scomplexandcostly.Panetal.extendedthepaymentchannelfromtwo-partyintomulti-party.Nevertheless,itisofinefficientpaymentsprocessingandpaymentsarel imitedtosingl echannel s ,whi chisfarfromreal-worldappl ications.Ourworkinthispaperenrichesresearchesonmulti-partyoff-chainpayments.Firstly,weimprovedtheefficiencyofin-channelpaymentprocessingandachievedsupportforhighconcurrentoff-chainpayments.Secondly, wei mpl ementedcross-channelpaymentsinthemulti-partyoff-chainnetwork.Final ly,weprovedthefeasibil ityandsecurityofthemulti?partyoff-chainnetwork.Theperformanceoftheroutingalgorithmunderreal-worlddatashowsthatitachievesacomparablygoodperformancetoPCNsinstaticscenariosandismorestableindynamicscenarios.Itisindi catedthatourworkisdeployabl einpracticalapplicati ons.ThisworkispartiallysponsoredbytheNationalNaturalScienceFoundationofChina(Nos.6 16723 47,61 6723 39,61 872142,6 1932014,61 57231 8) ,the“13thFive-Year’’National CryptographyDevelopmentFund(No.MMJJ2017011 1),theShanghaiScienceandTechnologyInnovationFund(Nos.19 51 1101403 ,195 11 103900) ,andtheMinhangTechnologyInnovationProgramforSMEs(No.2018MH110). |
[返回] |