CN114581070B - 基于同态加密的区块链支付通道网络路径选择方法和系统 - Google Patents
基于同态加密的区块链支付通道网络路径选择方法和系统 Download PDFInfo
- Publication number
- CN114581070B CN114581070B CN202210233663.2A CN202210233663A CN114581070B CN 114581070 B CN114581070 B CN 114581070B CN 202210233663 A CN202210233663 A CN 202210233663A CN 114581070 B CN114581070 B CN 114581070B
- Authority
- CN
- China
- Prior art keywords
- sender
- receiver
- unit module
- path
- dimensional vector
- 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.)
- Active
Links
- 238000010187 selection method Methods 0.000 title claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000006467 substitution reaction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Computer Security & Cryptography (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开一种基于同态加密的区块链支付通道网络路径选择方法和系统,在用户开始交易之前计算每条路径支持的最大交易金额,找到费用较低的可用交易路径(仅经过一个中间节点),从而避免交易资金被冻结,并且提高了支付通道网络交易的成功率和效率。另外,本发明利用了同态加密算法来保证用户的交易隐私不被泄露。
Description
技术领域
本发明涉及一种基于同态加密的区块链支付通道网络路径选择方法和系统,属于区块链技术领域。
背景技术
自2008年首次提出比特币以来,其底层技术(即区块链)因其去中心化、不可篡改和去信任的特性而受到学术界和业界的关注。然而,区块链的去中心化严重限制了它的可扩展性(以每秒处理的交易量来衡量):比特币的交易吞吐量是每秒10笔交易,而Visa每秒可以处理数千笔交易。可扩展性问题使得区块链很难被应用于大规模的场景中,因此需要加以解决。
支付通道(Payment Channels)是解决区块链可扩展性问题最有前途的解决方案之一:支付通道在被创建之后,可以在不经过区块链的情况下处理大量的链下交易,不需要花费很长时间的确认时间,从而提高交易的速度。更具体地说,两个用户向区块链提交一个交易建立支付通道,并在其中投入一些资金。然后,他们可以通过在本地彼此商定支付通道中最新的资金分配情况,在链下执行多次支付(不需要提交到链上)。一旦他们不再需要该通道进行交易,只需向区块链提交一笔有最终余额的交易来关闭通道,就可以取回自己的资金。因此,使用一个支付通道,两个用户可以进行多次支付,但区块链只需要处理两笔交易。
支付通道网络(Payment Channel Networks)是由支付通道组成的网络。在网络中,即使两个用户之间没有直接相连的支付通道,仍然可以利用经过中间节点将它们相连的路径进行交易。但用户需要确认路径上的所有通道都有足够的资金,不然会造成交易失败。另外,当中间节点的支付通道用于路由支付时,作为对它们的激励,应该向它们支付费用。因此对于支付的发送方和接收方来说,如何找到成本最低的路径是另一个需要考虑的问题。
闪电网络是目前使用最广泛的支付通道网络,它将每笔支付的确认时间缩短到几秒钟,并降低了交易费用。现有的闪电网络路由协议性能不佳,主要有两个原因。首先,出于保护用户隐私的目的,闪电网络只公开每个支付通道的初始资金分配,而不会向用户公开支付通道当前的资金分配。而且,发送方需要在交易开始前确定交易路径,因此在不知道其他支付通道资金分配的情况下,只能猜测某条路径的支付通道有足够的余额支持交易,然后尝试沿着该条路径完成交易。如果失败,他会尝试另一条路径,直到交易成功。这样,在闪电网络中支付的成功率就受到了严重的限制。其次,闪电网络使用一种名为哈希时间锁(Hash TimeLock Contract)的智能合约来确保用户的资金安全。一旦发送方选定了某条路径作为交易路径且开始交易,路径上用来交易的资金就会被锁定,直到交易成功或者超出指定的时间为止。也就是说,如果用户选择了一条资金不能支持交易的路径(交易失败),那么该路径上的资金将被冻结一段时间,这意味着这些资金不能被用到其他交易,极大地提高了机会成本,对于用户是非常不利的。另外,据统计,在闪电网络中,绝大多数(超过68%)节点之间的仅经过一个中间节点(即距离为2)。
发明内容
发明目的:目前提供一种在不泄露用户隐私的情况下,帮助用户快速寻找可用交易路径从而降低成功交易的时间和费用的路径选择方法,对本领域的发展是极为重要的,也是本领域的技术人员急需解决的问题。因此,本发明提供一种基于同态加密的区块链支付通道网络路径选择方法和系统。
本发明在交易开始之前计算每条路径支持的最大交易金额,为用户找到费用较低的可用交易路径(仅经过一个中间节点),避免交易资金被冻结,并且保证不会泄露路径上每个支付通道的余额以及交易的总金额。
技术方案:一种基于同态加密的区块链支付通道网络路径选择方法,方法中涉及交易的发送方S、接收方R、交易总金额P以及同时与发送方S和接收方R都存在直接相连支付通道的n个中间节点I1、I2、…、In;包括如下步骤:
步骤1,发送方S基于网络拓扑结构找到n条仅经过一个中间节点到达接收方R的路径,每条路径都有自己的编号,编号取值从1到n,其中编号为1的路径为路径S→I1→R,编号为2的路径为路径S→I2→R,以此类推,分别对应n个中间节点I1、I2、…、In;
步骤2,发送方S生成公钥PKS和私钥SKS,把公钥发送给接收方R,私钥储存在本地;
步骤3,发送方S初始化count变量,使其取值为1,用于记录本方案运行的轮次;
步骤4,发送方S计算本轮的传输金额P*=P/count,并发送给接收方R;
步骤5,发送方S、接收方R各自根据路径上支付通道的当前余额与本轮传输金额P*的比较结果生成一个n维向量,分别为VS、VR;
步骤6,发送方S用其公钥PKS加密VS得到n维向量并将/>发送给接收方R;
步骤7,接收方R用接收方S的公钥PKS加密VR得到n维向量并将其与收到的/>作同态加法,得到n维向量/>
步骤8,接收方R对的元素位置作随机置换(即将/>的元素打乱),得到/>并存储/>与/>中元素的映射关系,然后将/>发送给发送方S,其中/>的第i个元素为/>i为元素的下标值,下同;
步骤9,发送方S用其私钥SKS对进行解密,得到ZP,其中ZP的第i个元素为ZPi;
步骤10,发送方S挑选count个使得ZPi=0的i(若这样的元素数量不足count个,意味着本轮选择路径失败,转到步骤13),发送给接收方R;
步骤11,接收方R查询在步骤8中存储的与/>元素的映射关系,可以得出收到的count个i在/>的元素被打乱前的值i*(即ZPi在步骤8随机置换前所在位置的下标)返回给发送方S;
步骤12,发送方S选定编号为i*的路径作为最终交易路径,方案结束运行;
步骤13,发送方S将count的值增一,然后检查count≤n是否依然成立:若是,重复上面的步骤4-12,进入下一轮选择路径;若否,表明本方案不能选择出符合条件的路径,方案结束运行。
所述步骤2中,发送方S运行Paiilier同态加密算法的初始化算法,生成公钥PKS和私钥SKS。
所述步骤5中,发送方S、接收方R各自根据路径上支付通道的当前余额与本轮传输金额P*的比较结果生成一个n维向量,分别为VS、VR,其中VS或VR的第i个元素为Vi,取值如下:
其中,bi表示第i条路径中S或R与Ii之间的支付通道的当前余额。
所述步骤6中,发送方S用其公钥PKS加密VS得到n维向量并将/>发送给R,其中/>的第i个元素为/>取值如下:
其中,r为随机数,E是Paiilier算法的加密算法,EK(m)表示使用密钥K和加密算法E对明文m加密后所得的密文。
所述步骤7中,接收方R用发送方S的公钥PKS以及与步骤6相同的方式加密VR得到n维向量并将其与收到的/>作同态加法,得到n维向量/>其中/>的第i个元素为/>取值如下:
其中,表示/>的第i个元素,/>表示/>的第i个元素。
所述步骤9中,发送方S用其私钥SKS对进行解密,得到ZP,其中ZP的第i个元素为ZPi,取值如下:
其中,D是与Paiilier算法的解密算法,DK(c)表示使用密钥K和解密算法D对密文c解密后所得的明文。
一种基于同态加密的区块链支付通道网络路径选择系统,系统中涉及交易的发送方S、接收方R、交易总金额P以及同时与发送方S和接收方R都存在直接相连支付通道的n个中间节点I1、I2、…、In;包括如下单元模块:
第一单元模块,发送方S基于网络拓扑结构找到n条仅经过一个中间节点到达接收方R的路径;
第二单元模块,发送方S生成公钥PKS和私钥SKS,把公钥发送给接收方R,私钥储存在本地;
第三单元模块,发送方S初始化count变量,使其取值为1,用于记录本方案运行的轮次;
第四单元模块,发送方S计算本轮的传输金额P*=P/count,并发送给接收方R;
第五单元模块,发送方S、接收方R各自根据路径上支付通道的当前余额与本轮传输金额P*的比较结果生成一个n维向量,分别为VS、VR;
第六单元模块,发送方S用其公钥PKS加密VS得到n维向量并将/>发送给接收方R;
第七单元模块,接收方R用接收方S的公钥PKS加密VR得到n维向量并将其与收到的/>作同态加法,得到n维向量/>
第八单元模块,接收方R对的元素位置作随机置换(即将/>的元素打乱),得到/>并存储/>与/>中元素的映射关系,发送给发送方S,其中/>的第i个元素为/>
第九单元模块,发送方S用其私钥SKS对进行解密,得到ZP,其中ZP的第i个元素为ZPi;
第十单元模块,发送方S挑选count个使得ZPi=0的i,发送给接收方R;若元素数量不足count个,意味着本轮选择路径失败,执行第十三单元模块;
第十一单元模块,接收方R查询在第八单元模块中存储的与/>元素的映射关系,得出收到的count个i在/>的元素被打乱前的值i*(即ZPi在第八单元模块中随机置换前所在位置的下标)返回给发送方S;
第十二单元模块,发送方S选定下标为i*的路径作为最终交易路径,系统结束运行;
第十三单元模块,发送方S将count的值增一,然后检查count≤n是否依然成立:若是,重复执行第四单元模块-第十二单元模块,进入下一轮选择路径;若否,表明本系统不能选择出符合条件的路径,系统结束运行。
一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如上所述的基于同态加密的区块链支付通道网络路径选择方法。
一种计算机可读存储介质,该计算机可读存储介质存储有执行如上所述的基于同态加密的区块链支付通道网络路径选择方法的计算机程序。
有益效果:与现有技术相比,本发明具有如下优点:
提高交易的成功率和效率:本发明在用户开始交易前为其选择一条(或多条)由足够资金支持交易的路径,避免了用户随机盲目地尝试所有路径,并在失败时资金被冻结一段时间的不利情况;
保护支付通道资金分配隐私:本发明使用了Paillier同态加密算法对方案种的信息进行加密,Paillier算法基于合数幂剩余类问题,若不持有密文对应的私钥,则无法在多项式时间内破解密文,只有发送方具有其关于Paillier算法的私钥,接收方无法获得发送方任何支付通道资金分配的明文信息;而接收方向发送方提供的信息是经过同态运算并打乱顺序的,即使发送方具有私钥,也不能从解密后得到的明文信息中推断出接收方支付通道的资金分配情况;
保护交易金额隐私:在交易被拆分传输(通过多条路径传输)时,交易路径上的中间节点只知道其所在路径的交易金额,而不能推断出交易总金额的大小;
费用较低:本发明优先选择用较少数量的路径完成交易的传输,首先计算能否用一条路径来传输,在所有路径都不满足的情况下再考虑拆分交易并依次增加传输交易的路径数量,而根据闪电网络的费用计算方法(总费用=基本费用+比例费用,其中每个节点的基本费用是固定不变的,比例费用与交易金额大小有关),使用的路径越少,需要支付给中间节点的费用就越少。
附图说明
图1是本发明实施例的节点S、R、A、B、C之间的支付通道以及这些支付通道的初始资金分配情况;
图2是本发明实施例的某一时刻节点S、R、A、B、C之间支付通道的部分资金分配情况;
图3是本发明实施例的系统流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明实施例专注于区块链支付通道网络中长度为2的路径(只经过一个中间节点)。
本发明实施例提供了一种基于同态加密的区块链支付通道网络路径选择方法,它能够为支付通道中的用户找到费用较低的可用交易路径,并且保证不会泄露路径上每个支付通道的余额以及交易的总金额。
如图1所示,节点S与节点R之间不存在直接相连的支付通道,若S要向R进行支付,则必须借助它们之间的中间节点(即S先把资金传输到中间节点,中间节点再把该资金转发给R)。图1显示的是节点S、R、A、B、C之间的支付通道以及这些支付通道的初始资金分配情况(例如,S和A在支付通道CSA中的初始资金分别为10和10),这些信息是对所有节点公开的,也就是说,每个节点都知道整个网络的拓扑结构以及所有支付通道的初始资金分配情况。但因为网络是动态的,支付会随时在节点之间发生,所以每个支付通道的当前资金分配情况并不一定与其初始资金分配情况一致。然而,出于保护网络中节点的交易隐私的目的,支付通道的当前资金分配情况不会向所有节点公开,即每个节点只能知道自己所在的支付通道的当前资金分配情况(例如,S只知道支付通道CSA、CSB、CSC的资金分配情况,而对于支付通道CAR、CBR、CCR的资金分配情况一无所知)。图2显示的是在某一时刻节点S、R、A、B、C之间支付通道的部分资金分配情况,为了方便阅读,图2中只标出了从S到R方向的资金情况(例如,S指向A的箭头,且上面有个数字15,表示在支付通道CSA中,S拥有的资金为15,即S还可以向A支付15比特币)。
假设在图2所示的时刻,节点S要向节点R支付14比特币,但它们之间不存在直接相连的支付通道,因此需要选择一条或多条路径完成交易。本实施例提供了一种用于区块链支付通道网络具有隐私保护功能的路径选择方法,具体步骤如下:
1)S基于网络拓扑结构找到如图2所示的3条仅经过一个中间节点到达R的路径,分别为S→A→R、S→B→R、S→C→R;
2)S运行Paiilier同态加密算法的初始化算法,生成公钥PKS和私钥SKS,把公钥发送给R,私钥安全的储存在本地;
3)S初始化count变量,使其取值为1,用于记录本方案运行的轮次;
4)S计算本轮的传输金额P*=P/count=14,并发送给R;
5)S、R各自根据路径上支付通道的当前余额与本轮传输金额P*(14比特币)的比较结果生成一个3维向量,分别为VS、VR,其中VS(VR)的第i个元素为Vi,取值如下:
其中,bi表示第i条路径中S(R)与Ii之间的支付通道的当前余额,即VS=[1,0,0],VR=[0,0,1];
6)S用其公钥PKS加密VS得到n维向量并将/>发送给R,其中/>的第i个元素为/>取值如下:
其中,r为随机数,E是某种支持同态加法的加密算法,EK(m)表示使用密钥K和加密算法E对明文m加密后所得的密文,即
7)R用S的公钥PKS以及与第3步相同的方式加密VR得到n维向量并将其与收到的/>作同态加法,得到n维向量/>其中/>的第i个元素为/>取值如下:
其中,表示/>的第i个元素,/>表示/>的第i个元素,即/> 另外,因为加密算法E支持同态加法,所以/>
8)R对的元素位置作随机置换(即将/>的元素打乱),得到/>(假设经过随即置换后/>即第一个元素与第二个元素交换位置,第三个元素位置不变)并发送给S,其中/>的第i个元素为/>
9)S用其私钥SKS对进行解密,得到ZP,其中ZP的第i个元素为ZPi,取值如下:
其中,D是与第3步中的加密算法E对应的解密算法,DK(c)表示使用密钥K和解密算法D对密文c解密后所得的明文,即ZP=[2r,r,r];
10)S挑选使得ZPi=0的某个i发送给R,但不存在这样的i,意味着本轮选择路径失败,转到下一步;
11)由第9)步可知,没有一条路径能够完成交易(所有路径的可用金额都比本轮交易金额14比特币小),此时S将count的值增一,发现count≤n依然成立(此时,count的值为2,总路径数n的值为3,表明还存在由两条路径完成交易传输的可能性),进入下一轮选择路径;
12)S重新计算本轮的传输金额P*=P/count=7,并发送给R;
13)S、R各自根据路径上支付通道的当前余额与新的交易金额P*(7比特币)的比较结果生成一个3维向量,分别为VS、VR,且VS=[1,1,1],VR=[1,0,1];
14)S用其公钥PKS加密VS得到n维向量并将/>发送给R;
15)R用S的公钥PKS以及与上一步相同的方式加密VR得到n维向量并将其与收到的/>作同态加法,得到n维向量/> 另外,因为加密算法E支持同态加法,所以
16)R对的元素位置作随机置换(即将/>的元素打乱),得到/>(假设经过随即置换后/>即第二个元素与第三个元素交换位置,第一个元素位置不变)并发送给S;
17)S用其私钥SKS对进行解密,得到ZP=[0,0,r];
18)S挑选使得ZPi=0的某两(本轮的count为2)个i(即i=1、i=2)发送给R;
19)R将i置换前的值i*(即i*=1、i*=3)返回给S;
20)S选定第1条与第3条路径作为最终交易路径,分别向R支付7比特币,共14比特币,方案结束运行。
一种基于同态加密的区块链支付通道网络路径选择系统,系统中涉及交易的发送方S、接收方R、交易总金额P以及同时与发送方S和接收方R都存在直接相连支付通道的n个中间节点I1、I2、…、In;包括如下单元模块:
第一单元模块,发送方S基于网络拓扑结构找到n条仅经过一个中间节点到达接收方R的路径;
第二单元模块,发送方S生成公钥PKS和私钥SKS,把公钥发送给接收方R,私钥储存在本地;
第三单元模块,发送方S初始化count变量,使其取值为1,用于记录本方案运行的轮次;
第四单元模块,发送方S计算本轮的传输金额P*=P/count,并发送给接收方R;
第五单元模块,发送方S、接收方R各自根据路径上支付通道的当前余额与本轮传输金额P*的比较结果生成一个n维向量,分别为VS、VR;
第六单元模块,发送方S用其公钥PKS加密VS得到n维向量并将/>发送给接收方R;
第七单元模块,接收方R用接收方S的公钥PKS加密VR得到n维向量并将其与收到的/>作同态加法,得到n维向量/>
第八单元模块,接收方R对的元素位置作随机置换(即将/>的元素打乱),得到/>并发送给发送方S,其中/>的第i个元素为/>
第九单元模块,发送方S用其私钥SKS对进行解密,得到ZP,其中ZP的第i个元素为ZPi;
第十单元模块,发送方S挑选count个使得ZPi=0的i,发送给接收方R若元素数量不足count个,意味着本轮选择路径失败,执行第十三单元模块;
第十一单元模块,接收方R查询在第八单元模块中存储的与/>元素的映射关系,得出收到的count个i在/>的元素被打乱前的值i*(即ZPi在第八单元模块中随机置换前所在位置的下标)返回给发送方S;
第十二单元模块,发送方S选定下标为i*的路径作为最终交易路径,系统结束运行;
第十三单元模块,发送方S将count的值增一,然后检查count≤n是否依然成立:若是,重复执行第四单元模块-第十二单元模块,进入下一轮选择路径;若否,表明本系统不能选择出符合条件的路径,系统结束运行。
显然,本领域的技术人员应该明白,上述的本发明实施例的基于同态加密的区块链支付通道网络路径选择方法各步骤或基于同态加密的区块链支付通道网络路径选择系统各单元模块可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
Claims (5)
1.一种基于同态加密的区块链支付通道网络路径选择方法,其特征在于,方法中涉及交易的发送方S、接收方R、交易总金额P以及同时与发送方S和接收方R都存在直接相连支付通道的n个中间节点I1、I2、…、In;包括如下步骤:
步骤1,发送方S基于网络拓扑结构找到n条仅经过一个中间节点到达接收方R的路径;
步骤2,发送方S生成公钥PKS和私钥SKS,把公钥发送给接收方R,私钥储存在本地;
步骤3,发送方S初始化count变量,使其取值为1,用于记录本方案运行的轮次;
步骤4,发送方S计算本轮的传输金额P*=P/count,并发送给接收方R;
步骤5,发送方S、接收方R各自根据路径上支付通道的当前余额与本轮传输金额P*的比较结果生成一个n维向量,分别为VS、VR;
步骤6,发送方S用其公钥PKS加密VS得到n维向量并将/>发送给接收方R;
步骤7,接收方R用接收方S的公钥PKS加密VR得到n维向量并将其与收到的/>作同态加法,得到n维向量/>
步骤8,接收方R对的元素位置作随机置换,得到/>并存储/>与/>中元素的映射关系,然后将/>发送给发送方S,其中/>的第i个元素为/>
步骤9,发送方S用其私钥SKS对进行解密,得到ZP,其中ZP的第i个元素为ZPi;
步骤10,发送方S挑选count个使得ZPi=0的i,发送给接收方R;若元素数量不足count个,意味着本轮选择路径失败,转到步骤13;
步骤11,接收方R查询在步骤8中存储的与/>元素的映射关系,可以得出收到的count个i在/>的元素被打乱前的值i*返回给发送方S;
步骤12,发送方S选定下标为i*的路径作为最终交易路径,方案结束运行;
步骤13,发送方S将count的值增一,然后检查count≤n是否依然成立:若是,重复上面的步骤4-12,进入下一轮选择路径;若否,表明本方案不能选择出符合条件的路径,方案结束运行;
所述步骤5中,发送方S、接收方R各自根据路径上支付通道的当前余额与本轮传输金额P*的比较结果生成一个n维向量,分别为VS、VR,其中VS或VR的第i个元素为Vi,取值如下:
其中,bi表示第i条路径中S或R与Ii之间的支付通道的当前余额;
所述步骤6中,发送方S用其公钥PKS加密VS得到n维向量并将/>发送给R,其中/>的第i个元素为/>取值如下:
其中,r为随机数,E是Paiilier算法的加密算法,EK(m)表示使用密钥K和加密算法E对明文m加密后所得的密文;
所述步骤7中,接收方R用发送方S的公钥PKS以及与步骤6相同的方式加密VR得到n维向量并将其与收到的/>作同态加法,得到n维向量/>其中/>的第i个元素为/>取值如下:
其中,表示/>的第i个元素,/>表示/>的第i个元素;
所述步骤9中,发送方S用其私钥SKS对进行解密,得到ZP,其中ZP的第i个元素为ZPi,取值如下:
其中,D是与Paiilier算法的解密算法,DK(c)表示使用密钥K和解密算法D对密文c解密后所得的明文。
2.根据权利要求1所述的基于同态加密的区块链支付通道网络路径选择方法,其特征在于,所述步骤2中,发送方S运行Paiilier同态加密算法的初始化算法,生成公钥PKS和私钥SKS。
3.一种基于同态加密的区块链支付通道网络路径选择系统,其特征在于,系统中涉及交易的发送方S、接收方R、交易总金额P以及同时与发送方S和接收方R都存在直接相连支付通道的n个中间节点I1、I2、…、In;包括如下单元模块:
第一单元模块,发送方S基于网络拓扑结构找到n条仅经过一个中间节点到达接收方R的路径;
第二单元模块,发送方S生成公钥PKS和私钥SKS,把公钥发送给接收方R,私钥储存在本地;
第三单元模块,发送方S初始化count变量,使其取值为1,用于记录本方案运行的轮次;
第四单元模块,发送方S计算本轮的传输金额P*=P/count,并发送给接收方R;
第五单元模块,发送方S、接收方R各自根据路径上支付通道的当前余额与本轮传输金额P*的比较结果生成一个n维向量,分别为VS、VR;
第六单元模块,发送方S用其公钥PKS加密VS得到n维向量并将/>发送给接收方R;
第七单元模块,接收方R用接收方S的公钥PKS加密VR得到n维向量并将其与收到的/>作同态加法,得到n维向量/>
第八单元模块,接收方R对的元素位置作随机置换,得到/>并发送给发送方S,其中/>的第i个元素为/>
第九单元模块,发送方S用其私钥SKS对进行解密,得到ZP,其中ZP的第i个元素为ZPi;
第十单元模块,发送方S挑选count个使得ZPi=0的i,若i的数量不够,意味着本轮选择路径失败,执行第十三单元模块,发送给接收方R;
第十一单元模块,接收方R将这些i置换前的值i*(即ZPi在第五步随即置换前所在位置的下标)返回给发送方S;
第十二单元模块,发送方S选定编号为i*的路径作为最终交易路径,系统结束运行;
第十三单元模块,发送方S将count的值增一,然后检查count≤n是否依然成立:若是,重复执行第四单元模块-第十二单元模块,进入下一轮选择路径;若否,表明本系统不能选择出符合条件的路径,系统结束运行;
所述第五单元模块,发送方S、接收方R各自根据路径上支付通道的当前余额与本轮传输金额P*的比较结果生成一个n维向量,分别为VS、VR,其中VS或VR的第i个元素为Vi,取值如下:
其中,bi表示第i条路径中S或R与Ii之间的支付通道的当前余额;
所述第六单元模块,发送方S用其公钥PKS加密VS得到n维向量并将/>发送给R,其中的第i个元素为/>取值如下:
其中,r为随机数,E是Paiilier算法的加密算法,EK(m)表示使用密钥K和加密算法E对明文m加密后所得的密文;
所述第七单元模块,接收方R用发送方S的公钥PKS以及与步骤6相同的方式加密VR得到n维向量并将其与收到的/>作同态加法,得到n维向量/>其中/>的第i个元素为/>取值如下:
其中,表示/>的第i个元素,/>表示/>的第i个元素;
所述第九单元模块,发送方S用其私钥SKS对进行解密,得到ZP,其中ZP的第i个元素为ZPi,取值如下:
其中,D是与Paiilier算法的解密算法,DK(c)表示使用密钥K和解密算法D对密文c解密后所得的明文。
4.一种计算机设备,其特征在于:该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如权利要求1-2中任一项所述的基于同态加密的区块链支付通道网络路径选择方法。
5.一种计算机可读存储介质,其特征在于:该计算机可读存储介质存储有执行如权利要求1-2中任一项所述的基于同态加密的区块链支付通道网络路径选择方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210233663.2A CN114581070B (zh) | 2022-03-10 | 2022-03-10 | 基于同态加密的区块链支付通道网络路径选择方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210233663.2A CN114581070B (zh) | 2022-03-10 | 2022-03-10 | 基于同态加密的区块链支付通道网络路径选择方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114581070A CN114581070A (zh) | 2022-06-03 |
CN114581070B true CN114581070B (zh) | 2024-03-19 |
Family
ID=81773868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210233663.2A Active CN114581070B (zh) | 2022-03-10 | 2022-03-10 | 基于同态加密的区块链支付通道网络路径选择方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114581070B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116109416B (zh) * | 2023-04-12 | 2023-07-04 | 北京邮电大学 | 一种基于区块链的碳交易支付通道路由选择方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
WO2020253234A1 (zh) * | 2019-06-18 | 2020-12-24 | 创新先进技术有限公司 | 实现隐私保护的数据同态加解密方法及装置 |
CN112150144A (zh) * | 2020-08-12 | 2020-12-29 | 江苏大学 | 一种基于跨节点多跳支付的区块链匿名交易方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10778410B2 (en) * | 2019-06-18 | 2020-09-15 | Alibaba Group Holding Limited | Homomorphic data encryption method and apparatus for implementing privacy protection |
-
2022
- 2022-03-10 CN CN202210233663.2A patent/CN114581070B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
WO2020253234A1 (zh) * | 2019-06-18 | 2020-12-24 | 创新先进技术有限公司 | 实现隐私保护的数据同态加解密方法及装置 |
CN112150144A (zh) * | 2020-08-12 | 2020-12-29 | 江苏大学 | 一种基于跨节点多跳支付的区块链匿名交易方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114581070A (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | An efficient and secure mobile payment protocol for restricted connectivity scenarios in vehicular ad hoc network | |
CN111143885B (zh) | 区块链交易处理方法及装置和区块链节点 | |
CN105337736B (zh) | 全同态消息认证方法、装置及系统 | |
KR20200066257A (ko) | 정보 보호를 위한 시스템 및 방법 | |
CN110147994A (zh) | 一种基于同态加密的区块链的即时执行方法 | |
KR20200066258A (ko) | 정보 보호를 위한 시스템 및 방법 | |
US12010216B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
JP2000502553A (ja) | 内在的署名を用いた鍵一致及び輸送プロトコル | |
US20210035090A1 (en) | System and method for secure data delivery | |
GB2490407A (en) | Joint encryption using base groups, bilinear maps and consistency components | |
US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN113393225B (zh) | 数字货币加密支付方法及系统 | |
CN109272316A (zh) | 一种基于区块链网络下的区块实现方法及系统 | |
CN102239714A (zh) | 基于应用层的移动金融业务的安全通信方法及其装置 | |
CN104182876A (zh) | 安全支付交易方法和系统 | |
CN114581070B (zh) | 基于同态加密的区块链支付通道网络路径选择方法和系统 | |
CN117078247A (zh) | 支付媒介开通方法、装置、设备及存储介质 | |
CN116707778A (zh) | 数据混合加密传输方法、装置和电子设备 | |
CN113422681B (zh) | 一种基于量子密码的区块链数字签名方法、装置及系统 | |
Yu et al. | P4PCN: Privacy-preserving path probing for payment channel networks | |
Grooteman et al. | Providing Trusted Datafeeds to the Blockchain | |
EP4181457A1 (en) | Quantum based method and system for performing cryptocurrency asset transactions | |
WO2000065493A2 (en) | Delegation billing | |
CN114520716B (zh) | 可计费的量子密钥及量子密钥分发网络计费方法及系统 | |
US20240356730A1 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |