CN113762963A - 一种交易处理方法、装置、设备及存储介质 - Google Patents
一种交易处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113762963A CN113762963A CN202110994332.6A CN202110994332A CN113762963A CN 113762963 A CN113762963 A CN 113762963A CN 202110994332 A CN202110994332 A CN 202110994332A CN 113762963 A CN113762963 A CN 113762963A
- Authority
- CN
- China
- Prior art keywords
- transaction
- chain
- payment
- request
- result
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000007781 pre-processing Methods 0.000 claims abstract description 255
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 109
- 238000004590 computer program Methods 0.000 claims description 12
- 230000002452 interceptive effect Effects 0.000 abstract description 4
- 238000012546 transfer Methods 0.000 description 26
- 238000012790 confirmation Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010200 validation analysis 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/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
- 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/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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请实施例提供了一种交易处理方法、装置、设备及存储介质,涉及区块链技术领域,该方法包括:支付前置设备接收到区块链发送的交易请求时,发送相应的交易预处理请求至链下支付系统。链下支付系统执行相应的交易预处理操作,获得交易预处理结果。支付前置设备接收链下支付系统发送的交易预处理结果,并将交易预处理结果发送至区块链。在监听到区块链生成交易请求对应的链上交易结果时,发送交易指示消息至链下支付系统。本申请提供的该交易处理的方法,实现了联盟链的支付交易。链上交易可以通过智能合约发起交易请求,因此保证了链上交易在一个可信的环境中执行。由于链上交易和链下交易交互执行,也保证了链下交易的可信度和安全性。
Description
技术领域
本申请实施例涉及区块链技术领域,尤其涉及一种交易处理方法、装置、设备及存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
从技术分类看,区块链分为公有链、联盟链和私有链。目前的区块链以联盟链为主,对于联盟链来说,由于国内的监管政策的限制,联盟链一般不具备激励机制,基本没有代币,因此区块链也无法处理支付交易。
发明内容
本申请实施例提供了一种交易处理方法、装置、设备及存储介质,用于实现通过区块链处理交易,提供交易的可信度和安全性。
一方面,本申请实施例提供了一种交易处理方法,该方法包括:
接收到区块链发送的交易请求时,发送相应的交易预处理请求至链下支付系统,以使所述链下支付系统执行相应的交易预处理操作,获得交易预处理结果;
接收所述链下支付系统发送的交易预处理结果,并将所述交易预处理结果发送至所述区块链;
在监听到所述区块链生成所述交易请求对应的链上交易结果时,发送交易指示消息至所述链下支付系统,所述交易指示消息用于指示所述链下支付系统执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,其中,所述链上交易结果是所述区块链基于所述交易预处理结果,执行针对所述交易请求的链上处理操作获得的。
一方面,本申请实施例提供了一种交易处理方法,该方法包括:
接收支付前置设备发送的交易预处理请求,并执行相应的交易预处理操作,获得交易预处理结果,所述交易预处理请求是所述支付前置设备接收到区块链发送的交易请求后发送给链下支付系统的;
发送所述交易预处理结果至所述支付前置设备,以使所述支付前置设备将所述交易预处理结果发送至所述区块链;
接收所述支付前置设备发送的交易指示消息,并执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,所述交易指示消息是由所述支付前置设备在监听到所述区块链生成所述交易请求对应的链上交易结果时发送给所述链下支付系统的,所述链上交易结果是所述区块链基于所述交易预处理结果,执行针对所述交易请求的链上处理操作获得的。
一方面,本申请实施例提供了一种交易处理装置,该装置包括:
第一接收模块,用于接收到区块链发送的交易请求时,发送相应的交易预处理请求至链下支付系统,以使所述链下支付系统执行相应的交易预处理操作,获得交易预处理结果;
第一发送模块,用于接收所述链下支付系统发送的交易预处理结果,并将所述交易预处理结果发送至所述区块链;
第一处理模块,用于在监听到所述区块链生成所述交易请求对应的链上交易结果时,发送交易指示消息至所述链下支付系统,所述交易指示消息用于指示所述链下支付系统执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,其中,所述链上交易结果是所述区块链基于所述交易预处理结果,执行针对所述交易请求的链上处理操作获得的。
可选地,所述交易请求是由所述区块链通过智能合约调用支付前置设备中的预言机发送的。
可选地,所述第一接收模块具体用于:
接收所述区块链发送的加密后的交易请求,其中,所述交易请求是所述区块链基于支付前置设备的公钥加密的;
对所述交易请求进行解密,获得所述交易请求中的交易信息;
基于所述交易信息,生成交易预处理请求,并将所述交易预处理请求发送至所述链下支付系统。
可选地,所述第一接收模块具体用于:
接收到区块链发送的交易请求时,判断所述交易请求包含的链上交易标识、合约名称、调用序号,与历史交易请求中包含的链上交易标识、合约名称、调用序号是否一致;
若不一致,则发送相应的交易预处理请求至所述链下支付系统。
可选地,所述第一接收模块还用于:
若一致,则判断是否已缓存所述交易请求对应的交易预处理结果;
若已缓存,则将已缓存的所述交易请求对应的交易预处理结果发送至所述区块链;
若没有缓存,则等待所述链下支付系统返回所述交易请求对应的交易预处理结果。
可选地,所述第一处理模块还用于:
若监听到所述区块链生成所述交易请求对应的预设数量的区块,则确定所述交易请求对应的链上交易结果为链上交易成功,否则确定所述交易请求对应的链上交易结果为链上交易失败,其中,所述预设数量是根据所述区块链中共识算法或背书策略的配置信息确定的。
可选地,所述交易请求至少包括发送方账户以及支付金额,所述交易预处理请求包括锁定所述发送方账户中所述支付金额的请求;
所述第一处理模块具体用于:
在监听到所述链上交易结果为链上交易成功时,向所述链下支付系统发送第一交易指示消息,所述第一交易指示消息用于指示所述链下支付系统控制所述发送方账户向所述交易请求中的接收方账户支付所述支付金额,获得第一链下交易结果。
可选地,所述第一处理模块还用于:
在监听到所述链上交易结果为链上交易失败时,向所述链下支付系统发送第二交易指示消息,所述第二交易指示消息用于指示所述链下支付系统解锁所述发送方账户中所述支付金额,获得第二链下交易结果。
可选地,所述交易请求至少包括发送方账户、支付金额以及接收方账户,所述交易预处理请求包括控制所述发送方账户向所述接收方账户支付所述支付金额,以及锁定所述接收方账户中所述支付金额的请求;
所述第一处理模块具体用于:
在监听到所述链上交易结果为链上交易成功时,向所述链下支付系统发送第三交易指示消息,所述第三交易指示消息用于指示所述链下支付系统解锁所述接收方账户中所述支付金额,获得第三链下交易结果。
可选地,所述第一处理模块还用于:
在监听到所述链上交易结果为链上交易失败时,向所述链下支付系统发送第四交易指示消息,所述第四交易指示消息用于指示所述链下支付系统控制所述接收方账户向所述发送方账户退还所述支付金额,获得第四链下交易结果。
可选地,所述发送方账户是用户终端通过支付前置设备从标记服务商申请的支付标记。
可选地,所述交易请求包括发送方地址、所述发送方地址对应的数字人民币数串、接收方地址,所述发送方地址和所述接收方地址是用户终端通过数字货币钱包获得的,所述交易预处理请求包括锁定所述数字人民币数串的请求;
所述第一处理模块具体用于:
在监听到所述链上交易结果为链上交易成功时,向所述链下支付系统发送第五交易指示消息,所述第五交易指示消息用于指示所述链下支付系统控制将所述数字人民币数串从所述发送方地址转移至所述接收方地址,获得第五链下交易结果。
所述第一处理模块还用于:
在监听到所述链上交易结果为链上交易失败时,向所述链下支付系统发送第六交易指示消息,所述第六交易指示消息用于指示所述链下支付系统解锁所述数字人民币数串,获得第六链下交易结果。
一方面,本申请实施例提供了一种交易处理装置,该装置包括:
第二接收模块,用于接收支付前置设备发送的交易预处理请求,并执行相应的交易预处理操作,获得交易预处理结果,所述交易预处理请求是所述支付前置设备接收到区块链发送的交易请求后发送给链下支付系统的;
第二发送模块,用于发送所述交易预处理结果至所述支付前置设备,以使所述支付前置设备将所述交易预处理结果发送至所述区块链;
第二处理模块,用于接收所述支付前置设备发送的交易指示消息,并执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,所述交易指示消息是由所述支付前置设备在监听到所述区块链生成所述交易请求对应的链上交易结果时发送给所述链下支付系统的,所述链上交易结果是所述区块链基于所述交易预处理结果,执行针对所述交易请求的链上处理操作获得的。
可选地,所述交易请求至少包括发送方账户以及支付金额,所述交易预处理请求包括锁定所述发送方账户中所述支付金额的请求;
所述第二接收模块具体用于:
接收支付前置设备发送的交易预处理请求,并锁定所述发送方账户中所述支付金额。
可选地,所述第二处理模块具体用于:
接收所述支付前置设备发送的第一交易指示消息,控制所述发送方账户向所述交易请求中的接收方账户支付所述支付金额,获得第一链下交易结果;
或者,接收所述支付前置设备发送的第二交易指示消息,解锁所述发送方账户中所述支付金额,获得第二链下交易结果。
可选地,所述交易请求至少包括发送方账户、支付金额以及接收方账户,所述交易预处理请求包括控制所述发送方账户向所述接收方账户支付所述支付金额,以及锁定所述接收方账户中所述支付金额的请求;
所述第二接收模块具体用于:
接收支付前置设备发送的交易预处理请求,控制所述发送方账户向所述接收方账户支付所述支付金额,并锁定所述接收方账户中所述支付金额。
可选地,所述第二处理模块具体用于:
接收所述支付前置设备发送的第三交易指示消息,解锁所述接收方账户中所述支付金额,获得第三链下交易结果;
或者,接收所述支付前置设备发送的第四交易指示消息,控制所述接收方账户向所述发送方账户退还所述支付金额,获得第四链下交易结果。
可选地,所述交易请求包括发送方地址、所述发送方地址对应的数字人民币数串、接收方地址,所述发送方地址和所述接收方地址是用户终端通过数字货币钱包获得的,所述交易预处理请求包括锁定所述数字人民币数串的请求;
所述第二接收模块具体用于:
接收支付前置设备发送的交易预处理请求,并锁定所述数字人民币数串。
可选地,所述第二处理模块具体用于:
接收所述支付前置设备发送的第五交易指示消息,控制所述数字人民币数串从所述发送方地址转移至所述接收方地址,获得第五链下交易结果;
或者,接收所述支付前置设备发送的第六交易指示消息,解锁所述数字人民币数串,获得第六链下交易结果。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述工作流生成方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述工作流生成方法的步骤。
在本申请实施例中,支付前置设备接收到区块链发送的交易请求时,发送相应的交易预处理请求至链下支付系统。链下支付系统执行相应的交易预处理操作,获得交易预处理结果。交易请求中的发送方账户或接收方账户为多种线下支付账户中的一种,因此,本申请中的支付交易方法适配多种链下支付系统,以满足各种不同支付账户的使用,增强了本申请中支付交易方法的通用性。
支付前置设备接收链下支付系统发送的交易预处理结果,并将交易预处理结果发送至区块链。在监听到区块链生成交易请求对应的链上交易结果时,发送交易指示消息至链下支付系统,交易指示消息用于指示链下支付系统执行相应的链下处理操作,获得交易请求对应的链下交易结果,其中,链上交易结果是区块链基于交易预处理结果,执行针对交易请求的链上处理操作获得的。本申请提供的该交易处理的方法,实现了联盟链的支付交易。由于该支付交易是基于链上交易和链下交易同时进行处理的。即根据链下交易的交易预处理结果,区块链执行交易请求的链上交易,获得链上交易结果;链下支付系统再根据链上交易结果,执行交易请求的链下交易,获得链下交易结果。链上交易可以通过智能合约发起交易请求,因此保证了链上交易在一个可信的环境中执行。由于链上交易和链下交易交互执行,因此,也保证了链下交易的可信度和安全性,可以避免单独执行链下交易时所存在的人为失误带来的错误交易。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种交易处理方法的流程示意图;
图3为本申请实施例提供的一种交易处理方法的流程示意图;
图4为本申请实施例提供的一种交易处理方法的流程示意图;
图5为本申请实施例提供的一种交易处理方法的流程示意图;
图6为本申请实施例提供的一种交易处理方法的流程示意图;
图7为本申请实施例提供的一种交易处理装置的结构示意图;
图8为本申请实施例提供的一种交易处理装置的结构示意图;
图9为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了方便理解,下面对本发明实施例中涉及的名词进行解释。
联盟链:由多个私有链组成的集群,由多个机构共同参与管理的区块链,每个组织或机构管理一个或多个节点,其数据只允许系统内不同的机构进行读写和发送。
智能合约:当一定条件被满足的情况下,可以被自动执行的计算机系统上的合约。
预言机:连接外部数据和智能合约,充当区块链和数据应用程序接口(Application Programming Interface,简称API)之间的中间层,将数据转换为区块链可以读取的格式。
TR:Token Request,支付标记请求方,向标记服务商提供标记申请的机构。
TSP:Token Service Provider,标记服务商,负责产生、维护标记的主体,也负责管理支付标记请求方,并向其提供标记的相关服务。
token:支付标记,是指主账号(PAN)的一个代替值,一般由13至19位的数字组成,该数值必须符合主账号的基本验证规则,其中包括LUHN算法校验。
非对称加密:一种使用一对密钥(公钥和私钥)进行加密的密码系统。
参考图1,其为本申请实施例适用的一种系统架构图,该系统架构至少包括终端设备101、区块链102、支付前置设备103以及链下支付系统104。
终端设备101安装有交易处理的目标应用,该应用可以是预先安装的客户端、网页版应用或嵌入在其他应用中的小程序等。终端设备101可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。
区块链102、支付前置设备103和链下支付系统104为目标应用的后台服务器,为目标应用提供服务。区块链102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网路(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
支付前置设备103可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网路(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
链下支付系统104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网路(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端设备101与区块链102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。区块链102和支付前置设备103可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。支付前置设备103和链下支付系统104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
终端设备101响应于用户的交易处理操作,发送交易处理请求至区块链102,交易处理请求中至少包括发送方账户、接收方账户以及支付金额。
区块链102发送交易请求至支付前置设备103。支付前置设备103接收到区块链102发送的交易请求时,发送相应的交易预处理请求至链下支付系统104。链下支付系统104执行相应的交易预处理操作,获得交易预处理结果。支付前置设备103接收链下支付系统发送的交易预处理结果,并将交易预处理结果发送至区块链102。区块链102基于交易预处理结果,执行针对交易请求的链上处理操作,获得链上交易结果,并对链上交易结果进行共识确认。支付前置设备103在监听到区块链生成交易请求对应的链上交易结果时,发送交易指示消息至链下支付系统104。链下支付系统104基于交易指示消息,执行相应的链下处理操作,获得交易请求对应的链下交易结果。
基于图1所述的系统架构图,本申请实施例提供了一种交易处理方法的流程,如图2所示,该方法的流程由图1所示的区块链102、支付前置设备103以及链下支付系统104交互执行,包括以下步骤:
步骤S201、区块链发送交易请求至支付前置设备。
具体地,交易请求可以由区块链直接发送,也可以由区块链通过智能合约调用支付前置设备中的预言机发送。
交易请求中包括两部分内容:第一部分是调用元数据信息,调用元数据信息包括以下一项或多项:链上交易标识、合约名称、调用序号等。第二部分是交易参数,交易参数包括以下一项或多项:发送方账户、支付金额、接收方账户、签名、数字人民币数串等信息。
发送方账户或接收方账户可以是银行卡账户、线下二维码、线下条形码、线下近场通信(Near Field Communication,NFC)应用,也可以是用户终端通过支付前置设备从标记服务商申请的支付标记,还可以是用户终端通过数字货币钱包获得的发送地址或接收方地址,对此,在此不做限定。
当用户终端从标记服务商申请支付标记时,用户终端通过支付前置设备或其他支付服务商的页面提交用户的银行卡账户信息以及标记申请请求。支付前置设备或其他支付服务商作为支付标记请求方向标记服务商申请支付标记。标记服务商完成用户终端提交的账户信息的验证后,向支付标记请求方下发支付标记,支付标记请求方将支付标记返回给用户终端或者直接注册到区块链。
步骤S202、支付前置设备发送相应的交易预处理请求至链下支付系统。
具体地,支付前置设备的具体位置是在区块链和链下支付系统之间,支付前置设备可以采用中心化或分布式或去中心化的方式实现。
一种可能的实施方式,交易预处理请求包括锁定发送方账户中支付金额的请求。
举例来说,发送方账户为银行卡账户A,支付金额为100元,则交易预处理请求的内容包括:锁定银行卡账户A中的100元。
一种可能的实施方式,交易预处理请求包括控制发送方账户向接收方账户支付支付金额,以及锁定接收方账户中支付金额的请求。
举例来说,发送方账户为银行卡账户A,支付金额为100元,接收方账户为银行卡账户B,则交易预处理请求的内容包括:控制银行卡账户A向银行卡账户B支付100元,并锁定银行卡账户B中的100元。
一种可能的实施方式,交易预处理请求包括锁定发送方地址对应的数字人民币数串的请求。
举例来说,发送方账户为发送方地址A,在发送方地址A中包含数字人民币数串,数字人民币数串对应的支付金额为100元。接收方账户为接收方地址B,则交易预处理请求的内容包括:锁定发送方地址A中的数字人民币数串。
一种可能的实施方式,交易预处理请求包括控制支付金额对应的数字人民币数串从发送方地址转移至接收方地址,以及锁定接收方地址中该数字人民币数串的请求。
举例来说,发送方账户为发送方地址A,在发送方地址A中包含数字人民币数串,数字人民币数串对应的支付金额为100元。接收方账户为接收方地址B,则交易预处理请求的内容包括:将发送方地址A中的数字人民币数串从发送方地址A转移至接收方地址B,并锁定接收方地址中的数字人民币数串。
可选地,支付前置设备在确定接收的交易请求中的链上交易标识、合约名称、调用序号,与历史交易请求中的链上交易标识、合约名称、调用序号相同时,判断是否已缓存交易请求对应的交易预处理结果,若是,则将已缓存的交易请求对应的交易预处理结果发送至区块链,否则等待链下支付系统返回交易请求对应的交易预处理结果。支付前置设备在确定接收的交易请求中的链上交易标识、合约名称、调用序号,与历史交易请求中的链上交易标识、合约名称、调用序号不相同时,执行步骤S203。
步骤S203、链下支付系统执行相应的交易预处理操作,获得交易预处理结果。
一种可能的实施方式,当交易预处理请求包括锁定发送方账户中支付金额的请求时,链下支付系统锁定发送方账户中相应的支付金额,获得交易预处理结果。
举例来说,当交易预处理请求的内容为锁定银行卡账户A中的100元时,链下支付系统执行锁定银行卡账户A中的100元操作,获得交易预处理结果。
一种可能的实施方式,当交易预处理请求包括控制发送方账户向接收方账户支付支付金额,以及锁定接收方账户中支付金额的请求时,链下支付系统控制发送方账户向接收方账户支付相应的支付金额,并锁定接收方账户中相应的支付金额,获得交易预处理结果。
举例来说,当交易预处理请求的内容为控制银行卡账户A向银行卡账户B支付100元,并锁定银行卡账户B中的100元时,链下支付系统控制银行卡账户A向银行卡账户B支付100元,并锁定银行卡账户B中的100元,获得交易预处理结果。
一种可能的实施方式,当交易预处理请求包括锁定发送方地址对应的数字人民币数串的请求时,链下支付系统锁定该数字人民币数串。
举例来说,当交易预处理请求的内容为锁定发送方地址A中的数字人民币数串时,链下支付系统执行锁定该数字人民币数串操作,获得交易预处理结果。
一种可能的实施方式,当交易预处理请求包括控制将发送方地址中的数字人民币数串从发送方地址转移至接收方地址,以及锁定接收方地址中该数字人民币数串的请求时,链下支付系统控制将支付金额对应的数字人民币数串从发送方地址转移至接收方地址,并锁定接收方地址中该数字人民币数串,获得交易预处理结果。
举例来说,当交易预处理请求的内容为控制将发送方地址A中的数字人民币数串从发送方地址A转移至接收方地址B,并锁定接收方地址B中的该数字人民币数串时,链下支付系统控制将发送方地址A中的数字人民币数串从发送方地址A转移至接收方地址B,并锁定接收方B中的该数字人民币数串,获得交易预处理结果。
步骤S204、链下支付系统发送交易预处理结果至支付前置设备。
具体地,支付前置设备在本地缓存交易预处理结果和对应的链上交易标识。
步骤S205、支付前置设备将交易预处理结果发送至区块链。
具体地,交易预处理结果包括交易预处理成功和交易预处理不成功两种情况。
举例来说,一种可能的实施方式,当交易预处理请求的内容为锁定银行卡账户A中的100元时,链下支付系统执行锁定银行卡账户A中的100元操作。
若银行卡账户A中并没有100元,或者链下支付系统无法锁定银行卡账户A中的100元时,获得的交易预处理结果为交易预处理不成功;
若链下支付系统成功锁定了银行卡账户A中的100元,获得的交易预处理结果为交易预处理成功。
一种可能的实施方式,当交易预处理请求的内容为控制银行卡账户A向银行卡账户B支付100元,并锁定银行卡账户B中的100元时,链下支付系统执行对应的操作。
若链下支付系统无法控制银行卡账户A向银行卡账户B支付100元,或无法锁定银行卡账户B中的100元时,获得的交易预处理结果为交易预处理不成功;
若链下支付系统控制银行卡账户A向银行卡账户B支付100元,并成功锁定银行卡账户B中的100元时,获得的交易预处理结果为交易预处理成功。
一种可能的实施方式,当交易预处理请求的内容为锁定发送方地址A中的数字人民币数串,链下支付系统执行对应的操作。
若发送方地址A中并没有数字人民币数串,或者链下支付系统无法锁定发送方地址A中的该数字人民币数串,则获得的交易预处理结果为交易预处理不成功;
若链下支付系统成功锁定了发送方地址A中的数字人民币数串,则获得的交易预处理结果为交易预处理成功。
一种可能的实施方式,当交易预处理请求的内容为控制将发送方地址A中的数字人民币数串从发送方地址A转移至接收方地址B,并锁定接收方地址B中的该数字人民币数串时,链下支付系统执行对应的操作。
若链下支付系统无法控制将发送方地址A中的数字人民币数串从发送方地址A转移至接收方地址B,或无法锁定接收方地址B中的该数字人民币数串,则获得的交易预处理结果为交易预处理不成功;
若链下支付系统控制将发送方地址A中的数字人民币数串从发送方地址A转移至接收方地址B,并成功锁定接收方地址B中的该数字人民币数串,则获得的交易预处理结果为交易预处理成功。
步骤S206、区块链在确定交易预处理结果为交易预处理成功时,基于交易预处理结果执行针对交易请求的链上处理操作,获得链上交易结果。
具体地,链上处理操作包括基于交易预处理结果对交易请求进行处理,将交易处理结果记入区块,然后将区块进行共识确认,在区块确认后即完成了交易确认事件。
另外,区块链在确定交易预处理结果为交易预处理失败时,输出链上交易失败并结束。
步骤S207、支付前置设备监听到区块链生成链上交易结果。
可选地,若监听到区块链生成交易请求对应的预设数量的区块,则确定交易请求对应的链上交易结果为链上交易成功,否则确定交易请求对应的链上交易结果为链上交易失败,其中,预设数量是根据区块链中共识算法或背书策略的配置信息确定的。
具体地,共识算法中的预设数量可以是一个具体的数值,也可以根据区块链上区块的数量进行调整。
步骤S208、支付前置设备发送交易指示消息至链下支付系统。
一种可能的实施方式,若交易预处理操作为锁定发送方账户中相应的支付金额,当支付前置设备在监听到链上交易结果为链上交易成功时,向链下支付系统发送第一交易指示消息,第一交易指示消息用于指示链下支付系统控制发送方账户向交易请求中的接收方账户支付相应的支付金额,获得第一链下交易结果。
当支付前置设备在监听到链上交易结果为链上交易失败时,向链下支付系统发送第二交易指示消息,第二交易指示消息用于指示链下支付系统解锁发送方账户中支付金额,获得第二链下交易结果。
举例来说,若交易预处理操作为锁定银行卡账户A中的100元时,当支付前置设备在监听到链上交易结果为链上交易成功时,向链下支付系统发送第一交易指示消息,即链下支付系统控制银行卡账户A向银行卡账户B支付100元。
当支付前置设备在监听到链上交易结果为链上交易失败时,向链下支付系统发送第二交易指示消息,即链下支付系统解锁银行卡账户A中的100元。
一种可能的实施方式,若交易预处理操作为控制发送方账户向接收方账户支付支付金额,以及锁定接收方账户中相应的支付金额。当支付前置设备在监听到链上交易结果为链上交易成功时,向链下支付系统发送第三交易指示消息,第三交易指示消息用于指示链下支付系统解锁接收方账户中相应的支付金额,获得第三链下交易结果。
当支付前置设备在监听到链上交易结果为链上交易失败时,向链下支付系统发送第四交易指示消息,第四交易指示消息用于指示链下支付系统控制接收方账户向发送方账户退还相应的支付金额,获得第四链下交易结果。
举例来说,若交易预处理操作为控制银行卡账户A向银行卡账户B支付100元,并锁定银行卡账户B中的100元,当支付前置设备在监听到链上交易结果为链上交易成功时,向链下支付系统发送第三交易指示消息,即链下支付系统解锁银行卡账户B中的100元。
当支付前置设备在监听到链上交易结果为链上交易失败时,向链下支付系统发送第四交易指示消息,即链下支付系统控制银行卡账户B向银行卡账户A退还100元。
一种可能的实施方式,若交易预处理操作为锁定发送方地址中支付金额对应的数字人民币数串,当支付前置设备在监听到链上交易结果为链上交易成功时,向链下支付系统发送第五交易指示消息,第五交易指示消息用于指示链下支付系统控制将该数字人民币数串从发送方地址转移至接收方地址,获得第五链下交易结果。
当支付前置设备在监听到链上交易结果为链上交易失败时,向链下支付系统发送第六交易指示消息,第六交易指示消息用于指示链下支付系统解锁发送方地址中该支付金额对应的数字人民币数串,获得第六链下交易结果。
举例来说,若交易预处理操作为锁定发送方地址A中的数字人民币数串,当支付前置设备在监听到链上交易结果为链上交易成功时,向链下支付系统发送第五交易指示消息,即链下支付系统控制将发送方地址A中的数字人民币数串从发送方地址A转移至接收方地址B。
当支付前置设备在监听到链上交易结果为链上交易失败时,向链下支付系统发送第六交易指示消息,即链下支付系统解锁发送方地址A中的数字人民币数串。
一种可能的实施方式,若交易预处理操作为控制将支付金额对应的数字人民币数串从发送方地址转移至接收方地址,以及锁定接收方地址中该数字人民币数串。当支付前置设备在监听到链上交易结果为链上交易成功时,向链下支付系统发送第七交易指示消息,第七交易指示消息用于指示链下支付系统解锁接收方地址中该数字人民币数串,获得第七链下交易结果。
当支付前置设备在监听到链上交易结果为链上交易失败时,向链下支付系统发送第八交易指示消息,第八交易指示消息用于指示链下支付系统控制将该数字人民币数串从接收方地址转移至发送方地址,获得第八链下交易结果。
举例来说,若交易预处理操作为控制将发送方地址A中的数字人民币数串从发送方地址A转移至接收方地址B,并锁定接收方地址B中该数字人民币数串,当支付前置设备在监听到链上交易结果为链上交易成功时,向链下支付系统发送第七交易指示消息,即链下支付系统解锁接收方地址B中该数字人民币数串。
当支付前置设备在监听到链上交易结果为链上交易失败时,向链下支付系统发送第八交易指示消息,即链下支付系统控制将发送方地址B中的该数字人民币数串从接收方地址B转移至发送方地址A。
步骤S209、链下支付系统执行相应的链下处理操作,获得链下交易结果。
一种可能的实施方式,若链下支付系统接收第一交易指示消息,则控制发送方账户向交易请求中的接收方账户支付相应的支付金额,获得第一链下交易结果。若链下支付系统接收第二交易指示消息,则解锁发送方账户中相应的支付金额,获得第二链下交易结果。
举例来说,若交易预处理操作为锁定银行卡账户A中的100元时,当链下支付系统接收到第一指示消息时,链下支付系统控制银行卡账户A向银行卡账户B支付100元,获得第一链下交易结果。
当链下支付系统接收到第二指示消息时,链下支付系统解锁银行卡账户A中的100元。
一种可能的实施方式,若链下支付系统接收第三交易指示消息,则解锁接收方账户中上述支付金额,获得第三链下交易结果。若链下支付系统接收第四交易指示消息,则控制接收方账户向发送方账户退还上述支付金额。
举例来说,若交易预处理操作为控制银行卡账户A向银行卡账户B支付100元,并锁定银行卡账户B中的100元时,当链下支付系统接收到第三指示消息时,链下支付系统解锁银行卡账户B中的100元。
当链下支付系统接收到第四指示消息时,链下支付系统控制银行卡账户B向银行卡账户A退还100元。
一种可能的实施方式,若链下支付系统接收第五交易指示消息,则控制将数字人民币数串从发送方地址转移至接收方地址,获得第五链下交易结果。若链下支付系统接收第六交易指示消息,则解锁发送方地址中相应的数字人民币数串,获得第六链下交易结果。
举例来说,若交易预处理操作为锁定发送方地址A中的数字人民币数串,当链下支付系统接收到第五指示消息时,链下支付系统控制将发送方地址A中的人民币数串从发送方地址A转移至接收方地址B,获得第五链下交易结果。
当链下支付系统接收到第六指示消息时,链下支付系统解锁发送方地址A中的人民币数串。
一种可能的实施方式,若链下支付系统接收第七交易指示消息,则解锁接收方地址中上述数字人民币数串,获得第七链下交易结果。若链下支付系统接收第八交易指示消息,则控制将上述数字人民币数串从接收方地址转移至发送方地址,获得第八链下交易结果。
举例来说,若交易预处理操作为控制将发送方地址A中的数字人民币数串从发送方地址A转移至接收方地址B,并锁定接收方地址B中的该数字人民币数串,当链下支付系统接收到第七指示消息时,链下支付系统解锁接收方地址B中的该数字人民币数串。
当链下支付系统接收到第八指示消息时,链下支付系统控制将接收方地址B中的数字人民币数串从接收方地址B转移至发送方地址A。
在本申请实施例中,支付前置设备接收到区块链发送的交易请求时,发送相应的交易预处理请求至链下支付系统。链下支付系统执行相应的交易预处理操作,获得交易预处理结果。交易请求中的发送方账户或接收方账户为多种线下支付账户中的一种,因此,本申请中的支付交易方法适配多种链下支付系统,以满足各种不同支付账户的使用,增强了本申请中支付交易方法的通用性。
支付前置设备接收链下支付系统发送的交易预处理结果,并将交易预处理结果发送至区块链。在监听到区块链生成交易请求对应的链上交易结果时,发送交易指示消息至链下支付系统,交易指示消息用于指示链下支付系统执行相应的链下处理操作,获得交易请求对应的链下交易结果,其中,链上交易结果是区块链基于交易预处理结果,执行针对交易请求的链上处理操作获得的。本申请提供的该交易处理的方法,实现了联盟链的支付交易。由于该支付交易是基于链上交易和链下交易同时进行处理的。即根据链下交易的交易预处理结果,区块链执行交易请求的链上交易,获得链上交易结果;链下支付系统再根据链上交易结果,执行交易请求的链下交易,获得链下交易结果。链上交易可以通过智能合约发起交易请求,因此保证了链上交易在一个可信的环境中执行。由于链上交易和链下交易交互执行,因此,也保证了链下交易的可信度和安全性,可以避免单独执行链下交易时所存在的人为失误带来的错误交易。
可选地,在上述步骤S203中,支付前置设备接收区块链发送的加密后的交易请求,其中,交易请求是区块链基于支付前置设备的公钥加密的。支付前置设备对交易请求进行解密,获得交易请求中的交易信息,然后基于交易信息,生成交易预处理请求,并将交易预处理请求发送至链下支付系统。
具体地,加密算法可以是对称加密算法,也可以是非对称加密算法。对称加密算法中,数据发送者和数据接收者使用同一套规则来对数据进行加密和解密。非对称加密使用密钥对对数据进行加密和解密,密钥对包含一个公钥,一个私钥。非对称加密算法一般可以划分为三种主要的方式:大整数分解问题类、离散对数问题类、椭圆曲线类。区块链中的非对称加密算法主要使用椭圆曲线类加密算法,即利用平面椭圆曲线来计算成组非对称特殊值。
在本申请实施例中,区块链使用支付前置设备的公钥,对交易请求进行加密后,将加密后的交易请求发送给支付前置设备。如果该加密后的交易请求被第三方拦截,第三方也只能看到随机的数字和字母,并不能获取交易请求中的信息。支付前置设备接收到加密后的交易请求,利用自身的私钥对交易请求进行解密,获得交易请求中的交易信息。
本申请中,采用了非对称加密算法对交易请求进行加密,由于非对称加密算法使用了密钥对对数据进行加密和解密,密钥对中的公钥公开,私钥自己保存,安全性更高,在保证了交易请求安全性的同时,解决了密钥传输问题。
为了更好的解释本申请实施例,下面结合具体的转账场景描述本发明实施例提供的一种交易处理的方法,该方法由区块链、支付前置设备和链下支付系统交互执行,设定发送方账户是银行卡账户,如图3所示,该方法包括以下步骤:
步骤S301、支付前置设备启动预言机服务和监听链上区块确认和交易事件。
步骤S302、区块链直接或通过智能合约发送加密后的交易请求至支付前置设备。
其中,交易请求中至少包括发送方银行卡账户以及支付金额。
步骤S303、支付前置设备对交易请求进行解密。
支付前置设备判断该交易请求包含的链上交易标识、合约名称、调用序号,与历史交易请求中包含的链上交易标识、合约名称、调用序号是否一致,若不一致,则执行步骤S304。
若一致,则判断是否已缓存该交易请求对应的交易预处理结果,若已缓存,则将执行步骤S307;若没有缓存,则等待链下支付系统返回该交易请求对应的交易预处理结果,并执行步骤S307。
步骤S304、支付前置设备向链下支付系统发送锁定发送方银行卡账户中上述支付金额的请求。
步骤S305、链下支付系统执行锁定发送方银行卡账户中上述支付金额的操作,获得交易预处理结果。
步骤S306、链下支付系统发送交易预处理结果至支付前置设备。
步骤S307、支付前置设备判断锁定发送方银行卡账户中上述支付金额的操作是否成功,若是,则执行步骤S308,否则,执行步骤S316。
步骤S308,支付前置设备发送交易预处理成功消息至区块链。
步骤S309、区块链执行链上处理操作,获得链上交易结果。
链上处理操作包括基于交易预处理结果对交易请求进行处理,将交易处理结果记入区块,然后将区块进行共识确认,在区块确认后即完成了交易确认事件。
步骤S310、支付前置设备监听区块链生成的交易请求对应的链上交易结果。
步骤S311、判断链上交易结果是否为链上交易成功,若是,则执行步骤S312,否则,执行步骤S314。
若监听到区块链生成交易请求对应的预设数量的区块,则确定交易请求对应的链上交易结果为链上交易成功,否则确定交易请求对应的链上交易结果为链上交易失败,其中,预设数量是根据区块链中共识算法或背书策略的配置信息确定的。
步骤S312、支付前置设备发送第一交易指示消息至链下支付系统。
其中,第一交易指示消息用于指示链下支付系统控制发送方银行卡账户向接收方银行卡账户支付上述支付金额。
步骤S313、链下支付系统控制发送方银行卡账户向接收方银行卡账户支付上述支付金额,获得第一链下交易结果。
步骤S314、支付前置设备发送第二交易指示消息至链下支付系统。
其中,第二交易指示消息用于指示链下支付系统解锁发送方银行卡账户中上述支付金额。
步骤S315、链下支付系统解锁发送方银行卡账户中的上述支付金额,获得第二链下交易结果。
步骤S316、区块链输出链上交易失败。
本申请实施例中,在进行支付交易时,链下支付系统先执行锁定发送方相应支付金额,获得交易预处理结果。区块链通过支付前置设备获得交易预处理结果后,基于交易预处理结果执行交易请求的链上交易操作,链下支付系统执行相应的链下交易操作,获得链下交易结果。由于区块链通过智能合约执行链上交易,保证了链上交易在一个可信的环境中执行。由于链上交易和链下交易是交互执行的,因此也保证了链下交易的可信度和安全性,避免人为失误带来的错误交易。
其次,在进行支付交易时,先锁定发送方账户中的相应的支付金额,根据是否锁定成功,再进行对应的链上交易处理和链下交易处理,保证了后续交易的准确性,同时避免了无效处理过程。
为了更好的解释本申请实施例,下面结合具体的转账场景描述本发明实施例提供的一种交易处理的方法,该方法由区块链、支付前置设备和链下支付系统交互执行,设定发送方账户是支付标记,接收方账户是商户的线下二维码,如图4所示,包括以下步骤:
步骤S401、支付前置设备启动预言机服务和监听链上区块确认和交易事件。
步骤S402、区块链直接或通过智能合约发送加密后的交易请求至支付前置设备。
其中,交易请求中至少包括发送方支付标记、接收方的线下二维码以及支付金额。
步骤S403、支付前置设备对交易请求进行解密。
支付前置设备判断该交易请求包含的链上交易标识、合约名称、调用序号,与历史交易请求中包含的链上交易标识、合约名称、调用序号是否一致,若不一致,则执行步骤S404。
若一致,则判断是否已缓存该交易请求对应的交易预处理结果,若已缓存,则将执行步骤S409;若没有缓存,则等待链下支付系统返回该交易请求对应的交易预处理结果,并执行步骤S409。
步骤S404、支付前置设备将交易请求发送给标记服务商。
步骤S405、标记服务商根据发送方支付标记确定发送方银行卡账户。
步骤S406、标记服务商向链下支付系统发送交易预处理请求。
其中,交易预处理请求的内容包括发送方银行卡账户向线下二维码对应的接收方银行卡账户支付上述支付金额,以及锁定接收方银行卡账户中上述支付金额。
步骤S407、链下支付系统控制发送方银行卡账户向接收方银行卡账户支付上述支付金额,以及锁定接收方银行卡账户中上述支付金额,获得交易预处理结果。
步骤S408、链下支付系统发送交易预处理结果至支付前置设备。
步骤S409、支付前置设备判断发送方银行卡账户向接收方银行卡账户支付上述支付金额,以及锁定接收方银行卡账户中上述支付金额是否成功,若是,则执行步骤S410,否则,执行步骤S418。
步骤S410、支付前置设备发送交易预处理成功消息至区块链。
步骤S411、区块链执行链上处理操作,获得链上交易结果。
链上处理操作包括基于交易预处理结果对交易请求进行处理,将交易处理结果记入区块,然后将区块进行共识确认,在区块确认后即完成了交易确认事件。
步骤S412、支付前置设备监听区块链生成的交易请求对应的链上交易结果。
步骤S413、判断链上交易结果是否为链上交易成功,若是,则执行步骤S414,否则,执行步骤S416。
若监听到区块链生成交易请求对应的预设数量的区块,则确定交易请求对应的链上交易结果为链上交易成功,否则确定交易请求对应的链上交易结果为链上交易失败,其中,预设数量是根据区块链中共识算法或背书策略的配置信息确定的。
步骤S414、支付前置设备发送第三交易指示消息至链下支付系统。
其中,第三交易指示消息用于指示链下支付系统解锁接收方银行卡账户中的上述支付金额。
步骤S415、链下支付系统解锁接收方银行卡账户中的上述支付金额,获得第三链下交易结果。
步骤S416、支付前置设备发送第四交易指示消息至链下支付系统。
其中,第四交易指示消息用于指示链下支付系统控制接收方银行卡账户向发送方银行卡账户退还上述支付金额。
步骤S417、链下支付系统控制接收方银行卡账户向发送方银行卡账户退还上述支付金额,获得第四链下交易结果。
步骤S418、区块链输出链上交易失败。
本申请实施例中,在进行支付交易时,链下支付系统先控制发送方银行卡账户向接收方银行卡账户支付相应的支付金额,以及锁定接收方银行卡账户中该支付金额,获得交易预处理结果。区块链通过支付前置设备获得交易预处理结果后,基于交易预处理结果执行交易请求的链上交易操作,链下支付系统执行相应的链下交易操作,获得链下交易结果。由于区块链通过智能合约执行链上交易,保证了链上交易在一个可信的环境中执行。由于链上交易和链下交易是交互执行的,因此也保证了链下交易的可信度和安全性,避免人为失误带来的错误交易。
其次,本实施例中,采用支付标记替代交易请求中的银行卡账户,避免了银行卡账户泄露,保证了交易的安全性。同时,采用统一格式的支付标记代替各种银行卡账户信息,可以提高支付交易中兼容性,以及提高管理不同种类交易账号的灵活性。
为了更好的解释本申请实施例,下面结合具体的转账场景描述本发明实施例提供的一种交易处理的方法,该方法由区块链、支付前置设备和链下支付系统交互执行,设定发送方账户是发送方地址,接收方账户为接收方地址,如图5所示,该方法包括以下步骤:
步骤S501、支付前置设备启动预言机服务和监听链上区块确认和交易事件。
步骤S502、区块链直接或通过智能合约发送加密后的交易请求至支付前置设备。
其中,交易请求中包括发送方地址、发送方地址中的数字人民币数串、接收方地址,数字人民币数串包括相应的支付金额。
步骤S503、支付前置设备对交易请求进行解密。
支付前置设备判断该交易请求包含的链上交易标识、合约名称、调用序号,与历史交易请求中包含的链上交易标识、合约名称、调用序号是否一致,若不一致,则执行步骤S504。
若一致,则判断是否已缓存该交易请求对应的交易预处理结果,若已缓存,则将执行步骤S507;若没有缓存,则等待链下支付系统返回该交易请求对应的交易预处理结果,并执行步骤S507。
步骤S504、支付前置设备向链下支付系统发送锁定发送方地址中数字人民币数串的请求。
步骤S505、链下支付系统执行锁定发送方地址中数字人民币数串的操作,获得交易预处理结果。
步骤S506、链下支付系统发送交易预处理结果至支付前置设备。
步骤S507、支付前置设备判断锁定发送方地址中上述数字人民币数串的操作是否成功,若是,则执行步骤S508,否则,执行步骤S516。
步骤S508,支付前置设备发送交易预处理成功消息至区块链。
步骤S509、区块链执行链上处理操作,获得链上交易结果。
链上处理操作包括基于交易预处理结果对交易请求进行处理,将交易处理结果记入区块,然后将区块进行共识确认,在区块确认后即完成了交易确认事件。
步骤S510、支付前置设备监听区块链生成的交易请求对应的链上交易结果。
步骤S511、判断链上交易结果是否为链上交易成功,若是,则执行步骤S512,否则,执行步骤S514。
若监听到区块链生成交易请求对应的预设数量的区块,则确定交易请求对应的链上交易结果为链上交易成功,否则确定交易请求对应的链上交易结果为链上交易失败,其中,预设数量是根据区块链中共识算法或背书策略的配置信息确定的。
步骤S512、支付前置设备发送第五交易指示消息至链下支付系统。
其中,第五交易指示消息用于指示链下支付系统控制将该数字人民币数串从发送方地址转移至接收方地址。
步骤S513、链下支付系统控制将该数字人民币数串从发送方地址转移至接收方地址,获得第五链下交易结果。
步骤S514、支付前置设备发送第六交易指示消息至链下支付系统。
其中,第六交易指示消息用于指示链下支付系统解锁发送方地址中上述数字人民币数串。
步骤S515、链下支付系统解锁发送方地址中的上述数字人民币数串,获得第六链下交易结果。
步骤S516、区块链输出链上交易失败。
本申请实施例中,在进行支付交易时,链下支付系统先执行锁定发送方地址中的数字人民币数串,获得交易预处理结果。区块链通过支付前置设备获得交易预处理结果后,基于交易预处理结果执行交易请求的链上交易操作,链下支付系统执行相应的链下交易操作,获得链下交易结果。由于区块链通过智能合约执行链上交易,保证了链上交易在一个可信的环境中执行。由于链上交易和链下交易是交互执行的,因此也保证了链下交易的可信度和安全性,避免人为失误带来的错误交易。
其次,在进行支付交易时,先锁定发送方地址中的数字人民币,根据是否锁定成功,再进行对应的链上交易处理和链下交易处理,保证了后续交易的准确性,同时避免了无效处理过程。
最后,由于采用了数字人民币进行交易,更加有利于构建链上交易和链下交易的交互系统。同时,在没有网络的情况下,数字人民币交易可以直接进行离线支付,摆脱了网络信号不佳场所的限制。
为了更好的解释本申请实施例,下面结合具体的转账场景描述本发明实施例提供的一种交易处理的方法,该方法由区块链、支付前置设备和链下支付系统交互执行,设定发送方账户是发送方地址,接收方账户是接收方地址,如图6所示,包括以下步骤:
步骤S601、支付前置设备启动预言机服务和监听链上区块确认和交易事件。
步骤S602、区块链直接或通过智能合约发送加密后的交易请求至支付前置设备。
其中,交易请求中包括发送方地址、发送方地址中的数字人民币数串、接收方地址,数字人民币数串包括相应的支付金额。
步骤S603、支付前置设备对交易请求进行解密。
支付前置设备判断该交易请求包含的链上交易标识、合约名称、调用序号,与历史交易请求中包含的链上交易标识、合约名称、调用序号是否一致,若不一致,则执行步骤S604。
若一致,则判断是否已缓存该交易请求对应的交易预处理结果,若已缓存,则将执行步骤S607;若没有缓存,则等待链下支付系统返回该交易请求对应的交易预处理结果,并执行步骤S607。
步骤S604、支付前置设备向链下支付系统发送交易预处理请求。
其中,交易预处理请求的内容包括将发送方地址中的数字人民币数串从发送方地址转移至接收方地址,以及锁定接收方地址中该数字人民币数串。
步骤S605、链下支付系统控制将发送方地址中的数字人民币数串从发送方地址转移至接收方地址,以及锁定接收方地址中该数字人民币数串,获得交易预处理结果。
步骤S606、链下支付系统发送交易预处理结果至支付前置设备。
步骤S607、支付前置设备判断将发送方地址中的数字人民币数串从发送方地址转移至接收方地址,以及锁定接收方地址中该数字人民币数串是否成功,若是,则执行步骤S608,否则,执行步骤S616。
步骤S608、支付前置设备发送交易预处理成功消息至区块链。
步骤S609、区块链执行链上处理操作,获得链上交易结果。
链上处理操作包括基于交易预处理结果对交易请求进行处理,将交易处理结果记入区块,然后将区块进行共识确认,在区块确认后即完成了交易确认事件。
步骤S610、支付前置设备监听区块链生成的交易请求对应的链上交易结果。
步骤S611、判断链上交易结果是否为链上交易成功,若是,则执行步骤S612,否则,执行步骤S614。
若监听到区块链生成交易请求对应的预设数量的区块,则确定交易请求对应的链上交易结果为链上交易成功,否则确定交易请求对应的链上交易结果为链上交易失败,其中,预设数量是根据区块链中共识算法或背书策略的配置信息确定的。
步骤S612、支付前置设备发送第七交易指示消息至链下支付系统。
其中,第七交易指示消息用于指示链下支付系统解锁接收方地址中的该数字人民币数串。
步骤S613、链下支付系统解锁接收方地址中的该数字人民币数串,获得第七链下交易结果。
步骤S614、支付前置设备发送第八交易指示消息至链下支付系统。
其中,第八交易指示消息用于指示链下支付系统控制将接收方地址中的该数字人民币数串转移至发送方地址。
步骤S615、链下支付系统控制将该数字人民币数串从接收方地址转移至发送方地址,获得第八链下交易结果。
步骤S616、区块链输出链上交易失败。
本申请实施例中,由于区块链通过智能合约执行链上交易,保证了链上交易在一个可信的环境中执行。由于链上交易和链下交易是交互执行的,因此也保证了链下交易的可信度和安全性,避免人为失误带来的错误交易。
其次,由于采用了数字人民币进行交易,更加有利于构建链上交易和链下交易的交互系统。同时,在没有网络的情况下,数字人民币交易可以直接进行离线支付,摆脱了网络信号不佳场所的限制。
基于相同的技术构思,本申请实施例提供了一种交易处理装置,如图7所示,该装置700包括:
第一接收模块701,用于接收到区块链发送的交易请求时,发送相应的交易预处理请求至链下支付系统,以使所述链下支付系统执行相应的交易预处理操作,获得交易预处理结果;
第一发送模块702,用于接收所述链下支付系统发送的交易预处理结果,并将所述交易预处理结果发送至所述区块链;
第一处理模块703,用于在监听到所述区块链生成所述交易请求对应的链上交易结果时,发送交易指示消息至所述链下支付系统,所述交易指示消息用于指示所述链下支付系统执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,其中,所述链上交易结果是所述区块链基于所述交易预处理结果,执行针对所述交易请求的链上处理操作获得的。
可选地,所述交易请求是由所述区块链通过智能合约调用支付前置设备中的预言机发送的。
可选地,所述第一接收模块701具体用于:
接收所述区块链发送的加密后的交易请求,其中,所述交易请求是所述区块链基于支付前置设备的公钥加密的;
对所述交易请求进行解密,获得所述交易请求中的交易信息;
基于所述交易信息,生成交易预处理请求,并将所述交易预处理请求发送至所述链下支付系统。
可选地,所述第一接收模块701具体用于:
接收到区块链发送的交易请求时,判断所述交易请求包含的链上交易标识、合约名称、调用序号,与历史交易请求中包含的链上交易标识、合约名称、调用序号是否一致;
若不一致,则发送相应的交易预处理请求至所述链下支付系统。
可选地,所述第一接收模块701还用于:
若一致,则判断是否已缓存所述交易请求对应的交易预处理结果;
若已缓存,则将已缓存的所述交易请求对应的交易预处理结果发送至所述区块链;
若没有缓存,则等待所述链下支付系统返回所述交易请求对应的交易预处理结果。
可选地,所述第一处理模块703还用于:
若监听到所述区块链生成所述交易请求对应的预设数量的区块,则确定所述交易请求对应的链上交易结果为链上交易成功,否则确定所述交易请求对应的链上交易结果为链上交易失败,其中,所述预设数量是根据所述区块链中共识算法或背书策略的配置信息确定的。
可选地,所述交易请求至少包括发送方账户以及支付金额,所述交易预处理请求包括锁定所述发送方账户中所述支付金额的请求;
所述第一处理模块703具体用于:
在监听到所述链上交易结果为链上交易成功时,向所述链下支付系统发送第一交易指示消息,所述第一交易指示消息用于指示所述链下支付系统控制所述发送方账户向所述交易请求中的接收方账户支付所述支付金额,获得第一链下交易结果。
可选地,所述第一处理模块703还用于:
在监听到所述链上交易结果为链上交易失败时,向所述链下支付系统发送第二交易指示消息,所述第二交易指示消息用于指示所述链下支付系统解锁所述发送方账户中所述支付金额,获得第二链下交易结果。
可选地,所述交易请求至少包括发送方账户、支付金额以及接收方账户,所述交易预处理请求包括控制所述发送方账户向所述接收方账户支付所述支付金额,以及锁定所述接收方账户中所述支付金额的请求;
所述第一处理模块703具体用于:
在监听到所述链上交易结果为链上交易成功时,向所述链下支付系统发送第三交易指示消息,所述第三交易指示消息用于指示所述链下支付系统解锁所述接收方账户中所述支付金额,获得第三链下交易结果。
可选地,所述第一处理模块703还用于:
在监听到所述链上交易结果为链上交易失败时,向所述链下支付系统发送第四交易指示消息,所述第四交易指示消息用于指示所述链下支付系统控制所述接收方账户向所述发送方账户退还所述支付金额,获得第四链下交易结果。
可选地,所述发送方账户是用户终端通过支付前置设备从标记服务商申请的支付标记。
可选地,所述交易请求包括发送方地址、所述发送方地址对应的数字人民币数串、接收方地址,所述发送方地址和所述接收方地址是用户终端通过数字货币钱包获得的,所述交易预处理请求包括锁定所述数字人民币数串的请求;
所述第一处理模块703具体用于:
在监听到所述链上交易结果为链上交易成功时,向所述链下支付系统发送第五交易指示消息,所述第五交易指示消息用于指示所述链下支付系统控制将所述数字人民币数串从所述发送方地址转移至所述接收方地址,获得第五链下交易结果。
所述第一处理模块703还用于:
在监听到所述链上交易结果为链上交易失败时,向所述链下支付系统发送第六交易指示消息,所述第六交易指示消息用于指示所述链下支付系统解锁所述数字人民币数串,获得第六链下交易结果。
基于相同的技术构思,本申请实施例提供了一种交易处理装置,如图8所示,该装置800包括:
第二接收模块801,用于接收支付前置设备发送的交易预处理请求,并执行相应的交易预处理操作,获得交易预处理结果,所述交易预处理请求是所述支付前置设备接收到区块链发送的交易请求后发送给链下支付系统的;
第二发送模块802,用于发送所述交易预处理结果至所述支付前置设备,以使所述支付前置设备将所述交易预处理结果发送至所述区块链;
第二处理模块803,用于接收所述支付前置设备发送的交易指示消息,并执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,所述交易指示消息是由所述支付前置设备在监听到所述区块链生成所述交易请求对应的链上交易结果时发送给所述链下支付系统的,所述链上交易结果是所述区块链基于所述交易预处理结果,执行针对所述交易请求的链上处理操作获得的。
可选地,所述交易请求至少包括发送方账户以及支付金额,所述交易预处理请求包括锁定所述发送方账户中所述支付金额的请求;
所述第二接收模块801具体用于:
接收支付前置设备发送的交易预处理请求,并锁定所述发送方账户中所述支付金额。
可选地,所述第二处理模块803具体用于:
接收所述支付前置设备发送的第一交易指示消息,控制所述发送方账户向所述交易请求中的接收方账户支付所述支付金额,获得第一链下交易结果;
或者,接收所述支付前置设备发送的第二交易指示消息,解锁所述发送方账户中所述支付金额,获得第二链下交易结果。
可选地,所述交易请求至少包括发送方账户、支付金额以及接收方账户,所述交易预处理请求包括控制所述发送方账户向所述接收方账户支付所述支付金额,以及锁定所述接收方账户中所述支付金额的请求;
所述第二接收模块801具体用于:
接收支付前置设备发送的交易预处理请求,控制所述发送方账户向所述接收方账户支付所述支付金额,并锁定所述接收方账户中所述支付金额。
可选地,所述第二处理模块803具体用于:
接收所述支付前置设备发送的第三交易指示消息,解锁所述接收方账户中所述支付金额,获得第三链下交易结果;
或者,接收所述支付前置设备发送的第四交易指示消息,控制所述接收方账户向所述发送方账户退还所述支付金额,获得第四链下交易结果。
可选地,所述交易请求包括发送方地址、所述发送方地址对应的数字人民币数串、接收方地址,所述发送方地址和所述接收方地址是用户终端通过数字货币钱包获得的,所述交易预处理请求包括锁定所述数字人民币数串的请求;
所述第二接收模块801具体用于:
接收支付前置设备发送的交易预处理请求,并锁定所述数字人民币数串。
可选地,所述第二处理模块803具体用于:
接收所述支付前置设备发送的第五交易指示消息,控制所述数字人民币数串从所述发送方地址转移至所述接收方地址,获得第五链下交易结果;
或者,接收所述支付前置设备发送的第六交易指示消息,解锁所述数字人民币数串,获得第六链下交易结果。
基于相同的技术构思,本申请实施例提供了一种计算机设备,计算机设备可以是终端或服务器,如图9所示,包括至少一个处理器901,以及与至少一个处理器连接的存储器902,本申请实施例中不限定处理器901与存储器902之间的具体连接介质,图9中处理器901和存储器902之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器902存储有可被至少一个处理器901执行的指令,至少一个处理器901通过执行存储器902存储的指令,可以执行上述交易处理方法中所包括的步骤。
其中,处理器901是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器902内的指令以及调用存储在存储器902内的数据,从而进行交易处理。可选的,处理器901可包括一个或多个处理单元,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。在一些实施例中,处理器901和存储器902可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器901可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器902作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器902可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器902还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述交易处理方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (24)
1.一种交易处理方法,其特征在于,包括:
接收到区块链发送的交易请求时,发送相应的交易预处理请求至链下支付系统,以使所述链下支付系统执行相应的交易预处理操作,获得交易预处理结果;
接收所述链下支付系统发送的交易预处理结果,并将所述交易预处理结果发送至所述区块链;
在监听到所述区块链生成所述交易请求对应的链上交易结果时,发送交易指示消息至所述链下支付系统,所述交易指示消息用于指示所述链下支付系统执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,其中,所述链上交易结果是所述区块链基于所述交易预处理结果,执行针对所述交易请求的链上处理操作获得的。
2.如权利要求1所述的方法,其特征在于,所述交易请求是由所述区块链通过智能合约调用支付前置设备中的预言机发送的。
3.如权利要求1所述的方法,其特征在于,所述接收到区块链发送的交易请求时,发送相应的交易预处理请求至链下支付系统,包括:
接收所述区块链发送的加密后的交易请求,其中,所述交易请求是所述区块链基于支付前置设备的公钥加密的;
对所述交易请求进行解密,获得所述交易请求中的交易信息;
基于所述交易信息,生成交易预处理请求,并将所述交易预处理请求发送至所述链下支付系统。
4.如权利要求1所述的方法,其特征在于,所述接收到区块链发送的交易请求时,发送相应的交易预处理请求至链下支付系统,包括:
接收到区块链发送的交易请求时,判断所述交易请求包含的链上交易标识、合约名称、调用序号,与历史交易请求中包含的链上交易标识、合约名称、调用序号是否一致;
若不一致,则发送相应的交易预处理请求至所述链下支付系统。
5.如权利要求4所述的方法,其特征在于,还包括:
若一致,则判断是否已缓存所述交易请求对应的交易预处理结果;
若已缓存,则将已缓存的所述交易请求对应的交易预处理结果发送至所述区块链;
若没有缓存,则等待所述链下支付系统返回所述交易请求对应的交易预处理结果。
6.如权利要求1所述的方法,其特征在于,所述发送交易指示消息至所述链下支付系统之前,还包括:
若监听到所述区块链生成所述交易请求对应的预设数量的区块,则确定所述交易请求对应的链上交易结果为链上交易成功,否则确定所述交易请求对应的链上交易结果为链上交易失败,其中,所述预设数量是根据所述区块链中共识算法或背书策略的配置信息确定的。
7.如权利要求6所述的方法,其特征在于,所述交易请求至少包括发送方账户以及支付金额,所述交易预处理请求包括锁定所述发送方账户中所述支付金额的请求;
所述在监听到所述区块链生成所述交易请求对应的链上交易结果时,发送交易指示消息至所述链下支付系统,所述交易指示消息用于指示所述链下支付系统执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,包括:
在监听到所述链上交易结果为链上交易成功时,向所述链下支付系统发送第一交易指示消息,所述第一交易指示消息用于指示所述链下支付系统控制所述发送方账户向所述交易请求中的接收方账户支付所述支付金额,获得第一链下交易结果。
8.如权利要求7所述的方法,其特征在于,还包括:
在监听到所述链上交易结果为链上交易失败时,向所述链下支付系统发送第二交易指示消息,所述第二交易指示消息用于指示所述链下支付系统解锁所述发送方账户中所述支付金额,获得第二链下交易结果。
9.如权利要求6所述的方法,其特征在于,所述交易请求至少包括发送方账户、支付金额以及接收方账户,所述交易预处理请求包括控制所述发送方账户向所述接收方账户支付所述支付金额,以及锁定所述接收方账户中所述支付金额的请求;
所述在监听到所述区块链生成所述交易请求对应的链上交易结果时,发送交易指示消息至所述链下支付系统,所述交易指示消息用于指示所述链下支付系统执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,包括:
在监听到所述链上交易结果为链上交易成功时,向所述链下支付系统发送第三交易指示消息,所述第三交易指示消息用于指示所述链下支付系统解锁所述接收方账户中所述支付金额,获得第三链下交易结果。
10.如权利要求9所述的方法,其特征在于,还包括:
在监听到所述链上交易结果为链上交易失败时,向所述链下支付系统发送第四交易指示消息,所述第四交易指示消息用于指示所述链下支付系统控制所述接收方账户向所述发送方账户退还所述支付金额,获得第四链下交易结果。
11.如权利要求7或9所述的方法,其特征在于,所述发送方账户是用户终端通过支付前置设备从标记服务商申请的支付标记。
12.如权利要求1所述的方法,其特征在于,所述交易请求包括发送方地址、所述发送方地址对应的数字人民币数串、接收方地址,所述发送方地址和所述接收方地址是用户终端通过数字货币钱包获得的,所述交易预处理请求包括锁定所述数字人民币数串的请求;
所述在监听到所述区块链生成所述交易请求对应的链上交易结果时,发送交易指示消息至所述链下支付系统,所述交易指示消息用于指示所述链下支付系统执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,包括:
在监听到所述链上交易结果为链上交易成功时,向所述链下支付系统发送第五交易指示消息,所述第五交易指示消息用于指示所述链下支付系统控制将所述数字人民币数串从所述发送方地址转移至所述接收方地址,获得第五链下交易结果。
13.如权利要求12所述的方法,其特征在于,还包括:
在监听到所述链上交易结果为链上交易失败时,向所述链下支付系统发送第六交易指示消息,所述第六交易指示消息用于指示所述链下支付系统解锁所述数字人民币数串,获得第六链下交易结果。
14.一种交易处理方法,其特征在于,包括:
接收支付前置设备发送的交易预处理请求,并执行相应的交易预处理操作,获得交易预处理结果,所述交易预处理请求是所述支付前置设备接收到区块链发送的交易请求后发送给链下支付系统的;
发送所述交易预处理结果至所述支付前置设备,以使所述支付前置设备将所述交易预处理结果发送至所述区块链;
接收所述支付前置设备发送的交易指示消息,并执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,所述交易指示消息是由所述支付前置设备在监听到所述区块链生成所述交易请求对应的链上交易结果时发送给所述链下支付系统的,所述链上交易结果是所述区块链基于所述交易预处理结果,执行针对所述交易请求的链上处理操作获得的。
15.如权利要求14所述的方法,其特征在于,所述交易请求至少包括发送方账户以及支付金额,所述交易预处理请求包括锁定所述发送方账户中所述支付金额的请求;
所述接收支付前置设备发送的交易预处理请求,并执行相应的交易预处理操作,获得交易预处理结果,包括:
接收支付前置设备发送的交易预处理请求,并锁定所述发送方账户中所述支付金额。
16.如权利要求15所述的方法,其特征在于,所述接收所述支付前置设备发送的交易指示消息,并执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,包括:
接收所述支付前置设备发送的第一交易指示消息,控制所述发送方账户向所述交易请求中的接收方账户支付所述支付金额,获得第一链下交易结果;
或者,接收所述支付前置设备发送的第二交易指示消息,解锁所述发送方账户中所述支付金额,获得第二链下交易结果。
17.如权利要求14所述的方法,其特征在于,所述交易请求至少包括发送方账户、支付金额以及接收方账户,所述交易预处理请求包括控制所述发送方账户向所述接收方账户支付所述支付金额,以及锁定所述接收方账户中所述支付金额的请求;
所述接收支付前置设备发送的交易预处理请求,并执行相应的交易预处理操作,获得交易预处理结果,包括:
接收支付前置设备发送的交易预处理请求,控制所述发送方账户向所述接收方账户支付所述支付金额,并锁定所述接收方账户中所述支付金额。
18.如权利要求17所述的方法,其特征在于,所述接收所述支付前置设备发送的交易指示消息,并执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,包括:
接收所述支付前置设备发送的第三交易指示消息,解锁所述接收方账户中所述支付金额,获得第三链下交易结果;
或者,接收所述支付前置设备发送的第四交易指示消息,控制所述接收方账户向所述发送方账户退还所述支付金额,获得第四链下交易结果。
19.如权利要求14所述的方法,其特征在于,所述交易请求包括发送方地址、所述发送方地址对应的数字人民币数串、接收方地址,所述发送方地址和所述接收方地址是用户终端通过数字货币钱包获得的,所述交易预处理请求包括锁定所述数字人民币数串的请求;
所述接收支付前置设备发送的交易预处理请求,并执行相应的交易预处理操作,获得交易预处理结果,包括:
接收支付前置设备发送的交易预处理请求,并锁定所述数字人民币数串。
20.如权利要求19所述的方法,其特征在于,所述接收所述支付前置设备发送的交易指示消息,并执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,包括:
接收所述支付前置设备发送的第五交易指示消息,控制所述数字人民币数串从所述发送方地址转移至所述接收方地址,获得第五链下交易结果;
或者,接收所述支付前置设备发送的第六交易指示消息,解锁所述数字人民币数串,获得第六链下交易结果。
21.一种交易处理装置,其特征在于,包括:
第一接收模块,用于接收到区块链发送的交易请求时,发送相应的交易预处理请求至链下支付系统,以使所述链下支付系统执行相应的交易预处理操作,获得交易预处理结果;
第一发送模块,用于接收所述链下支付系统发送的交易预处理结果,并将所述交易预处理结果发送至所述区块链;
第一处理模块,用于在监听到所述区块链生成所述交易请求对应的链上交易结果时,发送交易指示消息至所述链下支付系统,所述交易指示消息用于指示所述链下支付系统执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,其中,所述链上交易结果是所述区块链基于所述交易预处理结果,执行针对所述交易请求的链上处理操作获得的。
22.一种交易处理装置,其特征在于,包括:
第二接收模块,用于接收支付前置设备发送的交易预处理请求,并执行相应的交易预处理操作,获得交易预处理结果,所述交易预处理请求是所述支付前置设备接收到区块链发送的交易请求后发送给链下支付系统的;
第二发送模块,用于发送所述交易预处理结果至所述支付前置设备,以使所述支付前置设备将所述交易预处理结果发送至所述区块链;
第二处理模块,用于接收所述支付前置设备发送的交易指示消息,并执行相应的链下处理操作,获得所述交易请求对应的链下交易结果,所述交易指示消息是由所述支付前置设备在监听到所述区块链生成所述交易请求对应的链上交易结果时发送给所述链下支付系统的,所述链上交易结果是所述区块链基于所述交易预处理结果,执行针对所述交易请求的链上处理操作获得的。
23.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~20任一权利要求所述方法的步骤。
24.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~20任一所述方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994332.6A CN113762963B (zh) | 2021-08-27 | 2021-08-27 | 一种交易处理方法、装置、设备及存储介质 |
PCT/CN2022/076930 WO2023024453A1 (zh) | 2021-08-27 | 2022-02-18 | 一种交易处理方法、装置、设备及存储介质 |
US18/579,235 US20240320668A1 (en) | 2021-08-27 | 2022-02-18 | Transaction processing method and apparatus, and device and storage medium |
TW111109358A TWI816329B (zh) | 2021-08-27 | 2022-03-15 | 一種交易處理方法、裝置、設備及存儲介質 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994332.6A CN113762963B (zh) | 2021-08-27 | 2021-08-27 | 一种交易处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113762963A true CN113762963A (zh) | 2021-12-07 |
CN113762963B CN113762963B (zh) | 2024-07-16 |
Family
ID=78791501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110994332.6A Active CN113762963B (zh) | 2021-08-27 | 2021-08-27 | 一种交易处理方法、装置、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240320668A1 (zh) |
CN (1) | CN113762963B (zh) |
TW (1) | TWI816329B (zh) |
WO (1) | WO2023024453A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023024453A1 (zh) * | 2021-08-27 | 2023-03-02 | 中国银联股份有限公司 | 一种交易处理方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108665253A (zh) * | 2018-05-18 | 2018-10-16 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的数据处理方法、装置、设备及存储介质 |
CN109409877A (zh) * | 2018-10-09 | 2019-03-01 | 北京网录科技有限公司 | 一种基于htlc技术的区块链跨链价值交互方法 |
CN111145023A (zh) * | 2019-12-17 | 2020-05-12 | 上海交通大学 | 基于可信预言机的跨链交换方法、系统及介质 |
US20200387893A1 (en) * | 2017-01-16 | 2020-12-10 | Enrico Maim | Methods and systems for executing smart contracts in secure environments |
US20200389301A1 (en) * | 2019-06-07 | 2020-12-10 | Volum Holdings, OÜ | Supply chain management system |
CN112241884A (zh) * | 2020-09-21 | 2021-01-19 | 西安电子科技大学 | 一种基于联盟链的链下安全支付方法、系统、介质及设备 |
CN112700242A (zh) * | 2020-12-28 | 2021-04-23 | 山东浪潮质量链科技有限公司 | 一种区块链的敏感信息前置检测的方法、设备及介质 |
CN112767163A (zh) * | 2021-01-22 | 2021-05-07 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数字商品交易方法和装置 |
CN113139808A (zh) * | 2021-04-15 | 2021-07-20 | 张莹 | 基于预言机的跨链资产交易方法、设备及存储介质 |
CN115392920A (zh) * | 2022-09-01 | 2022-11-25 | 杭州复杂美科技有限公司 | 基于预言机的验证方法、计算机设备和存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085810A (zh) * | 2017-04-19 | 2017-08-22 | 朱皞罡 | 一种区块链的跨链操作方法及区块链管理系统 |
US20190188657A1 (en) * | 2017-12-19 | 2019-06-20 | Mastercard International Incorporated | Method and system for outside guarantees for a blockchain transaction |
US11488160B2 (en) * | 2018-07-30 | 2022-11-01 | Hewlett Packard Enterprise Development Lp | Systems and methods for using captured time series of secured representations of distributed ledger addresses and smart contract deployed on distributed ledger network to prove compliance |
CN109409885A (zh) * | 2018-10-29 | 2019-03-01 | 深圳声笑科技有限公司 | 区块链上的跨链交易方法、装置及存储介质 |
CN111612453A (zh) * | 2019-02-22 | 2020-09-01 | 北京趣块远扬科技有限公司 | 基于区块链的去中心化交易方法、装置及电子设备 |
CN110415114A (zh) * | 2019-06-12 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 一种在区块链中解锁账户的方法和装置 |
CN111105220A (zh) * | 2019-10-14 | 2020-05-05 | 杭州复杂美科技有限公司 | 一种数字货币支付方法、系统、设备及存储介质 |
WO2021220278A1 (en) * | 2020-04-27 | 2021-11-04 | B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University | System and method for fast, post-quantum blockchain concensus generation and smart contracts execution |
CN115701078B (zh) * | 2021-07-27 | 2024-06-04 | 腾讯科技(深圳)有限公司 | 跨链交易处理方法、装置、电子设备以及存储介质 |
CN113762963B (zh) * | 2021-08-27 | 2024-07-16 | 中国银联股份有限公司 | 一种交易处理方法、装置、设备及存储介质 |
-
2021
- 2021-08-27 CN CN202110994332.6A patent/CN113762963B/zh active Active
-
2022
- 2022-02-18 WO PCT/CN2022/076930 patent/WO2023024453A1/zh active Application Filing
- 2022-02-18 US US18/579,235 patent/US20240320668A1/en active Pending
- 2022-03-15 TW TW111109358A patent/TWI816329B/zh active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200387893A1 (en) * | 2017-01-16 | 2020-12-10 | Enrico Maim | Methods and systems for executing smart contracts in secure environments |
CN108665253A (zh) * | 2018-05-18 | 2018-10-16 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的数据处理方法、装置、设备及存储介质 |
CN109409877A (zh) * | 2018-10-09 | 2019-03-01 | 北京网录科技有限公司 | 一种基于htlc技术的区块链跨链价值交互方法 |
US20200389301A1 (en) * | 2019-06-07 | 2020-12-10 | Volum Holdings, OÜ | Supply chain management system |
CN111145023A (zh) * | 2019-12-17 | 2020-05-12 | 上海交通大学 | 基于可信预言机的跨链交换方法、系统及介质 |
CN112241884A (zh) * | 2020-09-21 | 2021-01-19 | 西安电子科技大学 | 一种基于联盟链的链下安全支付方法、系统、介质及设备 |
CN112700242A (zh) * | 2020-12-28 | 2021-04-23 | 山东浪潮质量链科技有限公司 | 一种区块链的敏感信息前置检测的方法、设备及介质 |
CN112767163A (zh) * | 2021-01-22 | 2021-05-07 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数字商品交易方法和装置 |
CN113139808A (zh) * | 2021-04-15 | 2021-07-20 | 张莹 | 基于预言机的跨链资产交易方法、设备及存储介质 |
CN115392920A (zh) * | 2022-09-01 | 2022-11-25 | 杭州复杂美科技有限公司 | 基于预言机的验证方法、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
李赫等: "智能合约如何可信地与外部世界交互", 《中国金融电脑》, no. 8, pages 55 - 59 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023024453A1 (zh) * | 2021-08-27 | 2023-03-02 | 中国银联股份有限公司 | 一种交易处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113762963B (zh) | 2024-07-16 |
TWI816329B (zh) | 2023-09-21 |
US20240320668A1 (en) | 2024-09-26 |
TW202309820A (zh) | 2023-03-01 |
WO2023024453A1 (zh) | 2023-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220092586A1 (en) | Off network identity tracking in anonymous cryptocurrency exchange networks | |
CN109219940B (zh) | 私有节点以及私有节点中的处理方法 | |
US20240264983A1 (en) | Decentralized database associating public keys and communications addresses | |
CN109313763B (zh) | 层次型网络系统以及用于层次型网络系统的节点 | |
AU2017257449B2 (en) | Operating system for blockchain IOT devices | |
US11360963B2 (en) | Tracking and verification of physical assets | |
CN108389047B (zh) | 区块链中母链与子链交易的方法及区块链网络 | |
CN109314643B (zh) | 事务处理装置以及事务处理方法 | |
KR102636102B1 (ko) | 블록체인 기반의 암호화폐를 위한 토큰을 검증하는 컴퓨터로 구현된 방법 및 시스템 | |
EP3073670B1 (en) | A system and a method for personal identification and verification | |
US20210091960A1 (en) | Tracking and verification of physical assets | |
JP2024073535A (ja) | ブロックチェーンを用いる論理ゲート機能の実装 | |
CN113255005B (zh) | 一种基于区块链的数据资产流转方法、装置及设备 | |
US20190101896A1 (en) | Controlled 3-d printing | |
WO2019101767A1 (en) | System and method for controlling digital assets | |
CN113994357A (zh) | 在终端与支付系统之间直接传输电子硬币数据记录的方法 | |
IL270443B2 (en) | A system in blockchain architecture for ritual money management based on physical marking of objects | |
AU2016202841A1 (en) | Device, method and system for virtual asset transactions | |
US11195177B1 (en) | Distributed ledger systems for tracking recurring transaction authorizations | |
CN109615351A (zh) | Sim卡、终端机和数字货币管理系统 | |
KR20160050876A (ko) | 스마트 카드에 저장된 공개키와 개인키를 이용한 비트코인 거래방법 | |
US10628874B2 (en) | Systems and methods for automatically ordering a product item via a wearable technology | |
US20230259899A1 (en) | Method, participant unit, transaction register and payment system for managing transaction data sets | |
CN113762963B (zh) | 一种交易处理方法、装置、设备及存储介质 | |
CN110175318A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40056965 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |