CN117196840A - 从三方账户到两方账户的多方交易方法及装置 - Google Patents
从三方账户到两方账户的多方交易方法及装置 Download PDFInfo
- Publication number
- CN117196840A CN117196840A CN202311153605.XA CN202311153605A CN117196840A CN 117196840 A CN117196840 A CN 117196840A CN 202311153605 A CN202311153605 A CN 202311153605A CN 117196840 A CN117196840 A CN 117196840A
- Authority
- CN
- China
- Prior art keywords
- transaction
- channel
- neighbor node
- node
- party account
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012795 verification Methods 0.000 claims abstract description 20
- 238000004422 calculation algorithm Methods 0.000 claims description 61
- 238000012546 transfer Methods 0.000 claims description 27
- 230000003044 adaptive effect Effects 0.000 claims description 12
- 238000004804 winding Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 abstract description 24
- 230000006870 function Effects 0.000 abstract description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000001035 drying Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种从三方账户到两方账户的多方交易方法及装置,所述方法包括:生成三方账户;形成从左右支付信道双方账户转移资金和到三方账户的交易并上链;形成从三方账户分配资金到双方账户的交易并上链。本发明实现了:1)通用性,即构造仅依赖于底层链的签名验证和时间锁功能,兼容以数字人民币为代表的脚本有限区块链等;2)可靠性,即三方账户到双方账户的交易构建保证了虚拟信道信道容量资金与支付信道相对独立,有效抵抗多米诺攻击,同时在支付干涸情况下的支付能力大大提升;3)顺序性,即支付信道更新时严格按顺序进行,有效抵抗虫洞攻击。该方案适用于现有脚本有限区块链的支付信道网络方案,所有操作均可在实际中部署,实用性较强。
Description
技术领域
本发明属于计算机技术与信息安全技术领域,涉及一种从三方账户到两方账户的多方交易方法及装置。
背景技术
区块链技术自诞生以来,因其去中心化的数据存储结构,区块链技术具有的开放性、高安全性、低信用成本、非授权、数据公开透明的特点受到了商业市场上空前的关注,由此引发了人们对基于区块链构建高性能货币交易协议以及区块链理论与方法的深入研究。
数字人民币作为有望重塑现有支付产业链的主权数字货币,自2020年启动全国各大城市试点以来,各类应用场景纷纷展现。支付场景已经覆盖了生活服务、零售消费、餐饮服务、交通出行、教育医疗、智慧民生、政务服务等各领域。然而,以支付信道及支付信道网络为代表的第二层区块链交易协议随着区块链技术被高度重视与深入研究,其可靠性和性能方面的问题日益突出,并进一步制约了基于区块链的分布式交易的实际有效应用。
虚拟信道协议基于支付信道协议建立了节点与无直接信道链接的节点之间的链下资产交易机制,其中虚拟信道允许多跳支付路径的两个端点节点在中介节点之上创建交易信道,并将多次多跳支付在链下进行,而无需与链上进行交互,从而大大提高吞吐量及降低对中介节点的依赖,即进一步提高可靠性。为保证其基本安全属性——原子性,即诚实节点至少不失去资产,利用信道状态关联功能保证支付信道更新和协议成功执行的原子性即利用可靠中介节点同步两方支付信道更新;利用底层区块链有限的时间锁脚本保证协议中虚拟信道有限明确的生命周期及协议失败时的原子性;其中适配器签名方案及时间锁脚本仅来源于底层区块链,保证了一定的通用性。
目前,该类协议基于信道状态关联功能保证了在三方情景下支付信道更新的原子性,但在多方环境下将导致臃肿的信道结构,在争端发生后虚拟信道卸载的情况下将导致所有底层支付信道均被关闭,大大降低支付信道网络的吞吐量,即以极低的代价形成了对支付信道网络的大规模性能攻击——多米诺攻击;此外由于信道状态关联,中介节点需要暂停双方信道的交易状态更新,而保持时刻在线以服务两端节点,一旦恶意节点处于离线状态或以错误状态更新信道,将引起整个虚拟信道的卸载,即导致诚实节点的支付信道被强迫关闭,进一步影响诚实节点的支付能力;最后,现有虚拟信道协议构建中的支付成功与否基于底层支付信道的资产分配情况,虚拟信道的支付能力取决于支付路径上节点的信道余额大小,因此在支付干涸,即支付信道在某一支付方向上可支付余额为零的情况发生时,虚拟信道即无法成功构建,因此目前尚未出现直接应用于信道干涸情况下的虚拟信道协议,如何在信道干涸的情景下提高虚拟信道的支付能力成为了公开的挑战。
发明内容
针对上述问题,本发明公开了一种从三方账户到两方账户的多方交易方法及装置,该方法可直接应用在虚拟信道协议中,实现信道干涸情况下的多方虚拟信道协议构造以及抗多米诺攻击的虚拟信道卸载,以保证数字人民币交易的安全性。
本发明的技术方案包括:
一种从三方账户到两方账户的多方交易方法,应用于支付端点U0和接收端点Un中的任一中间节点Ui,所述方法包括:
基于支付端点U0和接收端点Un发送的交易消息,与左邻居节点Ui-1和右邻居节点Ui+1合作生成三方账户addressi,以完成虚拟信道路径的建立;其中,所述交易信息包括:转移额度α和转移周期T;
基于所述交易消息、与左邻居节点Ui-1之间的信道与右邻居节点Ui+1之间的信道/>生成集资交易/>和双方账户中的初始资金分配信息/>后,将所述集资交易上链,以构建所述虚拟信道路径上的虚拟信道以及更新左邻居节点Ui-1与右邻居节点Ui+1的初始资金分配信息/>其中,/>表示从左邻居节点Ui-1取出的资金,/>表示从右邻居节点Ui-1取出的资金,且/>更新初始资金分配信息/>的轮数由生命周期T决定;
根据更新后的资金分配信息形成从三方账户分配资金到双方账户的交易/>并根据所述交易/>更新信道/>和信道/>的状态之后,将所述交易/>上链,以完成支付端点U0和接收端点Un之间的交易以及关闭所述虚拟信道路径上的虚拟信道;其中,
进一步地,所述基于支付端点U0和接收端点Un发送的交易消息,与左邻居节点Ui-1和右邻居节点Ui+1合作生成三方账户addressi,包括:
生成一安全参数λ;
基于左邻居节点Ui-1的公钥pki-1、中间节点Ui的公钥pki、右邻居节点Ui+1的公钥pki+1和所述安全参数λ执行三方账户生成算法,得到三方账户addressi。
进一步地,将所述集资交易上链,包括:
与左邻居节点Ui-1和右邻居节点Ui+1基于所述资金所述资金/>所述转移周期T、所述信道/>所述信道/>和所述三方账户addressi共同执行节点资金分配算法,得到双方账户中的初始状态交易/>
与左邻居节点Ui-1和右邻居节点Ui+1共同对所述初始状态交易进行验证,并在验证成功后,将经过三方签名的集资交易/>上链。
进一步地,基于与左邻居节点Ui-1和右邻居节点Ui+1共同对所述初始状态交易进行验证,包括:
与左邻居节点Ui-1和右邻居节点Ui+1生成三方账户addressi的公私钥对(skmult,pkmult);利用该中间节点Ui的私钥ski对所述初始状态交易进行数字签名,得到签名
将所述初始状态交易和所述签名/>发送至左邻居节点Ui-1和右邻居节点Ui+1,以使左邻居节点Ui-1和右邻居节点Ui+1利用对应的私钥ski-1和私钥ski+1计算签名和签名/>彼此交换后发送给该中间节点Ui;
收到签名和签名/>后,利用私钥skmult计算签名并将通过验证后的签名/>保存在本地。
进一步地,所述根据更新后的资金分配信息形成从三方账户分配资金到双方账户的交易/>包括:
基于转移周期T,得到关闭时间T′;
依据三方账户addressi、新后的资金分配信息关闭时间T′、信道/>和信道/>执行节点资金分配算法,生成三方账户分配资金到双方账户的交易/>
进一步地,根据所述交易更新信道/>和信道/>的状态,包括:
基于所述中间节点Ui及所述左邻居节点Ui-1、所述右邻居节点Ui+1在信道和信道/>中的资金分配/>得到信道/>和信道/>信道对应的新状态sti-1和新状态sti;
根据信道的新状态sti,生成最新支付信道关闭交易/>
利用该中间节点Ui的私钥ski对最新支付信道关闭交易进行预签名,以得到预签名/>
对右邻居节点Ui+1对应的最新支付信道关闭交易及预签名/>进行验证,并在验证通过的情况下,基于所述预签名/>和右邻居节点Ui+1的自适应签名σi+1,得到右邻居节点Ui+1私有证据ωi+1;其中,自适应签名σi+1是右邻居节点Ui+1基于右邻居节点Ui+1的私钥ski+1、证据ωi+1、证据ωi+2、最新支付信道关闭交易/>和预签名/>执行自适应算法得到;
基于私钥ski、证据ωi、证据ωi+1、最新支付信道关闭交易和预签名/>执行自适应算法,得到自适应签名σi;
根据所述最新支付信道状态交易完成信道/>和信道/>信道的更新,得到新状态sti-1和新状态sti。
进一步地,将所述交易上链,包括:
生成该中间节点 Ui的私钥ski对交易的签名/>并将所述签名/>发送至左邻居节点 Ui-1和右邻居节点 Ui+1,以使左邻居节点Ui-1和右邻居节点 Ui+1分别生成所述交易的签名σi-1 c和签名σi+1 c;
收到签名σi-1 c和签名σi+1 c后,生成所述交易的三方签名/>并上链。
一种从三方账户到两方账户的多方交易装置,应用于支付端点U0和接收端点Un中的任一中间节点Ui,所述装置包括:
三方账户生成模块,用于基于支付端点U0和接收端点Un发送的交易消息,与左邻居节点Ui-1和右邻居节点Ui+1合作生成三方账户addressi,以完成虚拟信道路径的建立;其中,所述交易信息包括:转移额度α和转移周期T;
集资交易上链模块,用于基于所述交易消息、与左邻居节点Ui-1之间的信道与右邻居节点Ui+1之间的信道/>生成集资交易/>和双方账户中的初始资金分配信息后,将所述集资交易/>上链,以构建所述虚拟信道路径上的虚拟信道以及更新左邻居节点Ui-1与右邻居节点Ui+1的初始资金分配信息/>其中,/>表示从左邻居节点Ui-1取出的资金,/>表示从右邻居节点Ui-1取出的资金,且/>更新初始资金分配信息/>的轮数由转移周期T决定;
交易执行模块,用于根据更新后的资金分配信息形成从三方账户分配资金到双方账户的交易/>并根据所述交易/>更新信道/>和信道/>的状态之后,将所述交易/>上链,以完成支付端点U0和接收端点Un之间的交易以及关闭所述虚拟信道路径上的虚拟信道;其中,/>
一种计算机设备,所述计算机设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现上述任一项所述的从三方账户到两方账户的多方交易方法。
一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时,以实现上述任一项所述的从三方账户到两方账户的多方交易方法。
与现有技术相比,本发明构造的区块链支付信道网络虚拟信道协议可以应用于任意脚本有限的区块链支付信道网络上的虚拟信道构建。特别地,该协议中虚拟信道的构建不依赖于直接的支付信道双方账户,因此虚拟信道的卸载不会影响支付信道的正常生命周期,由此实现了虚拟信道的抗多米诺攻击性,有效避免了多米诺攻击依靠虚拟信道的卸载而大规模关闭支付信道,解决了大大影响支付信道网络性能的隐患;在关闭虚拟信道时利用适配器签名来顺序性更新支付信道状态可抵抗虫洞攻击;此外,三方账户锁定资产的形式使得中间节点无需参与对两端节点的更新服务,破除了节点实时在线假设;最重要的,在三方账户到双方账户的交易构建中,虚拟信道信道容量来源于中间节点两边信道的余额,保证了在信道干涸的情景下的支付能力,大大提升了虚拟信道协议的可靠性。典型的应用场景为支付信道网络上虚拟信道构建,实现无直接信道链接用户的自由链下交易,推动支付信道网络的交易吞吐量发展。采用本发明方法,可以:1)仅要求底层链支持数字签名验证和时间锁功能,具有通用性,实现脚本有限链上支付信道网络的虚拟信道构建;2)三方账户到双方账户的交易构建保证了虚拟信道信道容量资金与支付信道相对独立,有效抵抗多米诺攻击,保证了支付信道网络的安全性,同时大大提升支付能力;3)虚拟信道协议关闭时保证了支付信道的严格顺序更新,即原子性,可以抵抗虫洞攻击。总结来说,采用本发明方法可以以一种通用方式实现任意两无直接信道链接节点之间的高效链下多次交易,并可有效抵抗恶意敌手的各种攻击,保证了协议的原子性,满足大规模应用场景下支付信道网络的实际需求。
附图说明
图1是本申请实施例提出的从三方账户到两方账户的多方交易方法的流程示意图。
具体实施方式
为使本发明的上述特征和优势更明显易懂,下面通过具体实施例,对本发明的技术方案做进一步说明。
本发明的从三方账户到两方账户的多方交易方法,每个节点与其左右节点合作生成三方账户,在生成三方账户后从左到右依次生成从支付信道的双方账户中提取自己的资产到三方账户中的交易,其中双方账户中资产分别以双方私钥签名兑换,并设置三方账户中资产兑换的条件为节点及左右节点的三方和两边端点的公钥,三方账户中的固定资产即供虚拟信道构建;而两边端点在虚拟信道中的交易状态更新即对中介节点的三方账户中资产到节点左右支付信道的双方账户的分配状态进行更新;在虚拟信道关闭时将三方账户的资产以最新的交易状态分配到两边信道的双方账户中,利用适配器签名限制从右端点到左端点依次进行支付信道状态更新,即左边支付信道状态更新时需要提取右边支付信道状态更新成功后的签名中的信息,直到到达左边端点完成两端节点的支付交易并关闭虚拟信道。因此从三方账户到两方账户多方交易构造方案中,节点在构建和关闭虚拟信道中,其资产在双方账户和三方账户中转移和重分配,实现了虚拟信道和支付信道的剥离,克服了虚拟信道协议中恶意节点对支付信道网络的多米诺攻击;在虚拟信道关闭时适配器签名的构造保证了从右端点到左端点支付信道状态更新过程的严格顺序性,有效抵抗虫洞攻击;另外,供虚拟信道构建的资产来源于节点在两边支付信道中的余额,并且三方账户独立于支付信道的双方账户,保证了中介节点在支付信道中的交易不受虚拟信道的影响,大大提升中介节点的支付能力。
具体来说,从三方账户到两方账户多方交易的构造方法中,λ表示安全参数;∑:=(KeyGen,Sign,Vrfy)表示数字签名算法,其中,(pk,sk)←KeyGen(λ)为密钥生成算法,其中(pk,sk)是密钥对,公钥pk是公开已知的,而秘密密钥sk只有生成该密钥对的用户才知道,σ←Sign(sk,m)为签名算法,其中σ是对消息m∈{0,1}*的签名,(0,1)←Vrfy(pk,σ,m)是对消息和对应签名的验证算法。n>2表示参与节点数;集合{U0,…,Un}表示参与节点集合,其中,Ui(i∈{0,…,n})表示第i个参与节点。是支付信道元组,其中/>是信道/>的唯一标识符,/>定义了信道的参与双方,即/>的双方为(Ui,Ui+1),/>表示该通道的总货币容量(即硬币),/>是状态交易txstate的输出向量,其中输出元组θ:=(θ.cash,θ.Φ),θ.Φ指θ.cash的花费条件,是信道双方账户。在本工作中认为/>更靠近发送者,更靠近接收者,用户Ui在两边支付信道的余额为bali,其中用户左边支付信道余额为/>用户右边支付信道余额为/>
而数字签名算法Σ:=(KeyGen,Sign,Vrfy),Σ可为密码货币系统普遍采用的数字签名算法,如ECDSA,其包括:
1)KeyGen(λ)→(pk,sk):密钥生成算法,输入安全参数λ,输出公私钥对(pk,sk);
2)Sign(sk,m)→σ:签名算法,输入私钥sk、消息m,输出签名σ;
3)Vrfy(pk,σ,m)→b:签名验证算法,输入公钥pk、签名σ、消息m,输出b∈{0,1}。
自适应签名方案是节点基于自适应签名算法实现按严格顺序完成支付信道状态更新,包括:
1)预签名算法,输入私钥sk、消息m、困难问题Y,输出消息m的预签名/>
2)预签名验证算法,输入公钥pk、消息m、困难问题Y、预签名输出b∈{0,1};
3)自适应算法,输入预签名/>输出消息m的签名σ;
4)抽取算法,输入消息m的预签名/>和签名σ,输出证据ω。
如图1所示,本发明包括以下步骤1至步骤3。
步骤1:端点U0和Un向所有中间节点发送转移额度为α,转移周期为T的消息,节点Ui与其左右邻居节点Ui-1和Ui+1合作生成三方账户addressi。
步骤2:节点Ui更新左右信道状态为和 并形成从左右支付信道双方账户转移资金αL和αR(αL+αR=αi)到三方账户的交易/>和初始状态交易/>将/>上链。
步骤3:Ui收到右邻居节点Ui+1更新信道请求,将右边信道更新为 更新成功后与左邻居节点Ui-1合作更新信道,将左边信道更新为 并形成从三方账户分配资金到双方账户的交易/>将/>上链。
上述从三方账户到两方账户多方交易方法由算法Setup(初始化)、genState(初始状态生成)和Assignment(分配)组成,其中:
1.输入安全参数λ及三方信息Ui-1,Ui,Ui+1,输出三方账户/>
2.输入转移额度α,转移周期T,左右支付信道/>和/>以及三方账户/>输出集资交易/>和初始状态交易/>及其对应的签名/>
3.输入集资交易/>分配时间T′,相应的分配/>以及左右支付信道/>和/>输出资金分配交易
优选地,初始化算法(setup)具体包括:
1)节点Ui向左右邻居节点Ui-1和Ui+1发送Setup消息(Setup,α,T);
2)三方账户生成算法,节点Ui通过公钥pki-1,pki,pki+1计算得出多签名账户/>使得/>的资产只能由节点Ui以及其左右邻居节点Ui-1和Ui+1的签名兑换;
3)节点Ui将计算成功的发送给端点节点U0,Un和邻居节点Ui-1和Ui+1。
优选地,算法genState(初始状态生成)具体包括:
1)节点资金转移算法,Ui依据资金分配额度α生成集资交易/>其中/>从/>和/>信道的双方账户中分别取出αL和αR,转移到三方账户/>中,并将/>发送给左右邻居节点Ui-1和Ui+1;
2)节点资金分配算法,Ui依据转移周期T和分配(αL,αR)生成从三方账户/>中转移到/>和/>信道的双方账户中的初始状态交易/>将/>和/>发送给左右邻居节点Ui-1和Ui+1;
3)Ui-1和Ui+1收到后计算和/>彼此交换后发送给Ui;
4)Ui收到后计算通过验证后保存在本地;
5)Ui分别同Ui-1和Ui+1合作计算得到通过验证后Ui将经过三方签名的上链;
优选地,算法Assignment(分配)具体包括:
1)节点资金分配算法,Ui依据资金分配/>生成对三方账户/>中资金α的分配交易/>其中具体地,/>从三方账户/>提取资金/>分配到/>信道的双方账户中,提取资金/>分配到/>信道的双方账户中,并将/>发送给左右邻居节点Ui-1和Ui+1;
2)节点Ui信道更新算法,输入节点Ui及其两边邻居节点Ui-1和Ui+1在/>和/>信道中的资金分配/>输出/>和/>信道的新状态sti-1,sti;
3)信道状态更新算法,输入信道元组/>和最新sti,设置/>以及输出最新支付信道关闭交易/>
4)自适应算法,输入节点Ui的私钥ski,输出Ui对支付信道/>状态交易/>的预签名/>
5)预签名验证算法,输入/>及Ui+1对其的预签名/>验证通过输出1,否则输出0;
6)抽取算法,输入交易/>的预签名/>和签名σi+1输出与节点Ui+1私有信息相关的证据ωi+1;
7)自适应算法,输入节点Ui的私钥ski,节点Ui和Ui+1私有信息相关的证据ωi,ωi+1,支付信道的最新状态交易/>及Ui对其的预签名/>输出Ui对支付信道状态交易/>的签名σi;
8)节点Ui完成左右支付信道状态更新后计算并向Ui-1和Ui+1发送;
9)同理收到Ui-1和Ui+1的σi-1 c和σi+1 c后,节点Ui计算的三方签名/>后上链。
此外,本发明的另一个目的在于将提出的从三方账户到两方账户多方交易算法直接应用于虚拟信道协议的设计中。具体地,所有节点与其左右节点合作生成三方账户并从支付信道双方账户中转移资产锁定,在更新阶段由两边端点更新三方账户到双方账户的资产分配交易,在虚拟信道关闭阶段,即进行资产从三方账户到支付信道双方账户的分配,节点Un与Un-1合作更新支付信道从而使节点Un-1可以和Un-2合作更新信道/>依次向左直到信道/>被U1和U0更新。本发明通过资产分配和支付信道状态更新实现端点节点虚拟信道的支付操作,进而实现发送方端点从左到右直到接收方端点的支付,一方面保证了严格的顺序性,可以抵抗虫洞攻击;另一方面借助从双方账户到三方账户的交易构建,导致虚拟信道与底层支付信道进行剥离,因此虚拟信道协议抗多米诺攻击,并且提高了支付信道干涸情景下的支付能力;此外端点节点进行更新虚拟信道时,对三方账户到双方账户的分配状态更新仅发生在端点之间,而无需中间节点参与,进一步降低对中间节点的要求,更符合实际交易要求。
本发明提出的一种抗多米诺攻击的虚拟信道协议的构造方法,其步骤包括:
1.参与节点{U0,…,Un}执行前文所述的初始化算法(Setup),生成节点对应的三方账户;
2.参与节点{U0,…,Un}执行前文所述的初始状态生成算法(genState),按照虚拟信道的信道容量以及生命周期锁定资产到三方账户;
3.两端节点U0和Un协商更新分配状态;
4.参与节点{U0,…,Un}执行前文所述的分配算法(Assignment),按照最新的分配状态更新支付信道并将三方账户资产分配回双方账户。
5.若协议执行失败,参与节点Ui按照初始资金分配还原信道。
本发明利用三方账户到双方账户的交易构建和支付信道更新的链接关系,保证了虚拟信道的独立性和支付能力以及支付信道更新的严格顺序性。具体包括以下两个重要方面:
一、三方账户到双方账户的交易构建算法的构造
本发明由初始化Setup、初始状态生成genState和分配Assignment三个算法组成,安全性基于适配器签名和签名验证方案的安全性,以及参与节点趋利的假设。
该三方账户到双方账户的交易构建算法具备以下性质:1)预签名的正确性,即由预签名以及相应私有信息可得到消息的完整签名,并由消息的预签名和签名可抽取得到相应的私有信息;2)不可伪造性,即无签名私钥的节点即使持有相应消息的有效预签名也不能得到消息的有效签名;3)顺序性,即节点可更新左边支付信道状态当且仅当其右边支付信道已得到支付信道状态更新。
二、将三方账户到双方账户的交易构建算法应用到虚拟信道协议中
将三方账户到双方账户的交易构建方案中关于三方账户资产分配以及顺序性支付信道状态更新应用于虚拟信道协议的构造中,可实现多方环境下抗多米诺攻击的安全虚拟信道构建。
该跨链原子交换协议执行具备以下性质:1)借助于三方账户,中间节点仅需锁定部分资产用于虚拟信道构建;2)支付信道状态更新从Un至U0顺序完成,有效抵抗虫洞攻击;3)锁定资产来源于节点两个支付信道余额,有效提升支付干涸情景下虚拟信道的支付能力;4)协议执行仅依赖于底层链的签名验证功能和时间锁脚本,且基于底层链的签名算法可给出高效构造方案,因此该协议可兼容数字人民币等脚本有效区块链,具有一定通用性。
在一个实施例中,设参与节点集合为{U0,…,Un},三方账户到两方账户多方交易算法主要包括算法:初始化Setup、初始状态生成genState、分配Assignment:
1)
i.节点Ui运行三方账户生成算法genAccount(1λ,Ui-1,Ui,Ui+1),输出三方账户
2)
i.节点Ui与其左右邻居节点运行资金转移算法
ii.节点Ui与其左右邻居节点运行节点资金分配算法
iii.节点Ui与其左右邻居节点合作对和/>多签名,将/>上链。
3)
i.节点Ui和两边节点运行
ii.当节点Ui的右邻居节点已成功完成了信道状态更新,则节点Ui运行信道更新算法
iii.若节点Ui得到了右邻居节点的证据ωi+1,则节点Ui运行自适应算法其中ωi+1可由节点Ui+1提供或利用抽取算法得到;
iv.若和/>验证通过,节点Ui保存/>后将/>上链。
在另一个实施例中,虚拟信道协议包括建立Setup Phase、更新Update Phase、关闭Close Phase以及强制关闭Force Close Phase:
假设节点U0想要与节点Un进行额度为α和生命周期为T的虚拟信道交易,我们通常认为T足够长来满足端点节点期待的交易轮数,从U0到Un之间通过路由协议确定交易路径Path(U0,…,Un),U0和Un通过匿名通信信道向路径上的U1,…,Un-1节点发送虚拟信道交易请求,收到确认回应后由此建立了从节点U0到Un的虚拟信道建立需求。
1)Setup Phase:
i.每个参与节点Ui执行三方账户到两方账户多方交易方案的初始化算法Setup,得到了三方账户及其他必要信息,完成支付路径的建立;
ii.每个节点Ui与其左右邻居节点执行初始状态生成算法genState,分别生成各自的转移资金交易和初始状态交易/>
iii.每个节点Ui与其左右邻居节点合作对交易和交易/>多签名并发送给端点;
iv.端点保存txinit,将txf上链。
2)Update Phase
i.在第j轮(此时Tj<T),端点U0和Un按照本轮的交易金额αj生成新的三方账户到双方账户的分配交易
3)Close Phase
i.端点将关闭消息及最新的资金分配交易(Close,txc)发送给所有中间节点;
ii.每个节点Ui根据txc执行2pUpdate算法和updateChannel算法,生成
iii.每个节点Ui与其左右邻居节点执行预签名算法,其中,而Ui对消息预签名中嵌入的证据ωi-1与右邻居节点Ui+1对消息/>预签名中嵌入的证据ωi相关,保证了从右到左的顺序更新;
iv.每个节点Ui将左边信道状态及相应预签名/>发送给左邻居节点Ui-1,将对从右邻居节点Ui+1收到的/>的签名/>发送给右邻居节点;
v.若节点Ui和其右邻居节点成功更新信道则可通过Ext算法抽取得到右邻居节点的证据ωi,即可执行/>算法得到对左边信道更新的签名/>完成对其左边信道的更新;
vi.每个节点Ui左右信道更新后,合作对txc进行多签名并交由端点上链,txc经链上公开确认后,虚拟信道完全关闭。
4)Force Close Phase
i.对于任意节点Ui若在T-Δ时仍未发生资产分配和信道状态更新,则将上链以关闭虚拟信道。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,本发明的保护范围应以权利要求所述为准。
Claims (10)
1.一种从三方账户到两方账户的多方交易方法,其特征在于,应用于支付端点U0和接收端点Un中的任一中间节点Ui,所述方法包括:
基于支付端点U0和接收端点Un发送的交易消息,与左邻居节点Ui-1和右邻居节点Ui+1合作生成三方账户addressi,以完成虚拟信道路径的建立;其中,所述交易信息包括:转移额度α和转移周期T;
基于所述交易消息、与左邻居节点Ui-1之间的信道与右邻居节点Ui+1之间的信道生成集资交易/>和双方账户中的初始资金分配信息/>后,将所述集资交易/>上链,以构建所述虚拟信道路径上的虚拟信道以及更新左邻居节点Ui-1与右邻居节点Ui+1的初始资金分配信息/>其中,/>表示从左邻居节点Ui-1取出的资金,/>表示从右邻居节点Ui-1取出的资金,且/>更新初始资金分配信息/>的轮数由生命周期T决定;
根据更新后的资金分配信息形成从三方账户分配资金到双方账户的交易/>并根据所述交易/>更新信道/>和信道/>的状态之后,将所述交易/>上链,以完成支付端点U0和接收端点Un之间的交易以及关闭所述虚拟信道路径上的虚拟信道;其中,
2.如权利要求1所述的方法,其特征在于,所述基于支付端点U0和接收端点Un发送的交易消息,与左邻居节点Ui-1和右邻居节点 Ui+1合作生成三方账户addressi,包括:
生成一安全参数λ;
基于左邻居节点Ui-1的公钥pki-1、中间节点Ui的公钥pki、右邻居节点Ui+1的公钥pki+1和所述安全参数λ执行三方账户生成算法,得到三方账户addressi。
3.如权利要求1所述的方法,其特征在于,将所述集资交易上链,包括:
与左邻居节点Ui-1和右邻居节点 Ui+1基于所述资金所述资金/>所述转移周期T、所述信道/>所述信道/>和所述三方账户addressi共同执行节点资金分配算法,得到双方账户中的初始状态交易/>
与左邻居节点Ui-1和右邻居节点Ui+1共同对所述初始状态交易进行验证,并在验证成功后,将经过三方签名的集资交易/>上链。
4.如权利要求3所述的方法,其特征在于,基于与左邻居节点i-1和右邻居节点Ui+1共同对所述初始状态交易进行验证,包括:
与左邻居节点Ui-1和右邻居节点Ui+1生成三方账户addressi的公私钥对(skmult,pkmult);利用该中间节点Ui的私钥ski对所述初始状态交易进行数字签名,得到签名/>
将所述初始状态交易和所述签名/>发送至左邻居节点Ui-1和右邻居节点Ui+1,以使左邻居节点Ui-1和右邻居节点Ui+1利用对应的私钥ski-1和私钥ski+1计算签名和签名/>彼此交换后发送给该中间节点Ui;
收到签名和签名/>后,利用私钥skmult计算签名/>并将通过验证后的签名/>保存在本地。
5.如权利要求1所述的方法,其特征在于,所述根据更新后的资金分配信息形成从三方账户分配资金到双方账户的交易/>包括:
基于转移周期T,得到关闭时间T′;
依据三方账户addressi、新后的资金分配信息关闭时间T′、信道/>和信道执行节点资金分配算法,生成三方账户分配资金到双方账户的交易/>
6.如权利要求1所述的方法,其特征在于,根据所述交易更新信道/>和信道/>的状态,包括:
基于所述中间节点Ui及所述左邻居节点Ui-1、所述右邻居节点Ui+1在信道和信道/>中的资金分配/>得到信道/>和信道/>信道对应的新状态sti-1和新状态sti;
根据信道的新状态sti,生成最新支付信道关闭交易/>
利用该中间节点Ui的私钥ski对最新支付信道关闭交易进行预签名,以得到预签名/>
对右邻居节点Ui+1对应的最新支付信道关闭交易及预签名/>进行验证,并在验证通过的情况下,基于所述预签名/>和右邻居节点Ui+1的自适应签名σi+1,得到右邻居节点Ui+1私有证据ωi+1;其中,自适应签名σi+1是右邻居节点Ui+1基于右邻居节点Ui+1的私钥ski+1、证据ωi+1、证据ωi+2、最新支付信道关闭交易/>和预签名/>执行自适应算法得到;
基于私钥ski、证据ωi、证据ωi+1、最新支付信道关闭交易和预签名/>执行自适应算法,得到自适应签名σi;
根据所述最新支付信道状态交易完成信道/>和信道/>信道的更新,得到新状态sti-1和新状态sti。
7.如权利要求1所述的方法,其特征在于,将所述交易上链,包括:
生成该中间节点Ui的私钥ski对交易的签名σi c,并将所述签名σi c发送至左邻居节点Ui-1和右邻居节点Ui+1,以使左邻居节点Ui-1和右邻居节点Ui+1分别生成所述交易/>的签名σi-1 c和签名σi+1 c;
收到签名σi-1 c和签名σi+1 c后,生成所述交易的三方签名/>并上链。
8.一种从三方账户到两方账户的多方交易装置,其特征在于,应用于支付端点U0和接收端点Un中的任一中间节点Ui,所述装置包括:
三方账户生成模块,用于基于支付端点U0和接收端点Un发送的交易消息,与左邻居节点Ui-1和右邻居节点Ui+1合作生成三方账户addressi,以完成虚拟信道路径的建立;其中,所述交易信息包括:转移额度α和转移周期T;
集资交易上链模块,用于基于所述交易消息、与左邻居节点Ui-1之间的信道与右邻居节点Ui+1之间的信道/>生成集资交易/>和双方账户中的初始资金分配信息/>后,将所述集资交易/>上链,以构建所述虚拟信道路径上的虚拟信道以及更新左邻居节点Ui-1与右邻居节点Ui+1的初始资金分配信息/>其中,/>表示从左邻居节点Ui-1取出的资金,表示从右邻居节点Ui-1取出的资金,且/>更新初始资金分配信息/>的轮数由转移周期T决定;
交易执行模块,用于根据更新后的资金分配信息形成从三方账户分配资金到双方账户的交易/>并根据所述交易/>更新信道/>和信道/>的状态之后,将所述交易/>上链,以完成支付端点U0和接收端点Un之间的交易以及关闭所述虚拟信道路径上的虚拟信道;其中,/>
9.一种计算机设备,其特征在于,所述计算机设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1-7任一项所述的从三方账户到两方账户的多方交易方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时,以实现权利要求1至7任一项所述的从三方账户到两方账户的多方交易方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153605.XA CN117196840A (zh) | 2023-09-07 | 2023-09-07 | 从三方账户到两方账户的多方交易方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153605.XA CN117196840A (zh) | 2023-09-07 | 2023-09-07 | 从三方账户到两方账户的多方交易方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117196840A true CN117196840A (zh) | 2023-12-08 |
Family
ID=89004663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311153605.XA Pending CN117196840A (zh) | 2023-09-07 | 2023-09-07 | 从三方账户到两方账户的多方交易方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117196840A (zh) |
-
2023
- 2023-09-07 CN CN202311153605.XA patent/CN117196840A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11861606B2 (en) | Blockchain system for confidential and anonymous smart contracts | |
CN109937557B (zh) | 用于信息保护的系统和方法 | |
CN110089069B (zh) | 用于信息保护的系统和方法 | |
AU2018347196B2 (en) | System and method for information protection | |
AU2018349940B2 (en) | System and method for information protection | |
CN111886831A (zh) | 用于实现零知识证明的计算机实现的系统及方法 | |
KR20200099149A (ko) | 낮은 엔트로피 패스워드로 블록체인 트랜잭션을 승인하기 위한 컴퓨터 구현 시스템 및 방법 | |
CN110785782A (zh) | 使用区块链网络的多轮令牌分发系统和方法 | |
CN112488682B (zh) | 一种区块链的三方转账方法及装置 | |
Tripathy et al. | Mappcn: Multi-hop anonymous and privacy-preserving payment channel network | |
CN111738857B (zh) | 应用于区块链的隐匿支付证明的生成与验证方法及装置 | |
Mohanty et al. | n-htlc: Neo hashed time-lock commitment to defend against wormhole attack in payment channel networks | |
Aumayr et al. | Thora: Atomic and privacy-preserving multi-channel updates | |
Mazumdar et al. | HushRelay: A privacy-preserving, efficient, and scalable routing algorithm for off-chain payments | |
CN110278266B (zh) | 一种基于区块链的资源处理方法及装置 | |
Dorsala et al. | Fair protocols for verifiable computations using bitcoin and ethereum | |
CN109685659B (zh) | 一种区块链硬钱包支持链下交易的方法及硬钱包 | |
Aumayr et al. | Breaking and fixing virtual channels: Domino attack and donner | |
US20240179211A1 (en) | Computer-implemented system and method for controlling processing steps of a distributed system | |
Bhat et al. | A probabilistic analysis on crypto-currencies based on blockchain | |
Guo et al. | Multi-party Fair Exchange Protocol with Smart Contract on Bitcoin. | |
CN112488683A (zh) | 一种区块链的链下交易方法及装置 | |
Barbàra et al. | MP‐HTLC: Enabling blockchain interoperability through a multiparty implementation of the hash time‐lock contract | |
CN117196840A (zh) | 从三方账户到两方账户的多方交易方法及装置 | |
Grundmann et al. | Banklaves: concept for a trustworthy decentralized payment service for bitcoin |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |