CN112053144A - 一种三方转账方法及装置 - Google Patents
一种三方转账方法及装置 Download PDFInfo
- Publication number
- CN112053144A CN112053144A CN202011010339.1A CN202011010339A CN112053144A CN 112053144 A CN112053144 A CN 112053144A CN 202011010339 A CN202011010339 A CN 202011010339A CN 112053144 A CN112053144 A CN 112053144A
- Authority
- CN
- China
- Prior art keywords
- transfer
- party
- balance information
- participant
- transfer data
- 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
- 238000012546 transfer Methods 0.000 title claims abstract description 448
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 8
- 230000008676 import Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 19
- 238000005516 engineering process Methods 0.000 abstract description 11
- 238000004364 calculation method Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 20
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 101100490563 Caenorhabditis elegans adr-1 gene Proteins 0.000 description 2
- 101100388220 Caenorhabditis elegans adr-2 gene Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
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/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/085—Payment architectures involving remote charge determination or related payment systems
- G06Q20/0855—Payment architectures involving remote charge determination or related payment systems involving a third party
-
- 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
-
- 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
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Databases & Information Systems (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种三方转账方法及装置,其中方法为:针对三个参与方共享的三方支付通道的生命周期内任一次转账,第一参与方将第一转账数据发送至第二参与方和第三参与方;所述第一参与方为本次转账的转账方;所述第一参与方若接收到第二转账数据和第三转账数据,则确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账。上述方法应用于金融科技(Fintech)时,不需要复杂的计算逻辑,且只需要一个三方支付通道,所以上述三方支付过程更加简洁。
Description
技术领域
本发明涉及金融科技(Fintech)领域中的区块链(Blockchain)领域,尤其涉及一种三方转账方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。目前,基于区块链的不可篡改性,金融科技领域中常通过区块链(blockchain)进行交易。三方转账是区块链领域中一种特殊场景,三方的资产只在三个参与方内部发生转移。在三方转账场景下,在区块链上建立了支付通道后,中间转账的过程在链下完成,区块链只需要记录三个参与方各自的最初余额和三个参与方各自的最终余额。目前的方案中,常通过以太坊的雷电网络来实现三方转账。
雷电网络中的支付通道机制是两两建立的,但很多情况下,转账方并不是经常向接收方转账,如果每次转账的转账方和接收方均两两建立支付通道,则转账成本较高。因此,更为普遍的是三方转账场景:A和C已建立了支付通道,B和C也已建立了支付通道,但A和C没有建立支付通道,A和C不希望额外建立支付通道时,便通过B实现A、B和C的三方转账。但在这种场景下,也需要建立两个支付通道,每个支付通道的建立都需要和区块链进行交互,为防止某一方作恶,在链下中间转账的过程中,还要计算平衡性证明(如零知识证明),并相互协商、验证,逻辑较为复杂。因此,雷电网络中三方转账的过程较为繁琐,这是一个待解决的问题。
发明内容
本发明提供一种三方转账方法及装置,解决了现有技术中雷电网络中三方转账的过程较为繁琐的问题。
第一方面,本发明提供一种三方转账方法,包括:针对三个参与方共享的三方支付通道的生命周期内任一次转账,第一参与方将第一转账数据发送至第二参与方和第三参与方;所述第一转账数据包括:第一余额信息、第一转账序列号和第一签名;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;所述第一参与方为本次转账的转账方;所述第一参与方若接收到第二转账数据和第三转账数据,则确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账;所述第二转账数据是所述第二参与方在验证了所述第一转账数据通过后得到的;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;所述第三转账数据是所述第三参与方在验证了所述第一转账数据和所述第二转账数据通过后得到的;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名。
上述方式下,三个参与方只需要建立一个三方支付通道,针对三方支付通道的生命周期内任一次转账,第一参与方将第一转账数据发送至第二参与方和第三参与方后,只要能接收到第二转账数据和第三转账数据,便能知悉所述第二参与方验证了所述第一转账数据通过,以及知悉所述第三参与方验证了所述第一转账数据和所述第二转账数据通过,同样能防止某一方作恶,从而可以确定所述第二参与方和所述第三参与方均认同了所述第一余额信息和所述第一转账序列号,即所述第一余额信息和所述第一转账序列号生效,在上述三方转账的过程中,仅涉及到简单的签名和验签过程,并不需要复杂的计算逻辑,且只需要一个三方支付通道,所以上述三方支付过程更加简洁。
可选的,所述生命周期内的第一次转账之前,所述三个参与方的各参与方均在区块链中写入了初始金额;所述第一参与方按照以下方式将所述第一参与方的初始金额写入所述区块链:所述第一参与方根据所述三方支付通道和所述第一参与方的初始金额,调用所述区块链的第一智能合约;所述第一智能合约用于将所述第一参与方的初始金额绑定于所述三方支付通道,从而将所述三方支付通道中所述第一参与方的初始金额写入所述区块链。
上述方法中,所述生命周期内的第一次转账之前,所述三个参与方的各参与方均在区块链中写入了初始金额,从而所述三个参与方的初始金额不会被篡改,另外所述第一参与方根据所述三方支付通道和所述第一参与方的初始金额,调用所述区块链的第一智能合约,从而将所述第一参与方的初始金额绑定于所述三方支付通道,建立了三方支付通道和所述第一参与方的初始金额的联系。
可选的,所述三方支付通道是将所述三个参与方的账户地址和所述生命周期的预设超期时刻传入区块链的第二智能合约,根据所述第二智能合约中的预设函数生成的。
上述方法中,所述三方支付通道是将所述三个参与方的账户地址和所述生命周期的预设超期时刻传入区块链的第二智能合约生成的,从而难以破解出三方支付通道,增加了三方支付通道的安全性。
可选的,当所述第一参与方为所述三方支付通道的关闭方时,所述第一参与方将第四转账数据传入区块链的第三智能合约,并进入第一挑战期;所述第四转账数据包括:第二余额信息、第二转账序列号和第四签名;所述第二余额信息为所述第一参与方声明的结算余额信息;所述第二转账序列号为所述第一参与方声明的结算转账序列号;若在所述第一挑战期结束时,所述第一参与方确定所述第三智能合约中记录的所述第二余额信息未被更新,则所述第一参与方确定所述第二余额信息已在所述区块链中生效,且所述生命周期结束;所述第一参与方从所述区块链获取所述第一参与方在所述第二余额信息中相应结算金额的资产。
上述方式下,所述第一参与方将第四转账数据传入区块链的第三智能合约,并进入第一挑战期,并在所述第一挑战期结束所述第二余额信息未被更新时,确定所述第二余额信息已在所述区块链中生效,从而通过挑战期的方式给予各参与方对所述第二余额信息更新的机会,并获取所述第一参与方在所述第二余额信息中相应结算金额的资产,增加了所述第一参与方对余额结算的正确性。
可选的,若在所述第一挑战期内,所述第一参与方确定所述第三智能合约中记录的所述第二余额信息被更新为第三余额信息,则所述第一参与方确定所述第一挑战期更新为第二挑战期;所述第三余额信息为所述第二参与方或所述第三参与方声明的结算余额信息;若在所述第二挑战期结束时,所述第一参与方确定所述第三智能合约中记录的所述第三余额信息未被更新,则所述第一参与方确定所述第三余额信息已在所述区块链中生效,且所述生命周期结束;所述第一参与方从所述区块链获取所述第一参与方在所述第三余额信息中相应结算金额的资产。
上述方式下,若在所述第一挑战期内,所述第一参与方确定所述第三智能合约中记录的所述第二余额信息被更新为第三余额信息,说明所述第二参与方或所述第三参与方并未认同第二余额信息,并开启新的第二挑战期,从而增加了转账结算时的灵活性。
可选的,当所述第二参与方或所述第三参与方为所述三方支付通道的关闭方时,所述第一参与方为非关闭方,在第三挑战期内,所述第一参与方获取区块链的第三智能合约中记录的第三余额信息;所述第三余额信息为所述第二参与方或所述第三参与方声明的结算余额信息;所述第三转账序列号为所述第二参与方或所述第三参与方声明的结算转账序列号;所述第一参与方若不认同所述第三余额信息和\或所述第三转账序列号,则在所述第三挑战期内,所述第一参与方将第四转账数据传入所述第三智能合约;所述第四转账数据包括:第二余额信息、第二转账序列号和第四签名;所述第二余额信息为所述第一参与方声明的结算余额信息;所述第二转账序列号为所述第一参与方声明的结算转账序列号;所述第三智能合约用于在所述第四转账数据验证通过后,且所述第二转账序列号和所述第三转账序列号满足预设关系时,将所述第三智能合约中记录的所述第三余额信息更新为所述第二余额信息,以及将所述第三智能合约中记录的所述第三转账序列号更新为所述第二转账序列号,并进入第四挑战期。
上述方式下,当所述第二参与方或所述第三参与方为所述三方支付通道的关闭方时,所述第一参与方为非关闭方,所述第一参与方若不认同所述第三余额信息和\或所述第三转账序列号,则在所述第三挑战期内,所述第一参与方将第四转账数据传入所述第三智能合约,所述第二转账序列号和所述第三转账序列号满足预设关系时,可以将所述第三智能合约中记录的所述第三余额信息更新为所述第二余额信息,从而提供给了所述第一参与方申诉更新的机会,提高了三方支付结算的纠错能力。
第二方面,本发明提供一种三方转账方法,包括:针对三个参与方共享的三方支付通道的生命周期内任一次转账,第二参与方获取来自第一参与方的第一转账数据;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;所述第二参与方为本次转账的接收方;所述第二参与方对所述第一转账数据验证通过后,对所述第一余额表和所述第一转账序列号签名,得到第二转账数据;所述第二参与方将所述第二转账数据发送至所述第一参与方和所述第三参与方;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;若所述第二参与方接收到第三转账数据,则确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账;所述第三转账数据是所述第三参与方在验证了所述第一转账数据和所述第二转账数据通过后得到的;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名。
第三方面,本发明提供一种三方转账方法,包括:针对三个参与方共享的三方支付通道的生命周期内任一次转账,第三参与方获取来自第一参与方的第一转账数据和第二参与方的第二转账数据;所述第一转账数据包括:第一余额信息、第一转账序列号和第一签名;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;所述第二转账数据是所述第二参与方在验证了所述第一转账数据通过后得到的;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;所述第三参与方对所述第一转账数据和所述第二转账数据验证通过后,对所述第一余额信息和所述第一转账序列号签名,得到第三转账数据;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名;所述第三参与方将所述第三转账数据发送至所述第一参与方和所述第二参与方,并确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账。
第四方面,本发明提供一种三方转账装置,包括:数据传输模块,用于针对三个参与方共享的三方支付通道的生命周期内任一次转账,将第一转账数据发送至第二参与方和第三参与方;所述第一转账数据包括:第一余额信息、第一转账序列号和第一签名;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;第一参与方为本次转账的转账方;处理模块,用于若所述数据传输模块接收到第二转账数据和第三转账数据,则确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账;所述第二转账数据是所述第二参与方在验证了所述第一转账数据通过后得到的;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;所述第三转账数据是所述第三参与方在验证了所述第一转账数据和所述第二转账数据通过后得到的;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名。
其中,三个参与方包括第一参与方、第二参与方和第三参与方。
可选的,所述生命周期内的第一次转账之前,所述三个参与方的各参与方均在区块链中写入了初始金额;所述处理模块还用于:根据所述三方支付通道和第一参与方的初始金额,调用所述区块链的第一智能合约;所述第一智能合约用于将所述第一参与方的初始金额绑定于所述三方支付通道,从而将所述三方支付通道中所述第一参与方的初始金额写入所述区块链。
可选的,所述三方支付通道是将所述三个参与方的账户地址和所述生命周期的预设超期时刻传入区块链的第二智能合约,根据所述第二智能合约中的预设函数生成的。
可选的,所述处理模块还用于:当第一参与方为所述三方支付通道的关闭方时,将第四转账数据传入区块链的第三智能合约,并进入第一挑战期;所述第四转账数据包括:第二余额信息、第二转账序列号和第四签名;所述第二余额信息为所述第一参与方声明的结算余额信息;所述第二转账序列号为所述第一参与方声明的结算转账序列号;若在所述第一挑战期结束时,确定所述第三智能合约中记录的所述第二余额信息未被更新,则确定所述第二余额信息已在所述区块链中生效,且所述生命周期结束;所述数据传输模块还用于:从所述区块链获取所述第一参与方在所述第二余额信息中相应结算金额的资产。
可选的,所述处理模块还用于:若在所述第一挑战期内,确定所述第三智能合约中记录的所述第二余额信息被更新为第三余额信息,则确定所述第一挑战期更新为第二挑战期;所述第三余额信息为所述第二参与方或所述第三参与方声明的结算余额信息;若在所述第二挑战期结束时,确定所述第三智能合约中记录的所述第三余额信息未被更新,确定所述第三余额信息已在所述区块链中生效,且所述生命周期结束;从所述区块链获取所述第一参与方在所述第三余额信息中相应结算金额的资产。
可选的,当所述第二参与方或所述第三参与方为所述三方支付通道的关闭方时,第一参与方为非关闭方,所述数据传输模块还用于:在第三挑战期内,获取区块链的第三智能合约中记录的第三余额信息;所述第三余额信息为所述第二参与方或所述第三参与方声明的结算余额信息;所述第三转账序列号为所述第二参与方或所述第三参与方声明的结算转账序列号;所述处理模块还用于:若不认同所述第三余额信息和\或所述第三转账序列号,则在所述第三挑战期内,将第四转账数据传入所述第三智能合约;所述第四转账数据包括:第二余额信息、第二转账序列号和第四签名;所述第二余额信息为所述第一参与方声明的结算余额信息;所述第二转账序列号为所述第一参与方声明的结算转账序列号;所述第三智能合约用于在所述第四转账数据验证通过后,且所述第二转账序列号和所述第三转账序列号满足预设关系时,将所述第三智能合约中记录的所述第三余额信息更新为所述第二余额信息,以及将所述第三智能合约中记录的所述第三转账序列号更新为所述第二转账序列号,并进入第四挑战期。
上述第四方面及第四方面各个可选装置的有益效果,可以参考上述第一方面及第一方面各个可选方法的有益效果,这里不再赘述。
第五方面,本发明提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面或第二方面或第三方面及各个可选的方法。
第六方面,本发明提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面或第二方面或第三方面及各个可选的方法。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为区块链的结构示意图;
图2为本发明实施例提供的一种三方转账方法的流程示意图;
图3为本发明实施例提供的一种三方转账装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面首先解释本申请实施例中出现的名词。
区块链:如图1所示,区块链是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的哈希(Hash)值,通过这种方式组成一条链。区块链的核心理念有两个,一个是密码学技术,另一个是去中心化思想,基于这两个理念做到区块链上的历史信息无法被篡改。
节点:网络中的每一个参与者就是一个节点,节点参与网络组建和数据交换。在区块链网络中,一个节点是指一个具有唯一身份的参与者,该节点具有一份完整的账本拷贝,具有参与区块链网络共识和账本维护的能力。
智能合约:智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约具体形式为部署在区块链上,完成特定功能的代码。举例来说,Solidity是一种主流的智能合约编程语言,用Solidity语言编写的智能合约,叫Solidity合约。当智能合约被部署到区块链上时,会产生合约地址,用户可通过合约地址调用此智能合约。智能合约中定义的函数,称为合约接口,对智能合约的调用,就是通过合约地址调用合约中的某个合约接口。
哈希算法:一个将数字消息映射到长度固定的字符串(又称消息摘要,哈希值,指纹)的算法。若输入的消息不同,映射到相同字符串的机率可以忽略。若已知哈希值,计算其原始的数字消息不可行。
状态通道:是指在链外状态变化的虚拟通道(channel)。
支付通道:支付通道是状态通道的特例,指双方交易的无信任机制。中间的承诺交易都是链下(offchain)的,只有后面的结算交易最终上链,从而达到提高交易的吞吐量、低延迟和精细粒度的效果。
公钥:公钥指公钥密码学中的公开密钥参数,需要公布。用于加密和验证签名。区块链账户体系下,公钥对应一个账户地址。
私钥:私钥指公钥密码学中的私有密钥参数,需要妥善保护。用于解密和进行签名。区块链账户体系下,私钥控制着账户的所有权和使用权。
地址:地址是账户的标识。对于外部账户来说,地址表示的是该账户公钥的后20字节(通常会以0x开头,例如,0xcd2a3d9f938e13cd947ec05abc7f e734df8dd826,该地址使用的是16进制表示法)。
在金融机构(银行机构、保险机构或证券机构)在进行业务(如银行的贷款业务、存款业务等)运转过程中,基于区块链的不可篡改性,金融科技领域中常通过区块链进行交易。然而,随着交易量的不断增加,串行执行交易会导致大量交易长期排队,或者可能因为交易与交易之间的共享变量存在冲突导致交易错误,重试或排查错误更会增加完成交易的时长。目前区块链节点的性能,越来越不能支撑起庞大的交易量。这种情况不符合银行等金融机构的需求,无法保证金融机构各项业务的高效运转。为此,如图2所示,本发明实施例提供一种三方转账方法。
步骤201:针对三个参与方共享的三方支付通道的生命周期内任一次转账,第一参与方将第一转账数据发送至第二参与方和第三参与方。
步骤202:所述第一参与方若接收到第二转账数据和第三转账数据,则确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账。
其中,所述第一转账数据包括:第一余额信息、第一转账序列号和第一签名;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;所述第一参与方为本次转账的转账方;所述第二参与方为本次转账的接收方;所述第二转账数据是所述第二参与方在验证了所述第一转账数据通过后得到的;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;所述第三转账数据是所述第三参与方在验证了所述第一转账数据和所述第二转账数据通过后得到的;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名。
需要说明的是,上述三个参与方中转账方和接收方角色是可能发生转换的。举例来说,对于A、B和C三个参与方,对于不同次的转账,A、B和C的角色也能不同,以A来说,A可以在生命周期内的第一次转账为转账方(第一参与方),A可以在生命周期内的第二次转账为接收方(第二参与方),A可以在生命周期内的第三次转账为第三参与方。
需要说明的是,所述生命周期内的第一次转账之前,所述三个参与方的各参与方均在区块链中写入了初始金额,直至所述生命周期内的最后一次转账,所述三个参与方才在区块链中写入结算金额。
一种可选实施方式中,所述第一参与方按照以下方式将所述第一参与方的初始金额写入所述区块链:
所述第一参与方根据所述三方支付通道和所述第一参与方的初始金额,调用所述区块链的第一智能合约;所述第一智能合约用于将所述第一参与方的初始金额绑定于所述三方支付通道,从而将所述三方支付通道中所述第一参与方的初始金额写入所述区块链。
举例来说,三个参与方的初始金额均为100,那么所述第一参与方可以将100和所述三方支付通道作为所述第一智能合约的传入参数,从而将所述第一参与方的初始金额绑定于所述三方支付通道,并上链;第二参与方、第三参与方也可以参照上述过程,将相应的初始金额绑定于所述三方支付通道。
需要说明的是,还可以通过三个参与方之外的执行者根据所述三方支付通道和所述第一参与方的初始金额,调用所述区块链的第一智能合约,将三个参与方的初始金额均写入所述区块链。所述第一智能合约中,具体的传入参数也不做限制,可供三个参与方的初始金额一同写入,也可以供某一个参与方的初始金额依次写入。
一种可选实施方式中,所述三方支付通道是将所述三个参与方的账户地址和所述生命周期的预设超期时刻传入区块链的第二智能合约,根据所述第二智能合约中的预设函数生成的。
举例来说,所述三方支付通道具体的形式可以为一个支付通道标识,作为生命周期内转账过程中的一个传入参数,从而将每次转账都绑定于三方支付通道,从而记录生命周期内的每次转账过程。所述生命周期可以设置预设超期时刻,用于指示所述生命周期内的每次转账过程的有效性。
举例来说,所述三个参与方的账户地址可以为Adr1、Adr2和Adr3,预设超期时刻为TimeOut,所述第二智能合约中的预设函数为哈希函数Hash,那么所述三方支付通道可以为Hash(Adr1,Adr2,Adr3,TimeOut)。
需要说明的是,所述三方支付通道在所述生命周期结束之前,如果某一方希望提前退出,也可以作为所述三方支付通道的关闭方,发起关闭请求。
一种可选实施方式中,当所述第一参与方为所述三方支付通道的关闭方时,所述第一参与方将第四转账数据传入区块链的第三智能合约,并进入第一挑战期;若在所述第一挑战期结束时,所述第一参与方确定所述第三智能合约中记录的所述第二余额信息未被更新,则所述第一参与方确定所述第二余额信息已在所述区块链中生效,且所述生命周期结束;所述第一参与方从所述区块链获取所述第一参与方在所述第二余额信息中相应结算金额的资产。
所述第四转账数据包括:第二余额信息、第二转账序列号和第四签名;所述第二余额信息为所述第一参与方声明的结算余额信息;所述第二转账序列号为所述第一参与方声明的结算转账序列号。
举例来说,第一挑战期为T1,T1是第二参与方和第三参与方可以对所述第二余额信息进行更新的时间段,如果不认同,可以T1内,在满足一定条件下对所述第二余额信息进行更新。如果T1内所述第三智能合约中记录的所述第二余额信息未被更新,说明第二参与方和第三参与方认同了所述第二余额信息,那么T1结束时,所述第一参与方也确定所述第二余额信息已在所述区块链中生效。
在另一种可能的情形中,第二参与方和第三参与方也可能不认同所述第二余额信息,具体情形如下:
若在所述第一挑战期内,所述第一参与方确定所述第三智能合约中记录的所述第二余额信息被更新为第三余额信息,则所述第一参与方确定所述第一挑战期更新为第二挑战期;若在所述第二挑战期结束时,所述第一参与方确定所述第三智能合约中记录的所述第三余额信息未被更新,则所述第一参与方确定所述第三余额信息已在所述区块链中生效,且所述生命周期结束;所述第一参与方从所述区块链获取所述第一参与方在所述第三余额信息中相应结算金额的资产。
所述第三余额信息为所述第二参与方或所述第三参与方声明的结算余额信息。
举例来说,在T1内,所述第一参与方确定所述第三智能合约中记录的所述第二余额信息被更新为第三余额信息,所述第一参与方就确定T1更新为第二挑战期T2,那么T2也是所述第一参与方可以对第三余额信息的时期,如果T2第三余额信息继续更新,挑战期便再更新,如此反复循环,直至某一个挑战期三个参与方对该挑战期的余额信息全部认同。
一种可选实施方式中,当所述第二参与方或所述第三参与方为所述三方支付通道的关闭方时,所述第一参与方为非关闭方,在第三挑战期内,所述第一参与方获取区块链的第三智能合约中记录的第三余额信息;所述第一参与方若不认同所述第三余额信息和\或所述第三转账序列号,则在所述第三挑战期内,所述第一参与方将第四转账数据传入所述第三智能合约。
所述第三余额信息为所述第二参与方或所述第三参与方声明的结算余额信息;所述第三转账序列号为所述第二参与方或所述第三参与方声明的结算转账序列号;所述第四转账数据包括:第二余额信息、第二转账序列号和第四签名;所述第二余额信息为所述第一参与方声明的结算余额信息;所述第二转账序列号为所述第一参与方声明的结算转账序列号;所述第三智能合约用于在所述第四转账数据验证通过后,且所述第二转账序列号和所述第三转账序列号满足预设关系时,将所述第三智能合约中记录的所述第三余额信息更新为所述第二余额信息,以及将所述第三智能合约中记录的所述第三转账序列号更新为所述第二转账序列号,并进入第四挑战期。
举例来说,当所述第二参与方或所述第三参与方为所述三方支付通道的关闭方时,所述第一参与方为非关闭方,那么在第三挑战期T3内,所述第一参与方可以获取第三余额信息,在不认同的情况下,可以在T3内将第四转账数据传入所述第三智能合约,从而在所述第二转账序列号和所述第三转账序列号满足预设关系时,将所述第三智能合约中记录的所述第三余额信息更新为所述第二余额信息。举例来说,转账序列号是按转账次数依次递增的,那么当所述第二转账序列号大于所述第三转账序列号时,说明所述第二转账序列号是后生成的,所述第四转账数据验证通过后,证明所述第二转账序列号对应的那一笔转账是三个参与方曾经都认同的,那么说明所述第三转账序列号对应的金额并不是最终一次的结算金额,便将所述第三余额信息更新为所述第二余额信息。
图2示出的方法中设计了一种三方参与的三方支付通道的转账方案,通过设计新的交互流程和支付通道合约。使得三方转账场景可以不采用传统雷电网络的技术进行多通道转账,减少了链下交互过程,方案实现更为简便和易操作。而且,本方案无需中间方协助传递转账,所以不用像传统雷电网络的技术一样需要中间传递方质押双份资产,整个过程无需收任何手续费,也降低了支付通道的转账成本。
需要说明的是,图2示出的流程对于第二参与方和第三参与方也有类似的流程,具体来说,第二参与方的流程如下:
针对三个参与方共享的三方支付通道的生命周期内任一次转账,第二参与方获取来自第一参与方的第一转账数据;所述第二参与方对所述第一转账数据验证通过后,对所述第一余额表和所述第一转账序列号签名,得到第二转账数据;所述第二参与方将所述第二转账数据发送至所述第一参与方和所述第三参与方;若所述第二参与方接收到第三转账数据,则确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账。
所述第一转账数据包括:第一余额信息、第一转账序列号和第一签名;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;所述第二参与方为本次转账的接收方;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;所述第三转账数据是所述第三参与方在验证了所述第一转账数据和所述第二转账数据通过后得到的;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名。
具体来说,第三参与方的流程如下:
针对三个参与方共享的三方支付通道的生命周期内任一次转账,第三参与方获取来自第一参与方的第一转账数据和第二参与方的第二转账数据;所述第三参与方对所述第一转账数据和所述第二转账数据验证通过后,对所述第一余额信息和所述第一转账序列号签名,得到第三转账数据;所述第三参与方将所述第三转账数据发送至所述第一参与方和所述第二参与方,并确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账。
所述第一转账数据包括:第一余额信息、第一转账序列号和第一签名;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;所述第二转账数据是所述第二参与方在验证了所述第一转账数据通过后得到的;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名。
下面结合更具体的实施例,详细说明图2示出的流程。
A,B,C三方如果要进行支付通道转账,无需每两个搭建通道,可以通过智能合约实现一个能够容纳三个参与方的三方支付通道。
具体步骤如下:
(1)开启通道:
A,B,C三方通过协商建立状态通道。具体来说,可以授权任意一方调用已部署的支付通道智能合约的openChannel(开启通道)函数。
开启通道只需传入A,B,C三方的账户地址和预设超期时刻或者预设超期时长,openChannel函数会根据传入的三个地址计算哈希值,计算出全局唯一的三方支付通道的支付通道标识channeId,并设置通道的预设超期时刻,将通道状态置为open。此时三方支付通道建立成功。A,B,C三方均已获取了三方支付通道的channeId。
(2)存入质押资产:
A,B,C获取了通道channeId后,分别调用setTotalDeposit(存入资产)函数将A,B,C的初始金额,存入链上资产到智能合约。
setTotalDeposit函数会校验三方支付通道的通道状态和预设超期时刻,如果通过,则记录A,B,C的初始金额。至此,A,B,C均在三方支付通道存入了资产。下面开启链下转账,注意此时的转账都是链下执行,无须跟区块链交互。
(3)开始链下转账:
举例来说,假设A,B,C三个参与方均存入资产金额100。现在A要给B转账20。三方支付通道链下支付流程如下:
步骤a):A需要对第一余额信息即(A:80,B:120,C:100)以及转账序列号nonce(此时为1,转账序列号可以标识第几次转账,每次转账自动加1)进行签名,得到第一签名,签名算法可以采用ECDSA。
步骤b):A将签名后的第一转账数据通过客户端线下发送给B和C。
步骤c):B对A的签名进行验签,检查A发送的余额信息,确认后对第一余额信息即(A:80,B:120,C:100)以及转账序列号(此时为1)进行签名,然后发送给A和C。
步骤d):C收到了A和B的余额信息和转账序列号的签名,分别检验A(第一签名)和B的签名(第二签名),确认后比对两方的余额表和转账序列号是否一致。一致对余额表和转账序列号进行签名,得到第三签名,并将A,B和自己的签名(第一签名、第二签名)以及转账序列号保存本地。然后将第三签名发送给A和B。
步骤e):A收到C和B的签名后,知道了B和C也认可的此笔交易。则保存B和C的签名。
步骤f):B也收到了A和C的签名,知道A和C认可了此笔交易,则保存A和C的签名。
至此,本次链下转账成功。这样每个人都有最新的余额表和转账序列号,此次转账结束。如果中间哪一步验签出错,可以沟通让对方重发,或者直接进入步骤4)关闭支付通道。
4)关闭支付通道:
经过步骤3)多次链下转账后,三个参与方中任意一参与方想退出三方支付通道,取回三方支付通道里的资产。则进入关闭三方支付通道的流程。注意此时需要跟链上智能合约交互。
举例来说,若多次转账后,最新余额表为A:50B:50C:200。转账序列号为10。
以A作为关闭方为例,A调用closeChannel函数关闭三方支付通道。须传入通道channeId和三方对最新的余额表和转账序列号的原文和签名。签名即对最新余额表为A:50B:50C:200。转账序列号为10的签名。
closeChannel函数逻辑如下:
智能合约将A置为关闭方,B和C则为非关闭方;智能合约会校验A和其他两个非关闭方(B,C)的签名是否正确。不正确则需重新提交。智能合约检验A上传的A,B,C三方的签名通过后,记录下A提交的转账余额表(A:50B:50C:200)和序列号10。
将三方支付通道的通道状态置为关闭close。
A成功调用closeChannel函数后此时三方支付通道进入挑战期。A等待B和C校验自己提交的余额信息和转账序列号nonce是否正确。
5)非关闭方更新余额表(挑战期内):
B和C若执行A发起关闭通道的交易,则也去查询三方支付通道的通道状态,检查A传入的余额信息和转账序列号nonce是否正确,如果正确直接跳到步骤6。
如果A传入的余额信息和转账序列号有问题,比如A只是传入了第9次的余额信息,为(A:100B:0C:200),转账序列号为9。显然此次转账结果对A有利。则B和C需要调用合约的updateNonClosingBalanceProof函数更新通道记录的余额信息和转账序列号,防止A作恶。
updateNonClosingBalanceProof跟closeChannel功能类似。B将手中的余额信息和转账序列号的原文以及B中存放的三个参与方的签名传入updateNonClosingBalanceProof函数。updateNonClosingBalanceProof函数会校验调用方传入的签名是否正确,并且检验传入的转账序列号是否大于关闭方(A)传入的转账序列号。如果大于则支付通道合约将更新记录的余额信息和转账序列号。
在这种设计下,保证了就算A作恶,拿之前对A有利的三方签名去更改链上余额,B和C也有能力纠正这种情况。
6通道结算:
B和C检查余额后,等待挑战期结束,A调用settleChannel函数结算三方支付通道里的资产。支付通道合约会按记录的余额信息自动将之前质押的资产转给A,B,C。并将通道状态置未关闭。至此三方支付通道生命周期结束。
显然,上述步骤(1)~步骤(6)的流程下,三方支付通道的转账流程跟传统两方转账通道不同点在于,传统两方转账仅需要发起方进行余额签名然后发送给接收方即可,三方通道链下流程要求每次转账方和接收方都需要对余额信息进行签名,并且均发送给第三参与方。这样的流程确保了每个角色都有另外两方的余额签名,这样防止了任意一方作恶。由于A,B,C三个参与方之间在同一个三方支付通道里,所以A给C转账也可以直接进行,通过上述方式,相对雷电网络实现中继转账的流程更加简单。
如图3所示,本发明提供一种三方转账装置,包括:数据传输模块301,用于针对三个参与方共享的三方支付通道的生命周期内任一次转账,将第一转账数据发送至第二参与方和第三参与方;所述第一转账数据包括:第一余额信息、第一转账序列号和第一签名;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;第一参与方为本次转账的转账方;处理模块302,用于若所述数据传输模块301接收到第二转账数据和第三转账数据,则确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账;所述第二转账数据是所述第二参与方在验证了所述第一转账数据通过后得到的;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;所述第三转账数据是所述第三参与方在验证了所述第一转账数据和所述第二转账数据通过后得到的;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名。
其中,三个参与方包括第一参与方、第二参与方和第三参与方。
可选的,所述生命周期内的第一次转账之前,所述三个参与方的各参与方均在区块链中写入了初始金额;所述处理模块302还用于:根据所述三方支付通道和第一参与方的初始金额,调用所述区块链的第一智能合约;所述第一智能合约用于将所述第一参与方的初始金额绑定于所述三方支付通道,从而将所述三方支付通道中所述第一参与方的初始金额写入所述区块链。
可选的,所述三方支付通道是将所述三个参与方的账户地址和所述生命周期的预设超期时刻传入区块链的第二智能合约,根据所述第二智能合约中的预设函数生成的。
可选的,所述处理模块302还用于:当第一参与方为所述三方支付通道的关闭方时,将第四转账数据传入区块链的第三智能合约,并进入第一挑战期;所述第四转账数据包括:第二余额信息、第二转账序列号和第四签名;所述第二余额信息为所述第一参与方声明的结算余额信息;所述第二转账序列号为所述第一参与方声明的结算转账序列号;若在所述第一挑战期结束时,确定所述第三智能合约中记录的所述第二余额信息未被更新,则确定所述第二余额信息已在所述区块链中生效,且所述生命周期结束;所述数据传输模块301还用于:从所述区块链获取所述第一参与方在所述第二余额信息中相应结算金额的资产。
可选的,所述处理模块302还用于:若在所述第一挑战期内,确定所述第三智能合约中记录的所述第二余额信息被更新为第三余额信息,则确定所述第一挑战期更新为第二挑战期;所述第三余额信息为所述第二参与方或所述第三参与方声明的结算余额信息;若在所述第二挑战期结束时,确定所述第三智能合约中记录的所述第三余额信息未被更新,确定所述第三余额信息已在所述区块链中生效,且所述生命周期结束;从所述区块链获取所述第一参与方在所述第三余额信息中相应结算金额的资产。
可选的,当所述第二参与方或所述第三参与方为所述三方支付通道的关闭方时,第一参与方为非关闭方,所述数据传输模块301还用于:在第三挑战期内,获取区块链的第三智能合约中记录的第三余额信息;所述第三余额信息为所述第二参与方或所述第三参与方声明的结算余额信息;所述第三转账序列号为所述第二参与方或所述第三参与方声明的结算转账序列号;所述处理模块302还用于:若不认同所述第三余额信息和\或所述第三转账序列号,则在所述第三挑战期内,将第四转账数据传入所述第三智能合约;所述第四转账数据包括:第二余额信息、第二转账序列号和第四签名;所述第二余额信息为所述第一参与方声明的结算余额信息;所述第二转账序列号为所述第一参与方声明的结算转账序列号;所述第三智能合约用于在所述第四转账数据验证通过后,且所述第二转账序列号和所述第三转账序列号满足预设关系时,将所述第三智能合约中记录的所述第三余额信息更新为所述第二余额信息,以及将所述第三智能合约中记录的所述第三转账序列号更新为所述第二转账序列号,并进入第四挑战期。
基于同一发明构思,本发明实施例还提供了一种计算机设备,包括程序或指令,当所述程序或指令被执行时,如本发明实施例提供的三方转账方法及任一可选方法被执行。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,包括程序或指令,当所述程序或指令被执行时,如本发明实施例提供的三方转账方法及任一可选方法被执行。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种三方转账方法,其特征在于,包括:
针对三个参与方共享的三方支付通道的生命周期内任一次转账,第一参与方将第一转账数据发送至第二参与方和第三参与方;所述第一转账数据包括:第一余额信息、第一转账序列号和第一签名;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;所述第一参与方为本次转账的转账方;
所述第一参与方若接收到第二转账数据和第三转账数据,则确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账;所述第二转账数据是所述第二参与方在验证了所述第一转账数据通过后得到的;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;所述第三转账数据是所述第三参与方在验证了所述第一转账数据和所述第二转账数据通过后得到的;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名。
2.如权利要求1所述的方法,其特征在于,所述生命周期内的第一次转账之前,所述三个参与方的各参与方均在区块链中写入了初始金额;所述第一参与方按照以下方式将所述第一参与方的初始金额写入所述区块链:
所述第一参与方根据所述三方支付通道和所述第一参与方的初始金额,调用所述区块链的第一智能合约;所述第一智能合约用于将所述第一参与方的初始金额绑定于所述三方支付通道,从而将所述三方支付通道中所述第一参与方的初始金额写入所述区块链。
3.如权利要求1所述的方法,其特征在于,所述三方支付通道是将所述三个参与方的账户地址和所述生命周期的预设超期时刻传入区块链的第二智能合约,根据所述第二智能合约中的预设函数生成的。
4.如权利要求1至3任一项所述的方法,其特征在于,还包括:
当所述第一参与方为所述三方支付通道的关闭方时,所述第一参与方将第四转账数据传入区块链的第三智能合约,并进入第一挑战期;所述第四转账数据包括:第二余额信息、第二转账序列号和第四签名;所述第二余额信息为所述第一参与方声明的结算余额信息;所述第二转账序列号为所述第一参与方声明的结算转账序列号;
若在所述第一挑战期结束时,所述第一参与方确定所述第三智能合约中记录的所述第二余额信息未被更新,则所述第一参与方确定所述第二余额信息已在所述区块链中生效,且所述生命周期结束;
所述第一参与方从所述区块链获取所述第一参与方在所述第二余额信息中相应结算金额的资产。
5.如权利要求4所述的方法,其特征在于,还包括:
若在所述第一挑战期内,所述第一参与方确定所述第三智能合约中记录的所述第二余额信息被更新为第三余额信息,则所述第一参与方确定所述第一挑战期更新为第二挑战期;所述第三余额信息为所述第二参与方或所述第三参与方声明的结算余额信息;
若在所述第二挑战期结束时,所述第一参与方确定所述第三智能合约中记录的所述第三余额信息未被更新,则所述第一参与方确定所述第三余额信息已在所述区块链中生效,且所述生命周期结束;
所述第一参与方从所述区块链获取所述第一参与方在所述第三余额信息中相应结算金额的资产。
6.如权利要求1至3任一项所述的方法,其特征在于,还包括:
当所述第二参与方或所述第三参与方为所述三方支付通道的关闭方时,所述第一参与方为非关闭方,在第三挑战期内,所述第一参与方获取区块链的第三智能合约中记录的第三余额信息;所述第三余额信息为所述第二参与方或所述第三参与方声明的结算余额信息;所述第三转账序列号为所述第二参与方或所述第三参与方声明的结算转账序列号;
所述第一参与方若不认同所述第三余额信息和\或所述第三转账序列号,则在所述第三挑战期内,所述第一参与方将第四转账数据传入所述第三智能合约;所述第四转账数据包括:第二余额信息、第二转账序列号和第四签名;所述第二余额信息为所述第一参与方声明的结算余额信息;所述第二转账序列号为所述第一参与方声明的结算转账序列号;所述第三智能合约用于在所述第四转账数据验证通过后,且所述第二转账序列号和所述第三转账序列号满足预设关系时,将所述第三智能合约中记录的所述第三余额信息更新为所述第二余额信息,以及将所述第三智能合约中记录的所述第三转账序列号更新为所述第二转账序列号,并进入第四挑战期。
7.一种三方转账方法,其特征在于,包括:
针对三个参与方共享的三方支付通道的生命周期内任一次转账,第二参与方获取来自第一参与方的第一转账数据;所述第一转账数据包括:第一余额信息、第一转账序列号和第一签名;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;所述第二参与方为本次转账的接收方;
所述第二参与方对所述第一转账数据验证通过后,对所述第一余额表和所述第一转账序列号签名,得到第二转账数据;所述第二参与方将所述第二转账数据发送至所述第一参与方和所述第三参与方;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;
若所述第二参与方接收到第三转账数据,则确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账;所述第三转账数据是所述第三参与方在验证了所述第一转账数据和所述第二转账数据通过后得到的;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名。
8.一种三方转账方法,其特征在于,包括:
针对三个参与方共享的三方支付通道的生命周期内任一次转账,第三参与方获取来自第一参与方的第一转账数据和第二参与方的第二转账数据;所述第一转账数据包括:第一余额信息、第一转账序列号和第一签名;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;所述第二转账数据是所述第二参与方在验证了所述第一转账数据通过后得到的;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;
所述第三参与方对所述第一转账数据和所述第二转账数据验证通过后,对所述第一余额信息和所述第一转账序列号签名,得到第三转账数据;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名;
所述第三参与方将所述第三转账数据发送至所述第一参与方和所述第二参与方,并确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账。
9.一种三方转账装置,其特征在于,包括:
数据传输模块,用于针对三个参与方共享的三方支付通道的生命周期内任一次转账,将第一转账数据发送至第二参与方和第三参与方;所述第一转账数据包括:第一余额信息、第一转账序列号和第一签名;所述第一余额信息包括所述三个参与方中各参与方在本次转账后的预期余额;所述第一参与方为本次转账的转账方;
处理模块,用于若接收到第二转账数据和第三转账数据,则确定所述第一余额信息和所述第一转账序列号生效,从而完成本次转账;所述第二转账数据是所述第二参与方在验证了所述第一转账数据通过后得到的;所述第二转账数据包括:所述第一余额信息、所述第一转账序列号和第二签名;所述第三转账数据是所述第三参与方在验证了所述第一转账数据和所述第二转账数据通过后得到的;所述第三转账数据包括:所述第一余额信息、所述第一转账序列号和第三签名。
10.一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至6或7或8中任意一项所述的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011010339.1A CN112053144A (zh) | 2020-09-23 | 2020-09-23 | 一种三方转账方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011010339.1A CN112053144A (zh) | 2020-09-23 | 2020-09-23 | 一种三方转账方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112053144A true CN112053144A (zh) | 2020-12-08 |
Family
ID=73604399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011010339.1A Pending CN112053144A (zh) | 2020-09-23 | 2020-09-23 | 一种三方转账方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112053144A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330787A (zh) * | 2017-05-24 | 2017-11-07 | 智牛股权投资基金(平潭)合伙企业(有限合伙) | 一种高效安全的区块链链下高频交易支付方法、系统 |
CN108764872A (zh) * | 2018-06-01 | 2018-11-06 | 杭州复杂美科技有限公司 | 一种授权支付方法及系统、设备和存储介质 |
CN110751468A (zh) * | 2019-09-24 | 2020-02-04 | 上海交通大学 | 用于区块链扩展的多向状态通道方法、系统及介质 |
CN111126988A (zh) * | 2019-12-24 | 2020-05-08 | 深圳前海微众银行股份有限公司 | 基于区块链的转账方法、装置、设备及计算机介质 |
-
2020
- 2020-09-23 CN CN202011010339.1A patent/CN112053144A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330787A (zh) * | 2017-05-24 | 2017-11-07 | 智牛股权投资基金(平潭)合伙企业(有限合伙) | 一种高效安全的区块链链下高频交易支付方法、系统 |
CN108764872A (zh) * | 2018-06-01 | 2018-11-06 | 杭州复杂美科技有限公司 | 一种授权支付方法及系统、设备和存储介质 |
CN110751468A (zh) * | 2019-09-24 | 2020-02-04 | 上海交通大学 | 用于区块链扩展的多向状态通道方法、系统及介质 |
CN111126988A (zh) * | 2019-12-24 | 2020-05-08 | 深圳前海微众银行股份有限公司 | 基于区块链的转账方法、装置、设备及计算机介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11250518B2 (en) | Method for secure ledger distribution and computer system using secure distributed ledger technology | |
CN108256864B (zh) | 一种区块链之间的跨链联盟的建立及通信方法、系统 | |
CN108881187B (zh) | 一种适用于许可链场景的跨链数据传递方法及设备 | |
CN108712257B (zh) | 跨区块链的认证方法及装置、电子设备 | |
CN110288480B (zh) | 一种区块链的私密交易方法及装置 | |
CN112488682B (zh) | 一种区块链的三方转账方法及装置 | |
CN110572262A (zh) | 区块链联盟链构建方法、装置及系统 | |
WO2020134653A1 (zh) | 一种电子凭证上传的方法及装置 | |
CN111724153B (zh) | 一种基于区块链的预付式消费监管系统、方法及存储介质 | |
CN108764872B (zh) | 一种授权支付方法及系统、设备和存储介质 | |
WO2020103557A1 (zh) | 业务处理的方法和装置 | |
WO2020240321A1 (en) | Hash function attacks | |
WO2020037927A1 (zh) | 可协商的区块链交易方法、装置、设备及存储介质 | |
CN112488683B (zh) | 一种区块链的链下交易方法及装置 | |
CN110930152A (zh) | 一种基于区块链的数据处理方法及相关设备 | |
KR20240022462A (ko) | 해시락을 사용하는 중개식 교차 원장 스테이블 코인 아토믹 스왑을 위한 방법 및 시스템 | |
KR20230153439A (ko) | 임시 키 쌍을 사용한 블록체인 자산의 원자 교환을 위한 방법 및 시스템 | |
CN112184245B (zh) | 一种跨区块链的交易身份确认方法及装置 | |
CN112950180A (zh) | 一种基于联盟链的通证方法、系统、电子设备及存储介质 | |
CN112788555B (zh) | 跨运营商话费转移结算方法、装置及计算设备 | |
WO2023078158A1 (zh) | 基于区块链的汇款汇路管理 | |
WO2023093876A1 (zh) | 一种基于授权设备的交易方法及交易系统 | |
CN112053144A (zh) | 一种三方转账方法及装置 | |
CN115526629A (zh) | 基于区块链网络的收单交易方法、装置及身份认证装置 | |
CN114792235A (zh) | 基于区块链的事件处理方法及装置 |
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 |