CN111899001A - 基于区块链的汇款方法及装置 - Google Patents
基于区块链的汇款方法及装置 Download PDFInfo
- Publication number
- CN111899001A CN111899001A CN202010713358.4A CN202010713358A CN111899001A CN 111899001 A CN111899001 A CN 111899001A CN 202010713358 A CN202010713358 A CN 202010713358A CN 111899001 A CN111899001 A CN 111899001A
- Authority
- CN
- China
- Prior art keywords
- transaction
- reserve
- remittance
- amount
- 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 68
- 238000012795 verification Methods 0.000 claims abstract description 129
- 238000012546 transfer Methods 0.000 claims description 61
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 5
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 10
- 239000010931 gold Substances 0.000 description 10
- 229910052737 gold Inorganic materials 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 8
- 238000010200 validation analysis Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- XOOUIPVCVHRTMJ-UHFFFAOYSA-L zinc stearate Chemical compound [Zn+2].CCCCCCCCCCCCCCCCCC([O-])=O.CCCCCCCCCCCCCCCCCC([O-])=O XOOUIPVCVHRTMJ-UHFFFAOYSA-L 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 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/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/403—Solvency checks
-
- 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
- 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/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
-
- 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/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/403—Solvency checks
- G06Q20/4037—Remote solvency checks
-
- 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/02—Banking, e.g. interest calculation or account maintenance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- 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/3825—Use of electronic 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
- G06Q2220/00—Business processing using cryptography
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本说明书一个或多个实施例提供一种基于区块链的汇款方法及装置所述方法包括:接收汇出方发送的用于向接收方汇款的第一交易,所述第一交易包括所述汇出方账户汇入接收方账户的汇款额,和所述汇出方从所述预备金列表中为所述第一交易分配的至少一个与所述汇款额对应的预备金金额;对所述第一交易进行第一交易验证,所述第一交易验证包括第一验证步骤,用以验证所述第一交易包括的预备金金额之和是否大于或者等于所述汇款额;如果是,所述第一交易通过所述第一验证步骤;如果所述第一交易通过所述第一交易验证,从所述汇出方账户的余额扣除所述汇款额,在接收方账户的余额增加所述汇款额。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的汇款方法及装置。
背景技术
区块链是一种防篡改的、共享的数字化账本,用于记录公有或私有对等网络中的交易。交易经区块链的节点验证共识后被收录至账本,所述账本分发给网络中的所有或多数成员节点,在区块中永久记录网络中发生的资产交易的历史记录。现有的区块链资产交易模式分为两种,在UTXO模型下,一个交易输入只会被花费一次,而后生成新的交易输出,因此天然地具有高的交易并发性;而在账户模型下,同一个用户的每一笔交易都会更新同一个账户余额,为保证余额足够支付,一个用户的所有相关的交易需要按照一个全局的时序串行执行,否则交易会因为账户余额不足而被共识节点拒绝执行,因此账户模型下限制了并发交易的可能性。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种基于区块链的汇款方法及装置、电子设备及计算机可读存储介质。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种基于区块链的汇款方法,其中,汇出方账户包括一预备金列表;所述预备金列表包括基于汇出方账户的余额划分得到的多个预备金金额;
所述方法包括:
接收汇出方发送的用于向接收方汇款的第一交易,所述第一交易包括所述汇出方账户汇入接收方账户的汇款额,和所述汇出方从所述预备金列表中为所述第一交易分配的至少一个与所述汇款额对应的预备金金额;
对所述第一交易进行第一交易验证,所述第一交易验证包括第一验证步骤,用以验证所述第一交易包括的预备金金额之和是否大于或者等于所述汇款额;如果是,所述第一交易通过所述第一验证步骤;
如果所述第一交易通过所述第一交易验证,从所述汇出方账户的余额扣除所述汇款额,在接收方账户的余额增加所述汇款额。
根据本说明书一个或多个实施例的第二方面,提出了一种基于区块链的汇款装置,其中,汇出方账户包括一预备金列表;所述预备金列表包括基于汇出方账户的余额划分得到的多个预备金金额;
所述装置包括:
接收单元,接收汇出方发送的用于向接收方汇款的第一交易,所述第一交易包括所述汇出方账户汇入接收方账户的汇款额,和所述汇出方从所述预备金列表中为所述第一交易分配的至少一个与所述汇款额对应的预备金金额;
第一交易验证单元,对所述第一交易进行第一交易验证,所述第一交易验证单元包括第一验证模块,用以验证所述第一交易包括的预备金金额之和是否大于或者等于所述汇款额;
账户更新单元,如果所述第一交易通过所述第一交易验证,从所述汇出方账户的余额扣除所述汇款额,在接收方账户的余额增加所述汇款额。
根据本说明书一个或多个实施例的第三方面,提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如上述基于区块链的汇款方法。
根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述基于区块链的汇款方法所述的步骤
本说明书提供的基于区块链的汇款方法及装置,基于账户余额生成多个预备金金额,并将多个预备金金额指定至多个汇款交易中;与现有的汇款交易是基于汇出方账户的账户余额进行交易是否足以支付的验证不同,本说明书提供的汇款方法中,区块链的节点是针对各个汇款交易所包括的预备金金额进行各个汇款交易是否足以支付的验证,对各个汇款交易的验证分别独立进行,不相互影响,从而使得基于账户模型构建的区块链可以并行发送多个汇款交易。
附图说明
图1是一示例性实施例提供的一种基于区块链的汇款方法的流程图。
图2是一示例性实施例提供的一种在区块链网络中设置预备金列表的流程图。
图3是一示例性实施例提供的一种可在区块链网络中实施汇款交易的示意图。
图4是一示例性实施例提供的一种在区块链网络中实施设置预备金列表并汇款交易的流程图。
图5是一示例性实施例提供的运行本说明书实施例所提供的基于区块链的汇款装置的计算机设备结构示意图。
图6是一示例性实施例提供的一种基于区块链的汇款装置的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
图1是一示例性实施例提供的一种基于区块链的汇款方法的流程图,用于汇出方账户向接收方账户汇款,汇出方账户包括一预备金列表;所述预备金列表包括基于汇出方账户的余额划分得到的多个预备金金额。
上述实施例所述的区块链,具体可指一个各节点通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的数据分布在时间上相连的一个个“区块(block)”之内,后一区块包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。本领域的技术人员熟知,由于区块链系统在相应共识机制下运行,已收录至区块链数据库内的数据很难被任意的节点篡改,例如采用Pow共识的区块链,至少需要全网51%算力的攻击才有可能篡改已有数据,因此区块链系统有着其他中心化数据库系统无法比拟的保证数据安全、防攻击篡改的特性。由此可知,在本说明书所提供的实施例中,被收录至区块链的分布式数据库中的汇款交易及其他交易不易被攻击或篡改,从而为发布至所述区块链的分布式数据库的交易进行了存证。
将上述区块链作为一个通用的管理对象状态转换的去中心化平台,上述账户就是有状态的对象,上述汇出方账户所包括的内容可以为上述汇出方账户的状态所包含的内容,本领域的技术人员熟知,账户通常包含账户余额信息。
在本说明书中,为了支持基于汇出方的账户余额而产生的并发交易,汇出方的账户中还包括一预备金列表,该预备金列表中包括了从账户余额中划分出的多个预备金金额,从而可将上述多个预备金金额中的至少一个分配至其足以支付的一个汇款交易中;由于预备金列表可包括多个可用的预备金金额,所以汇出方可以基于多个可用的预备金金额发出多个足以支付的汇款交易。
值得注意的是,本说明书所述的“账户”不限于外部所有账户(EOA)及合约账户(Contract),且也不限定上述预备金列表的具体表现形式,只要包含或管理上述由预备金总额划分所得的多个预备金金额的数据组织形式均属于本说明书所述的预备金列表。
如图1所示,上述汇款方法可以包括以下步骤:
步骤102,接收汇出方发送的用于向接收方汇款的第一交易,所述第一交易包括所述汇出方账户汇入接收方账户的汇款额,和所述汇出方从所述预备金列表中为所述第一交易分配的至少一个与所述汇款额对应的预备金金额。
上述第一交易即本说明书所述的汇款交易。上述从汇出方区块链账户向接收方区块链账户汇入(或称为转移)的汇款额对应于相应金额的资产凭证:资产凭证可以对应于区块链内的代币(token)、数字资产等智能资产,资产凭证还可以对应于区块链外的现金、证券、优惠券、房产等链外资产,本说明书并不对此进行限制。
该第一交易所包括的、汇出方从所述预备金列表中为第一交易所分配的至少一个与所述汇款额对应的预备金金额,可以有多种分配方式,在本说明书中不作限定。例如,汇出方账户的预备金列表中包含{5,10,15,20}四个预备金金额,对于汇款额为10的第一交易,汇出方可从上述四个预备金金额中选出一个预备金金额10(或15或20),将上述一个预备金金额10(或15或20)分配至上述第一交易中;对应汇款额为12的第一交易,汇出方可从上述四份预备金金额中选出一个预备金金额15(或20),将上述一个预备金金额15(或20)分配至上述第一交易中,也可以从上述四个预备金金额中选出两个预备金金额5和10(或5和15),将上述两个预备金金额15(或20)分配至上述第一交易中,利用两个预备金金额之和为汇款交易提供足以支付的验证证明。值得注意的是,为防止“双花”重放的汇款交易无法通过验证,每个预备金金额不能被重复分配。
在本说明书一示出的实施例中,为保证与第一交易分配的预备金金额未在其他的汇款交易中被使用过,上述预备金列表中可将预备金金额进行标定,以防止基于同一预备金金额产生“双花”的交易;尤其是在预备金列表中包含多个等值的预备金金额时,验证节点不易区分某一等值的预备金金额是否在其他交易中被使用过。汇出方的账户可采用多种方式标识预备金金额。
例如,在汇出方账户的预备金列表中,为各个预备金金额生成与之对应的唯一编码或标识,此时,第一交易不仅包含预备金金额,还应包含该预备金金额的唯一标识(如编码),由于已完成的汇款交易会在区块链的分布式数据库中存证,则已被用于其他已完成的汇款交易中的预备金金额的唯一标识也会随已完成的汇款交易被保存在所述区块链的分布式数据库中;所以第一交易中包含的预备金金额的唯一标识可以帮助区块链节点验证该预备金金额是否在其他的汇款交易中被使用过。
又如,在汇出方账户的预备金列表中,还可为各个预备金金额生成使用状态标识。当一包括预备金金额的汇款交易被验证通过,并在区块链的分布式数据库内收录该汇款交易、且更新该汇款交易的汇出方的账户余额时,该汇款交易所包含的预备金金额应在汇出方账户的预备金列表中被标识为已使用状态(状态3),本领技术人员熟知,上述被收录在区块链的分布式数据库中的汇款交易可称为“已完成的汇款交易”。对于新的尚未完成的汇款交易,区块链中的验证节点可验证上述新的尚未完成的汇款交易中的预备金金额在汇出方账户的预备金列表中的状态是否为已使用状态:如果是已使用状态,则该项验证不通过,相应的新的尚未完成的汇款交易可以被退回;如果不是已使用状态,则该项验证通过。类似地,当该新的汇款交易通过验证后在区块链的分布式数据库中更新时,区块链节点也应将该新的汇款交易中包含的预备金金额在汇出方账户的预备金列表中更新为“已使用状态”。
更优的,还未被使用过的、亦即还未被分配至任何汇款交易的预备金金额可在上述预备金列表中被标记为未使用状态(状态1);一预备金金额一旦被分配于一个汇款交易,该预备金金额可在汇出方账户的预备金列表中即刻被标识为被使用状态(状态2),亦即在汇出方用户的本地保存的预备金列表中将上述预备金金额标定为被使用状态(状态2)。由此可知,汇出方账户仅能分配未使用状态(状态1)的预备金金额用于新的汇款交易,且在分配后将该被分配的预备金金额随即在本地更改为被使用状态(状态2),以防止对同一预备金金额的重复分配。
为保护区块链用户的账户隐私安全,在现有的一些区块链中,用户的账户余额、及汇款交易的交易额均被加密;本说明书所提供的汇款方法也可以用于隐私模式的区块链中。
在一示出的实施例中,区块链用户的账户余额、预备金列表所包含的预备金金额、以及汇款交易的汇款额均被加密;由于在汇出方的账户中所呈现的账户余额及预备金列表所包含的预备金金额均是加密状态,为保证区块链中的节点可对该汇款交易顺利验证、且验证通过后无需解密而可依据被加密的汇款额直接更新汇出方及接收方加密的账户余额,区块链用户的账户余额、预备金列表所包含的预备金金额、以及汇款交易的汇款额均应基于相同的同态加密算法被被加密。
由于第一交易所包括的汇款额及预备金金额均为加密状态,为保证上述被分配至第一交易的预备金金额足以支付本次汇款,上述第一交易中还应包括基于第一交易所包括的被加密的预备金金额和被加密的汇款额生成的第一零知识证明,用于证明为第一交易所分配的预备金金额之和大于或者等于所述汇款额。
零知识证明,通常指的是证明者(被验证者)能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。在本说明书中,汇出方通过提供基于被加密的汇款额和第一交易所包括的被加密的预备金金额生成的第一零知识证明,使得区块链中的节点(验证者)在不获知汇款额、及预备金金额的具体值的情况下,可以验证为第一交易所分配的预备金金额的具体值之和大于或者等于所述汇款额的具体值,足以支付上述汇款交易,亦即使得区块链中的节点(验证者)基于零知识证明算法针对所述第一零知识证明进行零知识验证,以确认为所述第一交易所分配的预备金金额之和是否大于或者等于所述汇款额。
本说明书并不限定上述同态加密算法的类型,可以包括加法同态加密算法或全同态加密算法,只要确保该同态加密算法能够满足加法同态并且能够支持验证一明文数据属于某个区间的零知识证明,使得加密的汇出方账户余额可直接扣除加密的汇款额,加密的接收方账户余额可直接增加加密的汇款额,也使得汇出方能够基于加密后的汇款额及被加密的预备金金额提供零知识证明来证明汇款额不大于交易中所用的被加密的预备金金额对应的预备金金额之和。
例如,上述区块链可以支持基于椭圆曲线参数G和H的Pedersen Commitment加密算法,用以保证区块链中被加密的数额可以在加密状态被验证数额范围、且可实现加法同态。
本说明书并不限定上述第一零知识证明的具体类型,例如可以采用相关技术中的区间证明(Range Proof)技术,譬如Bulletproofs方案或Borromean环签名方案等。
在又一示出的实施例中,为防止区块链中某些节点作恶对区块链进行攻击,上述第一交易中还可包括基于所述被加密的汇款额生成的第二零知识证明,所述第二零知识证明用于证明所述汇款额不小于零。
在本说明书又一示出的实施例中,上述第一交易还可包括汇出方账户的标识,如账户地址、或账户公钥及上述汇出方所作的电子签名,上述电子签名是汇出方使用自身的私钥对包含第一交易的汇款额、或至少一个预备金金额或上述零知识证明等内容所作的签名,用以供区块链的节点对电子签名进行验证,防止其他节点冒充汇出方而发布上述第一交易,发布错误信息、恶意扰乱交易秩序。
步骤104,对所述第一交易进行第一交易验证,所述第一交易验证包括第一验证步骤,用以验证所述第一交易包括的预备金金额之和是否大于或者等于所述汇款额;如果是,所述第一交易通过所述第一验证步骤。
根据区块链所依赖的共识机制不同,区块链中负责验证交易的节点、区块链中的验证节点所遵循的验证规则也都不尽相同。例如,在比特币、以太坊等区块链公链中,区块链中的所有节点均具有验证交易的权限,比特币区块链中需验证交易的格式、签名、UTXO的输入交易是否有效、是否未双花、输出的值是否不大于输入等内容,以太坊区块链中需验证交易的格式、签名、账户的余额是否足够支付本次交易、是否为双花交易等;而在基于PBFT共识算法的联盟链中,具有验证交易的权限的节点通常是预选的、信用较高的节点,联盟链的预选节点需验证的内容通常依据交易的具体内容而定制。由于本说明书所提供的基于区块链的汇款方法可以被应用在基于多种共识机制类型的区块链中,因此本说明书既不限定对上述第一交易执行验证的区块链节点的数量及类型,也不限制上述第一交易验证所包含的内容或流程。
为保证用于汇款的第一交易的正常进行,在本说明书所提供的实施例中,需至少验证第一交易所包括的预备金金额是否足以支付所述汇款额。区块链节点可以直接对比第一交易中所包含的预备金金额之和是否大于或等于第一交易的汇款额,如果是,第一交易通过上述第一验证步骤。
在一示出的实施例中,如前所述,当所述预备金列表中还包括所述多个预备金金额对应的使用状态,所述使用状态包括已使用状态,所述已使用状态表示其对应的预备金金额在所述区块链的已完成的汇款交易中被使用过时,所述第一交易验证还包括:第二验证步骤,用以验证第一交易所包括的预备金金额是否在所述预备金列表中被标记为已使用状态;如果否,第一交易通过所述第二验证步骤。相应地,如果所述第一交易通过所述第一交易验证所包括的所有验证步骤,区块链节点应将所述第一交易包括的预备金金额在所述预备金列表中标记为已使用状态。
更优地,上述预备金金额的使用状态还包括未使用状态和被使用状态,所述未使用状态表示与之对应的预备金金额还未被分配至已发起的汇款交易,所述被使用状态表示与之对应的预备金金额已被分配至已发起的汇款交易。汇出方节点可在本地客户端将上述至少一个预备金金额分配至上述第一交易后,将第一交易所包括的预备金金额的使用状态从“未使用”更改为“被使用”,以防止汇出方重复分配。
值得注意的是,上述“未使用”“被使用”“已使用”是作为区分预备金金额的状态的三个功能性描述,在具体实现时,可以用与足以区分上述三种状态的任意标识或名称均可实现上述实施例。
在又一示出的实施例中,如前所述,当所述预备金列表还包括预备金金额对应的唯一标识、所述第一交易还包括与被分配的预备金金额对应的唯一标识时,所述验证还包括:第三验证步骤,用以验证所述第一交易所包括的所述唯一标识是否在已完成的汇款交易中被使用过;如果否,所述第一交易通过所述第三验证步骤。
如前所述,为保护区块链用户的隐私性,尤其是保护汇款交易的隐私性,当上述第一交易所包含的汇款额、以及上述预备金金额均被预先进行了加密处理时,由于区块链上除第一交易的汇出方之外的其他节点均不能获知该汇款额和第一交易中与所述汇款额对应的预备金金额的具体值,为保证区块链上的节点可验证为第一交易分配的预备金金额之和是否能够支付得起上述汇款额,上述第一交易还应包括基于所述第一交易所包括的被加密的预备金金额和被加密的汇款额生成的第一零知识证明;相应的,上述第一交易验证所包括的第一验证步骤,包括:基于零知识证明算法针对所述第一零知识证明进行零知识验证,以确认为第一交易所分配的预备金金额之和是否大于或者等于所述汇款额;如果是,所述第一交易通过所述第一验证步骤。
在又一示出的实施例中,如前所述,当第一交易还包括基于被加密的汇款额生成的第二零知识证明时,所述第一交易验证还包括第四验证步骤,基于零知识证明算法针对所述第二零知识证明进行零知识验证,以确认所述汇款额是否大于或者等于零;如果是,所述第一交易通过所述第四验证步骤。
在又一示出的实施例中,如前所述,在本说明书又一示出的实施例中,当第一交易还包括上述汇出方所作的电子签名时,上述区块链中具有验证权限的节点还应使用汇出方的公钥对上述电子签名进行验证,以确定上述电子签名及第一交易是由该汇出方汇出的,防止其他恶意节点的仿冒行为。
本说明书所提供的上述实施例中所述的“第一”、“第二”、“第三”、“第四”仅是为区分上述验证步骤,而并非用于对上述验证步骤执行的先后顺序的限定;例如,本领域的技术人员熟知,对电子签名的验证一般是验证阶段最先进行的验证步骤,但是本说明书中对以上验证步骤的执行前后顺序并不限定。
步骤106,如果所述第一交易通过所述第一交易验证,从所述汇出方账户的余额扣除所述汇款额,在接收方账户的余额增加所述汇款额。
在上述第一交易通过所述第一交易验证包含的验证步骤后,上述第一交易即可被收录至区块链的区块中,上述汇出方的账户及接收方的账户应发生相应地更新:从所述汇出方账户的余额扣除所述汇款额,在接收方账户的余额增加所述汇款额。
基于区块链上账户状态更新过程所依据的共识机制不同,上述执行更新汇出方、接受方的账户余额的区块链节点可以与上述执行验证交易的区块链节点为相同的节点,也可以是不同的节点;上述执行更新汇出方、接收方的账户余额的区块链节点既可以为经过共识后的一个节点,也可以为多个节点,在本发明中不作限定。
当本说明书所述的汇款方法应用于隐私模式的区块链时,由于汇出方账户的余额、用于向接收方汇款的第一交易的汇款额均基于相同的同态加密算法被加密,区块链的节点可从所述汇出方账户的余额同态加密扣除所述汇款额,在接收方账户的余额同态加密增加所述汇款额,亦即:利用汇出方账户被加密的余额直接减去被加密的汇款额得到更新后的、被加密的汇出方账户余额,利用接收方账户被加密的余额直接加上被加密的汇款额得到更新后的、被加密的接收方账户余额,无需解密上述汇出方、接收方的账户余额及第一交易的汇款额。本领域的技术人员熟知,基于同态加密算法的特性,在汇出方账户被加密的余额直接扣除被加密的汇款额所得的密文,等于使用上述同态加密算法对汇出方账户的余额直接扣除汇款额后所得的新的账户余额加密所得的密文;在接收方账户被加密的余额直接增加被加密的汇款额所得的密文,等于使用上述同态加密算法对接收方的账户余额直接增加汇款额后所得的新的账户余额加密所得的密文。
本说明书的上述多个实施例提供的包含步骤102~步骤106的隐私加密汇款方法,基于账户余额生成多个预备金金额,并将多个预备金金额指定至多个汇款交易中;区块链的节点是针对各个汇款交易所包括的预备金金额进行各个汇款交易是否足以支付的验证,对各个汇款交易的验证分别独立进行,不相互影响,从而使得基于账户模型构建的区块链可以并行发送多个汇款交易。而且本说明书提供的汇款方法还可适用在隐私模式的区块链中,基于上述被加密预备金金额和被加密的汇款额生成第一零知识证明,用以证明与为第一交易分配的预备金金额之和足以支付所述汇款额。由于预备金列表中包含多个被加密的预备金金额,可以分别支持多个并发的汇款交易,从而克服了现有的隐私加密汇款中,基于汇出方的账户余额为汇款额生成足以支付的零知识证明而引起的不能并发汇款交易的缺陷,在保护汇款交易数据隐私的前提下,提高了汇款交易的吞吐量。
为执行上述多个实施例所述的汇款方法,汇出方的账户中需保存有上述预备金列表,以存储基于基于汇出方的账户余额划分得到的多个预备金金额;当上述预备金列表中的预备金金额被使用完毕、或剩余的预备金金额已经不再足以支付下一汇款交易、或用户根据自身的具体需求周期性更新上述预备金列表时,汇出方节点需在其账户中初始化预备金列表。上述初始化建立预备金列表(包括首次初始化及更新重置预备金列表),可通过在区块链上发布预备金列表初始化交易来实现;可选的,区块链上可以专门为初始化或更新预备金列表设置固定格式的交易,以帮助用户完成上述预备金列表的初始化。
由于区块链中的多数节点均可作为汇出方执行汇款操作,因此上述初始化或更新预备金列表的执行主体可以为区块链中的多数节点。
在本说明书又一示出的实施例中,如图2所示,上述初始化或更新预备金列表的方法包括:
步骤202,接收所述汇出方发送的用于初始化预备金列表的第二交易,所述第二交易包括基于汇出方账户的余额划分得到的多个预备金金额。
上述第二交易用于初始化预备金列表。为保护用户账户的隐私安全,当区块链上用户账户的余额被同态加密时,上述多个预备金金额也应被预先进行同态加密处理,上述第二交易还包括基于被加密的所述多个预备金金额和被加密的所述汇出方账户的余额生成的第三零知识证明,用于证明与所述第二交易所包括的多个预备金金额之和小于或者等于所述汇出方账户的余额。
在本说明书中,由于汇出方账户的余额及汇出方基于账户余额划分得到的多个预备金金额均基于上述的同态加密算法被加密,汇出方节点通过提供基于被加密的所述多个预备金金额和被加密的所述汇出方账户的余额生成的第三零知识证明,使得区块链中的节点(验证者)在不获知账户余额、及预备金金额的实际值(明文)情况下,可以验证第二交易中所包含的多个预备金金额之和是否不大于上述汇出方账户的余额。
类似的,本说明书并不限定上述第三零知识证明的具体类型,例如可以采用相关技术中的区间证明(Range Proof)技术,譬如Bulletproofs方案或Borromean环签名方案等。
在又一示出的实施例中,为保证上述被加密的预备金金额均可用于汇款交易(第一交易),防止恶意汇款对区块链造成攻击,所述第二交易还包括基于被加密的所述多个预备金金额生成的第四零知识证明,使得区块链中的节点(验证者)在不获知预备金金额的实际值(明文)情况下,可以验证所述第二交易所包括的多个预备金金额是否均大于或者等于零。
在本说明书又一示出的实施例中,上述第二交易还可包括汇出方账户的标识,如账户地址、或账户公钥及上述汇出方所作的电子签名,上述电子签名是汇出方使用自身的私钥对包含第二交易的预备金列表、或上述第三零知识证明、第四零知识证明等内容所作的签名,用以供区块链的节点对电子签名进行验证,防止其他节点冒充汇出方而发布上述第二交易,发布错误信息、恶意扰乱交易秩序。
步骤204,对所述第二交易进行第二交易验证,所述第二交易验证包括第五验证步骤,用以验证所述第二交易所包括的多个预备金金额之和是否小于或者等于所述汇出方账户的余额;如果是,所述第二交易通过所述第五验证步骤。
类似地,由于本说明书所提供的基于区块链的汇款方法可以被应用在基于多种共识机制类型的区块链中,因此本说明书既不限定对上述第二交易执行验证的区块链节点的数量及类型,也不限制根据区块链的验证规则对第二交易验证包含的具体内容及流程。
在一示出的实施例中,当汇出方账户的余额以及所述多个预备金金额被预先进行了同态加密处理,且所述第二交易还包括基于被加密的所述多个预备金金额和被加密的所述汇出方账户的余额生成的第三零知识证明时,上述第二交易验证至少包括基于零知识证明算法针对所述第三零知识证明进行零知识验证的第五验证步骤,以确认所述第二交易所包括的多个预备金金额之和是否小于或者等于所述账户余额;如果是,所述第二交易通过所述第五验证步骤。
在又一示出的实施例中,当第二交易还包括基于被加密的所述多个预备金金额生成的第四零知识证明时,所述第二交易验证还包括第六验证步骤,所述第六验证步骤包括:基于零知识证明算法针对所述第四零知识证明进行零知识验证,以确认所述第二交易所包括的多个预备金金额是否均大于或者等于零;如果是,所述第二交易通过所述第六验证步骤。
在又一示出的实施例中,如前所述,在本说明书又一示出的实施例中,当第二交易还包括上述汇出方所作的电子签名时,上述区块链中具有验证权限的节点还应使用汇出方的公钥对上述电子签名进行验证,以确定上述电子签名及第二交易是由该汇出方汇出的,防止其他恶意节点的仿冒行为。
与第一交易验证类似,本说明书所提供的上述实施例中所述的“第五”、“第六”仅是为区分上述第二交易验证所包含的验证步骤,而并非用于对上述验证步骤执行的先后顺序的限定;例如,本领域的技术人员熟知,对电子签名的验证一般是验证阶段最先进行的验证步骤,但是本说明书中对以上验证步骤的执行前后顺序并不限定。
步骤206,如果所述第二交易通过所述第二交易验证,基于所述多个预备金金额构建预备金列表,并将所述预备金列表更新至所述汇出方账户。
在上述第二交易通过第二交易验证包括的验证步骤后,区块链节点应基于所述多个预备金金额构建预备金列表,并将所述预备金列表更新至所述汇出方账户。
基于区块链上账户状态更新过程所依据的共识机制不同,上述执行更新汇出方账户状态的区块链节点可以与上述执行验证第二交易的区块链节点为相同的节点,也可以是不同的节点;可以为一个节点,也可以为多个节点,在本发明中不作限定。
本实施例所述的预备金列表是对上述第二交易所包含的多个预备金金额的数据组织形式,上述预备金列表的具体表现形式不限于二维表、树形结构或其他图形结构。
在又一示出的实施例中,为保证区块链节点可以方便地验证汇款交易(第一交易)所包含的预备金金额是否在已完成汇款交易中被使用过,以防止“双花”汇款交易的产生,在初始化预备金列表的第二交易中,上述预备金列表包括的多个预备金金额应标记为未使用状态,以便在至少一个预备金金额被分配至汇款交易后,将上述至少一个预备金金额标记为被使用状态,在该汇款交易完成后,将上述至少一个预备金金额标记为已使用状态。
或者,在又一示出的实施例中,为保证区块链节点可以方便地验证汇款交易(第一交易)所包含的预备金金额是否在已完成汇款交易中被使用过,以防止“双花”汇款交易的产生,在初始化预备金列表的第二交易中,上述预备金列表还包括为每个预备金金额生成的唯一标识,以便在包含上述预备金金额唯一标识的汇款交易(第一交易)完成后,在区块链的分布式数据库中存证上述预备金金额的唯一标识,进而帮助区块链的节点验证新的汇款交易所包含的预备金金额是否在已完成的汇款交易中被使用过。
为了便于理解,下面以区块链网络中的汇款交易为例,对本说明书的技术方案进行详细说明。图3是一示例性实施例提供的一种在区块链网络中实施第一交易和第二交易的示意图。例如,由用户A向用户B进行区块链汇款(第一交易),在汇款之前,由用户A向区块链发布初始化或更新其账户中所包含的预备金列表的交易(第二交易)。其中,本说明书中的“用户”可以表现为所登录的用户账号,而该用户账号实际可以归属于个人或组织,本说明书并不对此进行限制。
假定用户A使用的汇出方设备为用户设备1,譬如该用户设备1上登录有对应于用户A的用户账号;类似地,用户B使用的接收方设备为用户设备2。用户设备1上可以运行有区块链的客户端程序,使得该用户设备1在区块链网络中存在对应的区块链节点,比如图3所示的节点1。类似地,用户设备2上可以运行有区块链的客户端程序,使得该用户设备2在区块链网络中存在对应的区块链节点,比如图3所示的节点2。区块链网络中还存在其他区块链节点,比如图3所示的节点i~节点j等。通过上述的节点1、节点2、节点i~节点j等,使得用户A与用户B之间的汇款交易、及用户A发送的初始化或更新预备金列表的交易可以经由区块链网络实施,相关交易信息可以被记录至各个区块链节点分别维护的区块链账本中,可以避免发生篡改,并有助于后续查验。
图4是一示例性实施例提供的在隐私保护模式的区块链网络中实施设置图3所示的用户A的预备金列表、及执行用户A向用户B发送汇款的流程图。
在上述区块链中,用户A的账户余额s_A及用户B的账户余额s_B均基于同态加密算法被加密,加密后用户A的账户余额密文为SA=HE(s_A),用户B的账户余额密文为SB=HE(s_B);在一实施例中,上述同态加密算法可以为Pederson Commit算法。
设置用户A的预备金列表的过程包括以下步骤:
步骤401,用户A建立预备金列表MA,上述预备金列表MA包括用户A针对自身的账户余额划分得到的、被基于上述的同态加密算法HE加密的、多个预备金金额MA[1],MA[2],…,MA[L-A],并在上述预备金列表中将上述预备金金额MA[1],MA[2],…,MA[L-A]的使用状态标记为“未使用状态”。
具体实现时,用户A可对自身的全部账户余额s_A或部分账户余额进行划分,得到上述多个预备金金额的明文ma[1],ma[2],…,ma[L-A],并基于上述同态加密算法对上述多个预备金金额加密,以得到预备金金额密文MA[1],MA[2],…,MA[L-A];用户A也可以对账户余额密文SA直接进行划分以得到MA[1],MA[2],…,MA[L-A],并基于上述同态加密算法的进行逆运算,获知上述预备金金额密文对应的明文ma[1],ma[2],…,ma[L-A]。用户A可将上述预备金金额的明文ma[1],ma[2],…,ma[L-A]与密文MA[1],MA[2],…,MA[L-A]的对应关系独自保存,以方便用户A在具体的汇款交易中选取合适的预备金金额。
步骤402,用户A基于MA[1],MA[2],…,MA[L-A]和SA生成零知识证明PF[s_A≥(ma[1]+ma[2]+…+ma[L-A])],用于证明上述预备金列表MA中的MA[1],MA[2],…,MA[L-A]对应的预备金金额ma[1],ma[2],…,ma[L-A]之和小于或者等于所述汇出方的账户余额s_A,上述零知识证明PF[s_A≥(ma[1]+ma[2]+…+ma[L-A])]不使用预备金金额ma[1],ma[2],…,ma[L-A]及s_A的值,即可使验证者证明ma[1],ma[2],…,ma[L-A]之和小于或者等于s_A。在一实施例中,上述零知识证明PF[s_A≥(ma[1]+ma[2]+…+ma[L-A])]可使用Borromean环签名方案或Bulletproof方案等区间证明技术。
步骤403,用户A基于MA[1],MA[2],…,MA[L-A]生成零知识证明PF(ma[i]≥0),用以证明上述预备金列表MA中的MA[1],MA[2],…,MA[L-A]对应的预备金金额ma[1],ma[2],…,ma[L-A]均不小于零。上述零知识证明PF(ma[i]≥0)不使用预备金金额ma[i]的值即可使验证者证明ma[i]≥0。在一实施例中,上述零知识证明PF(ma[i]≥0)可使用Borromean环签名方案或Bulletproof方案等区间证明技术。
步骤404,用户A基于MA、PF[s_A≥(ma[1]+ma[2]+…+ma[L-A])]、PF(ma[i]≥0)生成电子签名Sign As。
步骤405,用户A向所述区块链发送交易Ts以确定上述的预备金列表MA,上述交易Ts包括MA、PF[s_A≥(ma[1]+ma[2]+…+ma[L-A])]、PF(ma[i]≥0),其中1<=i<=L_A,和SignAs。
步骤406,区块链的节点接收上述交易Ts。
步骤407,区块链的节点执行对上述交易Ts的电子签名Sign As验证,如果通过,执行下个步骤。
步骤408,区块链的节点基于零知识证明算法对PF[s_A≥(ma[1]+ma[2]+…+ma[L-A])]进行零知识验证,以确认ma[1],ma[2],…,ma[L-A]之和是否小于或者等于所述汇出方的账户余额s_A;如果是,执行下个步骤。
步骤409,区块链的节点基于零知识证明算法对PF(ma[i]≥0)进行零知识验证,以确认(ma[i]≥0均不小于零,其中1<=i<=L_A;如果是,执行下个步骤。
步骤410,区块链的节点将通过验证的交易Ts收录至所述区块链的分布式数据库,并将预备金列表MA更新至所述用户A的账户状态。
至此,区块链的节点完成了对用户A的预备金列表MA的更新,本领域的技术人员熟知,在设置或更新用户A的预备金列表MA的实际实施过程中,还可包括许多其他的验证步骤,例如防重放的验证等,在此不做限定;而且本说明书并不限定生成各个证明或电子签名的先后顺序,也不限定区块链中的节点对汇出方提出的交易Ts中各项证明或电子签名的验证的先后顺序,图4仅仅是本说明书提供的设置用户的预备金列表的方法的一种实施例,本说明书不限于此。
图4中的区块链执行用户A向用户B汇款转账的过程如下:
步骤411,用户A基于上述同态加密算法生成汇款额密文St=HE(s_t),其中s_t为用户A向用户B转账的汇款额。
步骤412,用户A从预备金列表MA中选取一个未使用过的、且其明文mA[k]足以支付汇款额s_t的预备金金额密文MA[k],并将该预备金金额密文MA[k]标记为被使用状态,以使MA[k]不可再被指定在其他新的汇款交易中。
步骤413,用户A基于MA[k]和St生成零知识证明Pf(mA[k]≥s_t),用以证明MA[k]对应的预备金金额mA[k]足以支付本次汇款额s_t;上述零知识证明Pf(mA[k]≥s_t)不使用mA[k]及s_t的值,即可使验证者证明mA[k]≥s_t。
步骤414,用户A基于St生成零知识证明Pf(s_t≥0),用以证明汇款额s_t不小于零;上述上述零知识证明Pf(s_t≥0)不使用s_t的值,即可使验证者证明s_t≥0。
步骤415,用户A基于St、MA[k]、Pf(mA[k]≥s_t)、Pf(s_t≥0)生成电子签名SignAt。
步骤416,用户A向所述区块链发送交易Tt以向用户B汇款转账,交易Tt包括St、MA[k]、Pf(mA[k]≥s_t)、Pf(s_t≥0)及Sign At,上述内容均未密文状态,因此保护了用户A、B的汇款交易隐私性。
步骤417,区块链的节点接收上述交易Tt。
步骤418,区块链的节点执行对上述交易Tt的电子签名Sign At验证,如果通过,执行下个步骤。
步骤419,区块链的节点验证上述Tt所包含的MA[k]是否为已使用状态;如果否,执行下个步骤。
步骤420,区块链的节点基于零知识证明算法对PF(ma[k]≥s_t)进行零知识验证,以确认MA[k]对应的预备金金额是否大于或者等于所述汇款额;如果是,执行下个步骤。
步骤421,区块链的节点基于零知识证明算法对PF(s_t≥0)进行零知识验证,以确认本次汇款交易的汇款额密文St对应的汇款额实际值不小于零;如果是,执行下个步骤。
步骤422,区块链的节点将通过验证的交易Tt收录至所述区块链的分布式数据库,并在用户A的账户余额密文SA同态加密扣除所述汇款额密文St,在用户B的账户余额密文SB同态加密增加所述汇款额密文St,以使上述用户A的账户余额更新为(s_A-s_t),用户B的账户余额更新为(s_B+s_t);并将用户A的预备金列表MA中MA[k]对应的状态更改为已使用状态。
图4所述的用户A向用户B汇款的实施例,基于在用户A的账户中建立预备金列表MA,并为汇款交易指定足以支付汇款额的预备金金额MA[k],且生成可证明上述汇款交易中的预备金金额MA[k]的实际值足以支付上述汇款额St的实际值的零知识证明,从而可使区块链中的节点验证并完成上述汇款交易。由于MA中处于未使用状态的预备金金额MA[i]可以为多个,可以分别支持多个并发的汇款交易,从而克服了现有的隐私加密汇款中,基于汇出方的账户余额为汇款额生成足以支付的零知识证明而引起的不能并发汇款交易的缺陷,在保护汇款交易数据隐私的情况下,提高了汇款交易的吞吐量。
另外,本领域的技术人员熟知,在汇款交易的实际实施过程中,还可包括许多其他的验证步骤,例如防重放的验证等,在此不做限定;而且本说明书并不限定生成各个证明或电子签名的先后顺序,也不限定区块链中的节点对汇出方提出的交易Tt中各项证明或电子签名的验证的先后顺序,图4仅仅是本说明书提供的基于区块链的汇款方法的一种实施例,本说明书不限于此。
虽然图4中使用连续的编号表示了用户A设置预备金列表及用户A向用户B汇款的过程,但是这并不表示用户A在每次发起汇款交易之前均需设置其账户中的预备金列表。本领域技术人员熟知,用户在注册成为该区块链的用户后的第一次汇款交易之前,需要初始化设置其账户中的预备金列表;当上述预备金列表中的被加密的预备金金额被使用完毕、或剩余的被加密的预备金金额对应的预备金金额已经不再足以支付下一汇款交易,用户才需重新设置其账户中的预备金列表;用户还根据自身的具体需求可周期性更新上述预备金列表。
图5是一示例性实施例提供的一种设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行,在逻辑层面上形成区块链交易装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图6,本说明书还提供了一种基于区块链的汇款装置60,其中,汇出方账户包括一预备金列表;所述预备金列表包括基于汇出方账户的余额划分得到的多个预备金金额;
所述装置60包括:
接收单元602,接收汇出方发送的用于向接收方汇款的第一交易,所述第一交易包括所述汇出方账户汇入接收方账户的汇款额,和所述汇出方从所述预备金列表中为所述第一交易分配的至少一个与所述汇款额对应的预备金金额;
第一交易验证单元604,对所述第一交易进行第一交易验证,所述第一交易验证单元604包括第一验证模块6041,用以验证所述第一交易包括的预备金金额之和是否大于或者等于所述汇款额;
账户更新单元606,如果所述第一交易通过所述第一交易验证,从所述汇出方账户的余额扣除所述汇款额,在接收方账户的余额增加所述汇款额。
在一示出的实施例中,所述第一交易验证单元604还包括第二验证模块6042,用以验证所述第一交易包括的预备金金额是否在所述预备金列表中被标记为已使用状态。
在一示出的实施例中,所述账户更新单元606:
如果所述第一交易通过所述第一交易验证,将所述第一交易包括的预备金金额在所述预备金列表中标记为已使用状态。
在一示出的实施例中,所述预备金列表还包括所述多个预备金金额对应的唯一标识,所述第一交易还包括与所述至少一个与所述汇款额对应的预备金金额对应的唯一标识;
所述第一交易验证单元还604包括:第三验证模块6043,用以验证所述第一交易所包括的预备金金额的唯一标识是否在已完成的汇款交易中被使用过。
在一示出的实施例中,所述汇出方账户的余额、所述接收方账户的余额、所述预备金金额以及所述汇款额被预先进行了同态加密处理;
所述第一交易还包括:基于所述第一交易所包括的被加密的预备金金额和被加密的汇款额生成的第一零知识证明;
所述第一验证模块6041:
基于零知识证明算法针对所述第一零知识证明进行零知识验证,以确认为所述第一交易所分配的预备金金额之和是否大于或者等于所述汇款额;
所述账户更新单元606:
从所述汇出方账户的余额同态加密扣除所述汇款额,在接收方账户的余额同态加密增加所述汇款额。
在一示出的实施例中,所述第一交易还包括:基于被加密的汇款额生成的第二零知识证明;
所述第一交易验证单元604还包括第四验证模块6044,所述第四验证模块6044:基于零知识证明算法针对所述第二零知识证明进行零知识验证,以确认所述汇款额是否大于或者等于零。
在一示出的实施例中,还包括
所述接收单元602,接收所述汇出方发送的用于初始化预备金列表的第二交易,所述第二交易包括基于汇出方账户的余额划分得到的多个预备金金额;
第二交易验证单元608,对所述第二交易进行第二交易验证,所述第二交易验证单元608包括第五验证模块6085,用以验证所述第二交易所包括的多个预备金金额之和是否小于或者等于所述汇出方账户的余额;
所述账户更新单元606,如果所述第二交易通过所述第二交易验证,基于所述多个预备金金额构建预备金列表,并将所述预备金列表更新至所述汇出方账户。
在一示出的实施例中,所述汇出方账户的余额以及所述多个预备金金额被预先进行了同态加密处理;
所述第二交易还包括:基于被加密的所述多个预备金金额和被加密的所述汇出方账户的余额生成的第三零知识证明;
所述第五验证模块6085:基于零知识证明算法针对所述第三零知识证明进行零知识验证,以确认所述第二交易所包括的多个预备金金额之和是否小于或者等于所述汇出方账户的余额。
在一示出的实施例中,所述第二交易还包括:基于被加密的所述多个预备金金额生成的第四零知识证明;
所述第二交易验证单元608还包括第六验证模块6086,所述第六验证模块6086:基于零知识证明算法针对所述第四零知识证明进行零知识验证,以确认所述第二交易所包括的多个预备金金额是否均大于或者等于零。
在一示出的实施例中,所述账户更新单元608:
将所述预备金列表包括的每个预备金金额均标记为未使用状态。
在一示出的实施例中,所述预备金列表还包括为每个预备金金额生成的唯一标识。
在一示出的实施例中,所述零知识证明算法包括区间证明算法。
上述装置中各个单元和模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,相关之处参见方法实施例的部分说明即可,在此不再赘述。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中基于区块链的汇款方法的各个步骤。对基于区块链的汇款方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中基于区块链的汇款方法的各个步骤。对基于区块链的汇款方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (22)
1.一种基于区块链的汇款方法,其中,汇出方账户包括一预备金列表;所述预备金列表包括基于汇出方账户的余额划分得到的多个预备金金额;所述汇出方账户的余额、所述预备金金额、以及汇款接收方账户的余额均被预先进行了加密处理;
所述方法包括:
接收汇出方发送的用于向接收方汇款的第一交易,所述第一交易包括所述汇出方账户汇入接收方账户的、被加密处理的汇款额,所述汇出方从所述预备金列表中为所述第一交易分配的至少一个与所述汇款额对应的被加密的预备金金额,和基于被加密的预备金金额和被加密的汇款额生成的第一零知识证明;
对所述第一交易进行第一交易验证,所述第一交易验证包括基于零知识证明算法针对所述第一零知识证明进行零知识验证,以验证为所述第一交易所分配的预备金金额之和是否大于或者等于所述汇款额;
如果是,在所述汇出方账户被加密的余额中扣除所述汇款额,在接收方账户被加密的余额中增加所述汇款额。
2.根据权利要求1所述的方法,所述第一交易验证还包括验证所述第一交易包括的预备金金额是否在所述预备金列表中被标记为已使用状态。
3.根据权利要求1所述的方法,还包括:
如果为所述第一交易所分配的预备金金额之和大于或者等于所述汇款额,将所述第一交易包括的预备金金额在所述预备金列表中标记为已使用状态。
4.根据权利要求1所述的方法,所述预备金列表还包括所述多个预备金金额对应的唯一标识,所述第一交易还包括与所述至少一个与所述汇款额对应的预备金金额对应的唯一标识;
所述第一交易验证还包括:验证所述第一交易所包括的预备金金额的唯一标识是否在已完成的汇款交易中被使用过。
5.根据权利要求1所述的方法,所述第一交易还包括:基于被加密的汇款额生成的第二零知识证明;所述第一交易验证还包括基于零知识证明算法针对所述第二零知识证明进行零知识验证,以确认所述汇款额是否大于或者等于零。
6.根据权利要求1所述的方法,还包括:
接收所述汇出方发送的用于初始化预备金列表的第二交易,所述第二交易包括基于汇出方账户的余额划分得到的被预先加密处理的多个预备金金额,和基于被加密的所述多个预备金金额和被加密的所述汇出方账户的余额生成的第三零知识证明;
对所述第二交易进行第二交易验证,基于零知识证明算法针对所述第三零知识证明进行零知识验证,以确认所述第二交易所包括的多个预备金金额之和是否小于或者等于所述汇出方账户的余额;
如果所述第二交易通过所述第二交易验证,基于所述多个被预先加密处理的预备金金额构建预备金列表,并将所述预备金列表更新至所述汇出方账户。
7.根据权利要求6所述的方法,还包括:
将所述预备金列表包括的每个预备金金额均标记为未使用状态。
8.根据权利要求6所述的方法,所述预备金列表还包括为每个预备金金额生成的唯一标识。
9.根据权利要求1至6中任一权利要求所述的方法,所述汇出方账户的余额、所述预备金金额、以及汇款接收方账户的余额均被预先进行了加密处理,包括:所述汇出方账户的余额、所述预备金金额、以及汇款接收方账户的余额均被预先进行了同态加密处理;
所述在所述汇出方账户被加密的余额中扣除所述汇款额,在接收方账户被加密的余额中增加所述汇款额,包括:在所述汇出方账户被加密的余额中同态加密扣除所述汇款额,在接收方账户被加密的余额中同态加密增加所述汇款额。
10.根据权利要求1或5或6所述的方法,所述零知识证明算法包括区间证明算法。
11.一种基于区块链的汇款装置,其中,汇出方账户包括一预备金列表;所述预备金列表包括基于汇出方账户的余额划分得到的多个预备金金额;所述汇出方账户的余额、所述预备金金额、以及汇款接收方账户的余额均被预先进行了加密处理;
所述装置包括:
接收单元,接收汇出方发送的用于向接收方汇款的第一交易,所述第一交易包括所述汇出方账户汇入接收方账户的、被加密处理的汇款额,所述汇出方从所述预备金列表中为所述第一交易分配的至少一个与所述汇款额对应的被加密的预备金金额,和基于被加密的预备金金额和被加密的汇款额生成的第一零知识证明;
第一交易验证单元,用于验证包括基于零知识证明算法针对所述第一零知识证明进行零知识验证,以验证为所述第一交易所分配的预备金金额之和是否大于或者等于所述汇款额;
账户更新单元,在所述汇出方账户被加密的余额中扣除所述汇款额,在接收方账户被加密的余额中增加所述汇款额。
12.根据权利要求11所述的装置,所述第一交易验证单元,进一步用于验证所述第一交易包括的预备金金额是否在所述预备金列表中被标记为已使用状态。
13.根据权利要求11所述的装置,所述账户更新单元,进一步用于:
如果为所述第一交易所分配的预备金金额之和大于或者等于所述汇款额,将所述第一交易包括的预备金金额在所述预备金列表中标记为已使用状态。
14.根据权利要求11所述的装置,所述预备金列表还包括所述多个预备金金额对应的唯一标识,所述第一交易还包括与所述至少一个与所述汇款额对应的预备金金额对应的唯一标识;
所述第一交易验证单元,进一步用于:验证所述第一交易所包括的预备金金额的唯一标识是否在已完成的汇款交易中被使用过。
15.根据权利要求11所述的装置,所述第一交易还包括:基于被加密的汇款额生成的第二零知识证明;所述第一交易验证单元,进一步用于基于零知识证明算法针对所述第二零知识证明进行零知识验证,以确认所述汇款额是否大于或者等于零。
16.根据权利要求11所述的装置,所述接收单元,进一步用于接收所述汇出方发送的用于初始化预备金列表的第二交易,所述第二交易包括基于汇出方账户的余额划分得到的被预先加密处理的多个预备金金额,和基于被加密的所述多个预备金金额和被加密的所述汇出方账户的余额生成的第三零知识证明;
所述装置还包括第二交易验证单元,用于基于零知识证明算法针对所述第三零知识证明进行零知识验证,以确认所述第二交易所包括的多个预备金金额之和是否小于或者等于所述汇出方账户的余额;
所述账户更新单元,进一步用于如果所述第二交易通过所述第二交易验证,基于所述多个被预先加密处理的预备金金额构建预备金列表,并将所述预备金列表更新至所述汇出方账户。
17.根据权利要求16所述的装置,所述账户更新单元进一步用于:
将所述预备金列表包括的每个预备金金额均标记为未使用状态。
18.根据权利要求16所述的装置,所述预备金列表还包括为每个预备金金额生成的唯一标识。
19.根据权利要求11至16中任一权利要求所述的装置,所述汇出方账户的余额、所述预备金金额、以及汇款接收方账户的余额均被预先进行了加密处理,包括:所述汇出方账户的余额、所述预备金金额、以及汇款接收方账户的余额均被预先进行了同态加密处理;
所述账户更新单元,进一步用于:在所述汇出方账户被加密的余额中同态加密扣除所述汇款额,在接收方账户被加密的余额中同态加密增加所述汇款额。
20.根据权利要求11或15或16所述的装置,所述零知识证明算法包括区间证明算法。
21.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1到10任意一项所述的方法。
22.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1到10任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010713358.4A CN111899001A (zh) | 2018-08-30 | 2018-08-30 | 基于区块链的汇款方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811005187.9A CN109325747B (zh) | 2018-08-30 | 2018-08-30 | 基于区块链的汇款方法及装置 |
CN202010713358.4A CN111899001A (zh) | 2018-08-30 | 2018-08-30 | 基于区块链的汇款方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811005187.9A Division CN109325747B (zh) | 2018-08-30 | 2018-08-30 | 基于区块链的汇款方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111899001A true CN111899001A (zh) | 2020-11-06 |
Family
ID=65264562
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010713358.4A Pending CN111899001A (zh) | 2018-08-30 | 2018-08-30 | 基于区块链的汇款方法及装置 |
CN201811005187.9A Active CN109325747B (zh) | 2018-08-30 | 2018-08-30 | 基于区块链的汇款方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811005187.9A Active CN109325747B (zh) | 2018-08-30 | 2018-08-30 | 基于区块链的汇款方法及装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11151559B2 (zh) |
EP (1) | EP3779822A4 (zh) |
CN (2) | CN111899001A (zh) |
SG (1) | SG11202010702SA (zh) |
TW (1) | TWI733091B (zh) |
WO (1) | WO2020042774A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111899001A (zh) * | 2018-08-30 | 2020-11-06 | 创新先进技术有限公司 | 基于区块链的汇款方法及装置 |
CN110263580B (zh) * | 2019-04-29 | 2021-03-23 | 创新先进技术有限公司 | 基于区块链的数据处理方法、装置和区块链节点 |
US11115188B2 (en) | 2019-04-29 | 2021-09-07 | Advanced New Technologies Co., Ltd. | Blockchain-based data processing method, apparatus, and blockchain node |
US11314729B2 (en) * | 2020-02-20 | 2022-04-26 | International Business Machines Corporation | Multi-candidate data structure for transaction validation |
US20220020018A1 (en) * | 2020-02-28 | 2022-01-20 | Polymath Inc. | Cryptographic encryption protocol for data types and values |
CN111859409A (zh) * | 2020-04-14 | 2020-10-30 | 北京熠智科技有限公司 | 用于财务系统的数据处理方法以及装置、设备、存储介质 |
CN113657882A (zh) * | 2020-05-29 | 2021-11-16 | 支付宝(杭州)信息技术有限公司 | 基于账户模型的区块链转账方法及装置 |
CN111563129B (zh) * | 2020-07-15 | 2020-10-27 | 江苏荣泽信息科技股份有限公司 | 一种分布式存储区块链账本的方法 |
CN112990928B (zh) * | 2021-05-10 | 2021-08-24 | 南开大学 | 一种数字货币交易数据的安全保护方法 |
CN113222574B (zh) * | 2021-05-11 | 2023-07-25 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链系统的汇款方法及装置 |
CN113570373B (zh) * | 2021-09-23 | 2022-02-11 | 北京理工大学 | 一种基于区块链的可追责交易方法及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996022576A1 (en) * | 1995-01-18 | 1996-07-25 | King Douglas L | Method and apparatus of creating a financial instrument and administering an adjustable rate loan system |
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN107358525A (zh) * | 2017-06-26 | 2017-11-17 | 中国人民银行数字货币研究所 | 一种账户交易方法和装置 |
CN107464112A (zh) * | 2017-07-20 | 2017-12-12 | 捷德(中国)信息科技有限公司 | 基于区块链的交易管理方法及系统 |
CN107977837A (zh) * | 2017-11-10 | 2018-05-01 | 中国银行股份有限公司 | 热点账户的余额控制方法及装置 |
CN107993147A (zh) * | 2017-11-13 | 2018-05-04 | 中国银行股份有限公司 | 热点账户的余额控制方法及装置 |
CN108229943A (zh) * | 2018-01-19 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 区块链余额的调整方法及装置、电子设备 |
CN108364229A (zh) * | 2018-01-19 | 2018-08-03 | 阿里巴巴集团控股有限公司 | 资金流转方法及装置、电子设备 |
CN108418783A (zh) * | 2017-09-01 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种保护区块链智能合约隐私的方法、介质 |
CN108418689A (zh) * | 2017-11-30 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种适合区块链隐私保护的零知识证明方法和介质 |
CN108428168A (zh) * | 2018-03-21 | 2018-08-21 | 王国良 | 一种基于区块链技术的房屋租赁方法和系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5903880A (en) * | 1996-07-19 | 1999-05-11 | Biffar; Peter C. | Self-contained payment system with circulating digital vouchers |
CN101286859A (zh) * | 2007-04-13 | 2008-10-15 | 朗迅科技公司 | 在无线通信系统的在线计费系统中共享余额的家庭记账计划 |
US20150046337A1 (en) * | 2013-08-06 | 2015-02-12 | Chin-hao Hu | Offline virtual currency transaction |
US10148441B2 (en) * | 2014-09-12 | 2018-12-04 | Verisign, Inc. | Systems, devices, and methods for detecting double signing in a one-time use signature scheme |
US11023968B2 (en) * | 2015-03-05 | 2021-06-01 | Goldman Sachs & Co. LLC | Systems and methods for updating a distributed ledger based on partial validations of transactions |
WO2016200885A1 (en) * | 2015-06-08 | 2016-12-15 | Blockstream Corporation | Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction |
TWI631520B (zh) * | 2016-03-15 | 2018-08-01 | 現代財富控股有限公司 | 基於區塊鏈的清算系統及其方法 |
GB201611948D0 (en) * | 2016-07-08 | 2016-08-24 | Kalypton Int Ltd | Distributed transcation processing and authentication system |
US10565570B2 (en) * | 2016-09-27 | 2020-02-18 | The Toronto-Dominion Bank | Processing network architecture with companion database |
CN106920080B (zh) * | 2017-02-15 | 2021-03-30 | 捷德(中国)科技有限公司 | 数字货币的账户管理方法和系统 |
CN107862600A (zh) * | 2017-10-24 | 2018-03-30 | 深圳四方精创资讯股份有限公司 | 基于区块链的银行汇款方法及其系统 |
US11182787B2 (en) * | 2017-11-07 | 2021-11-23 | Liquidchain Ag | System and method for scaling blockchain networks with secure off-chain payment hubs |
EP3718069B1 (en) * | 2017-11-30 | 2024-04-17 | Visa International Service Association | Blockchain system for confidential and anonymous smart contracts |
CN108183959B (zh) * | 2017-12-29 | 2021-09-07 | 深圳市轱辘车联数据技术有限公司 | 一种基于区块链的车辆共享方法、服务器及可读存储介质 |
US20190295068A1 (en) * | 2018-03-22 | 2019-09-26 | Dennis MacQuilken | Systems and Methods for Offline Stored Value Payment Management, Offline Mutual Authentication for Payment, and Auditing Offline Transactions |
US11223485B2 (en) * | 2018-07-17 | 2022-01-11 | Huawei Technologies Co., Ltd. | Verifiable encryption based on trusted execution environment |
CN111899001A (zh) * | 2018-08-30 | 2020-11-06 | 创新先进技术有限公司 | 基于区块链的汇款方法及装置 |
PL3542336T3 (pl) * | 2018-11-07 | 2021-07-12 | Advanced New Technologies Co., Ltd. | Ochrona danych łańcucha bloków oparta na modelu noty księgowej z dowodem z wiedzą zerową |
US11151558B2 (en) * | 2018-12-12 | 2021-10-19 | American Express Travel Related Services Company, Inc | Zero-knowledge proof payments using blockchain |
-
2018
- 2018-08-30 CN CN202010713358.4A patent/CN111899001A/zh active Pending
- 2018-08-30 CN CN201811005187.9A patent/CN109325747B/zh active Active
-
2019
- 2019-03-14 TW TW108108597A patent/TWI733091B/zh active
- 2019-07-11 WO PCT/CN2019/095529 patent/WO2020042774A1/zh unknown
- 2019-07-11 SG SG11202010702SA patent/SG11202010702SA/en unknown
- 2019-07-11 EP EP19855723.3A patent/EP3779822A4/en active Pending
-
2020
- 2020-10-30 US US17/085,240 patent/US11151559B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996022576A1 (en) * | 1995-01-18 | 1996-07-25 | King Douglas L | Method and apparatus of creating a financial instrument and administering an adjustable rate loan system |
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN107358525A (zh) * | 2017-06-26 | 2017-11-17 | 中国人民银行数字货币研究所 | 一种账户交易方法和装置 |
CN107464112A (zh) * | 2017-07-20 | 2017-12-12 | 捷德(中国)信息科技有限公司 | 基于区块链的交易管理方法及系统 |
CN108418783A (zh) * | 2017-09-01 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种保护区块链智能合约隐私的方法、介质 |
CN107977837A (zh) * | 2017-11-10 | 2018-05-01 | 中国银行股份有限公司 | 热点账户的余额控制方法及装置 |
CN107993147A (zh) * | 2017-11-13 | 2018-05-04 | 中国银行股份有限公司 | 热点账户的余额控制方法及装置 |
CN108418689A (zh) * | 2017-11-30 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种适合区块链隐私保护的零知识证明方法和介质 |
CN108229943A (zh) * | 2018-01-19 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 区块链余额的调整方法及装置、电子设备 |
CN108364229A (zh) * | 2018-01-19 | 2018-08-03 | 阿里巴巴集团控股有限公司 | 资金流转方法及装置、电子设备 |
CN108428168A (zh) * | 2018-03-21 | 2018-08-21 | 王国良 | 一种基于区块链技术的房屋租赁方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
TWI733091B (zh) | 2021-07-11 |
US11151559B2 (en) | 2021-10-19 |
EP3779822A1 (en) | 2021-02-17 |
EP3779822A4 (en) | 2021-08-04 |
CN109325747A (zh) | 2019-02-12 |
CN109325747B (zh) | 2020-06-09 |
TW202009818A (zh) | 2020-03-01 |
US20210049594A1 (en) | 2021-02-18 |
WO2020042774A1 (zh) | 2020-03-05 |
SG11202010702SA (en) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325747B (zh) | 基于区块链的汇款方法及装置 | |
KR102309819B1 (ko) | 블록체인 기반의 거래 시스템 및 그 방법 | |
US11930100B2 (en) | Fund conversion between blockchains | |
TWI723658B (zh) | 基於區塊鏈中智慧合約保護交易活動敏感資料的方法和設備 | |
JP7128111B2 (ja) | ブロックチェーンを介して資産関連活動を制御するシステム及び方法 | |
CN109359974B (zh) | 区块链交易方法及装置、电子设备 | |
CN109508970B (zh) | 基于区块链的汇款方法及装置 | |
US11436595B2 (en) | Method for issuing, using, refunding, settling and revoking electronic voucher using updated status of balance database by respective blocks in blockchain, and server using the same | |
CN109242675B (zh) | 基于区块链的资产发布方法及装置、电子设备 | |
KR102332034B1 (ko) | 정보 보호를 위한 시스템 및 방법 | |
JP6995762B2 (ja) | ブロックチェーンからのデータのセキュアな抽出のための暗号方法及びシステム | |
CN109417465B (zh) | 区块链执行的智能合约的注册和自动化管理方法 | |
CN109359971B (zh) | 区块链交易方法及装置、电子设备 | |
JP2022088560A (ja) | ブロックチェーンベースの暗号通貨のためのトークンを検証する、コンピュータにより実行される方法及びシステム | |
US20150356523A1 (en) | Decentralized identity verification systems and methods | |
CN117151853A (zh) | 用于区块链上的安全点对点通信的方法 | |
WO2017207717A1 (en) | Validating blockchain transactions regarding real money | |
AU2021221485B2 (en) | Blockchain system that includes bank nodes each having separate ledgers for identity, digital currency and other functions, and operation method thereof | |
Christodorescu et al. | Towards a two-tier hierarchical infrastructure: an offline payment system for central bank digital currencies | |
CN112561407B (zh) | 基于区块链的资产管理方法、系统及装置 | |
WO2020107033A1 (en) | Methods, systems, and devices for on-chain stable transaction in decentralized cryptocurrencies | |
CN112001713A (zh) | 区块链系统以及请求处理方法和装置 | |
CN112801778A (zh) | 联盟式不良资产区块链 | |
Okoye | New applications of blockchain technology to voting and lending | |
Mülli | A Decentralized Bitcoin Exchange with Bitsquare—Attack Scenarios and Countermeasures |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40039770 Country of ref document: HK |