CN116257589A - 交易数据处理方法、系统、装置、电子设备及存储介质 - Google Patents
交易数据处理方法、系统、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116257589A CN116257589A CN202310185348.1A CN202310185348A CN116257589A CN 116257589 A CN116257589 A CN 116257589A CN 202310185348 A CN202310185348 A CN 202310185348A CN 116257589 A CN116257589 A CN 116257589A
- Authority
- CN
- China
- Prior art keywords
- transaction
- data
- hash
- information
- transaction data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例提供了一种交易数据处理方法、系统、装置、电子设备及存储介质,应用于区块链技术领域,其中,方法应用于区块链节点,区块链节点中部署有多种智能合约,方法包括:接收交易元信息;交易元信息包括交易数据;在交易元信息满足存证智能合约触发条件的情况下,调用存证智能合约,对交易数据进行哈希计算,得到与交易数据唯一对应的交易哈希;将交易元信息与交易哈希打包成区块,进行本地存储;将区块广播到区块链中的其他节点;使其他节点在接收到区块后,对区块进行验证,并在验证通过的情况下,将区块进行本地存储。应用本发明实施例提供的技术方案,能够提高交易数据的可信度。
Description
技术领域
本发明涉及区块链技术领域,特别是涉及一种交易数据处理方法、系统、装置、电子设备及存储介质。
背景技术
伴随着数字经济的快速发展,虚拟商品交易规模也进一步扩大。虚拟商品是指电子商务市场中的数字产品和服务,具有无实物性质,因此虚拟商品交易相对于线上实体商品交易或线下商品交易,在交易过程中是不存在发货、验收等环节的,即虚拟商品交易默认无法选择物流运输。
虚拟商品提供方通常会委托第三方/平台代为售卖虚拟商品,如此可能会存在第三方/平台偷单、刷单、事后改单等行为,交易数据被篡改的可能性较高,使得交易数据的可信度较低。
发明内容
本发明实施例的目的在于提供一种交易数据处理方法、系统、装置、电子设备及存储介质,以提高交易数据的可信度。具体技术方案如下:
第一方面,本发明实施例提供了一种交易数据处理方法,应用于区块链节点,所述区块链节点中部署有多种智能合约;所述方法包括:
接收交易元信息;所述交易元信息包括交易数据;所述交易元信息在所述区块链之外产生,并由所述区块链外的用户端发送至所述区块链节点;
在所述交易元信息满足存证智能合约触发条件的情况下,调用所述存证智能合约,对所述交易数据进行哈希计算,得到所述交易数据的交易哈希;所述交易哈希与所述交易数据唯一对应;
将所述交易元信息与所述交易哈希打包成区块,进行本地存储;
将所述区块广播到区块链中的其他节点;所述其他节点用于在接收到所述区块后对所述区块中包括的交易数据进行哈希计算,得到验证哈希,并在所述验证哈希与所述交易哈希相同的情况下,将所述区块进行本地存储。
可选地,在所述接收交易元信息之后,所述方法还包括:
在所述交易元信息满足数据合法性校验智能合约触发条件的情况下,调用数据合法性校验智能合约,判断所述交易数据是否满足所述数据合法性校验智能合约预设的合法性数据条件;
所述在所述交易元信息满足存证智能合约触发条件的情况下,调用所述存证智能合约,包括:
在所述交易数据满足所述数据合法性校验智能合约预设的合法性数据条件且在所述交易元信息满足存证智能合约触发条件的情况下,调用所述存证智能合约。
可选地,在所述将所述区块广播到区块链中的其他节点之后,所述方法还包括:
在所述交易元信息满足分成核算智能合约触发条件的情况下,调用分成核算智能合约,将虚拟商品售卖方资产按照所述分成核算智能合约的预设分成核算规则,转移至所述虚拟商品提供方,得到分成核算后的虚拟商品售卖方数据和虚拟商品提供方数据;所述虚拟商品售卖方数据包括虚拟商品售卖方资产;所述虚拟商品提供方数据包括虚拟商品提供方资产;
调用存证智能合约,存证所述分成核算后的虚拟商品售卖方数据和虚拟商品提供方数据。
可选地,在所述将所述区块广播到区块链中的其他节点之后,所述方法还包括:
接收权益关键信息;所述权益关键信息包括待验证数据;所述权益关键信息在所述区块链之外产生,并由所述区块链外的用户端发送至所述区块链节点;
在所述权益关键信息满足权益校验智能合约触发条件的情况下,调用权益校验智能合约,查询交易数据中是否存在所述待验证数据;
在交易数据中存在所述待验证数据的情况下,将包括所述待验证数据的交易数据确定为第一目标交易数据;
获取所述第一目标交易数据的交易哈希;
将所述交易哈希作为返回结果发送至所述用户端;所述交易哈希用于在所述用户端的第一预设场景展示。
可选地,所述方法还包括:
在所述交易数据中不存在所述待验证数据的情况下,将错误标识作为返回结果发送至所述用户端;所述错误标识用于在所述用户端的第二预设场景展示。
可选地,在所述将所述区块广播到区块链中的其他节点之后,所述方法还包括:
接收查询关键信息;所述查询关键信息包括待查询数据;所述查询关键信息在所述区块链之外产生,并由虚拟商品提供方发送至所述区块链节点;
在所述查询关键信息满足查询智能合约触发条件的情况下,调用所述查询智能合约,查询交易数据中是否存在待查询数据;
在交易数据中存在所述待查询数据的情况下,将包括所述待查询数据的交易数据确定为第二目标交易数据;
获取包括所述第二目标交易数据的交易元信息和所述第二目标交易数据的交易哈希;
将所述交易元信息和所述交易哈希作为返回结果发送至所述虚拟商品提供方;所述返回结果用于在所述虚拟商品提供方的第三预设场景展示。
第二方面,本发明实施例提供了一种交易数据处理方法,应用于用户端,所述用户端位于区块链外;所述区块链包括区块链节点;所述区块链节点中部署有多种智能合约;所述方法包括:
向所述区块链节点发送交易元信息;
其中,所述交易元信息在所述区块链之外产生,包括交易数据;接收所述交易元信息的区块链节点用于在接收所述交易元信息后,在所述交易元信息满足存证智能合约触发条件时,调用存证智能合约,对所述交易数据进行哈希计算,得到所述交易数据的交易哈希;所述交易哈希与所述交易数据唯一对应;并在将所述交易元信息与所述交易哈希打包成区块,进行本地存储之后,将所述区块广播到区块链中的其他节点;所述区块链中的其他节点用于在接受到所述区块后,对所述区块中包括的交易数据进行哈希计算,得到验证哈希;并在所述验证哈希与所述交易哈希相同的情况下,将所述区块进行本地存储。
可选地,在所述向所述区块链节点发送交易元信息之后,所述方法还包括;
向所述区块链节点发送权益关键信息;所述权益关键信息包括待验证数据;所述权益关键信息在所述区块链之外产生;
接收所述区块链节点的返回结果;
在所述返回结果包括交易哈希的情况下,在第一预设场景展示所述交易哈希;所述交易哈希是第一目标交易数据的交易哈希;所述第一目标交易数据包括所述待验证数据;所述第一目标交易数据是所述区块链节点在接收到所述权益关键信息后,在所述权益关键信息满足权益校验智能合约触发条件时,调用所述权益校验智能合约,在交易数据中查询到所述待验证数据的情况下确定的。
可选地,所述方法还包括:
在所述返回结果包括错误标识的情况下,在第二预设场景展示所述错误标识;所述错误标识是在交易数据中未查询到所述待验证数据的情况下,由所述区块链节点发送的。
第三方面,本发明实施例提供了一种交易数据处理系统,所述系统包括区块链节点,用户端和虚拟商品提供方;所述用户端位于区块链之外,所述区块链节点中部署有多种智能合约;
所述用户端,用于向所述区块链节点发送交易元信息;所述交易元信息在所述区块链之外产生,包括交易数据;
所述区块链节点,用于接收所述用户端发送的交易元信息;在所述交易元信息满足存证智能合约触发条件的情况下,调用所述存证智能合约,对所述交易数据进行哈希计算,得到所述交易数据的交易哈希;所述交易哈希与所述交易数据唯一对应;将所述交易元信息与所述交易哈希打包成区块,进行本地存储;并将所述区块广播到区块链中的其他节点;以使区块链中的其他节点在接收到所述区块后,对所述区块中包括的交易数据进行哈希计算,得到验证哈希,并在所述验证哈希与所述交易哈希相同的情况下,将所述区块进行本地存储;
所述虚拟商品提供方,用于向区块链节点发送查询关键信息;所述查询关键信息在所述区块链之外产生,包括待查询数据;接收所述区块链节点发送的返回结果;并在所述返回结果包括交易元信息和交易哈希的情况下,在第三预设场景展示所述返回结果;所述交易元信息包括第二目标交易数据;所述交易哈希是所述第二目标交易数据的交易哈希;所述第二目标交易数据是包括所述待查询数据的交易数据;
所述区块链节点,还用于接收所述虚拟商品提供方发送的查询关键信息;在所述查询关键信息满足查询智能合约触发条件的情况下,调用所述查询智能合约,查询交易数据中是否存在待查询数据;并在所述交易数据中存在待查询数据的情况下,将包括所述待查询数据的交易数据确定为第二目标交易数据;获取包括所述第二目标交易数据的交易元信息和所述第二目标交易数据的交易哈希;将所述交易元信息和所述交易哈希作为返回结果发送至所述虚拟商品提供方。
第四方面,本发明实施例提供了一种交易数据处理装置,应用于区块链节点,所述区块链节点中部署有多种智能合约;所述装置包括:
第一接收模块,用于接收交易元信息;所述交易元信息包括交易数据;所述交易元信息在所述区块链之外产生,并由所述区块链外的用户端发送至所述区块链节点;
计算模块,用于在所述交易元信息满足存证智能合约触发条件的情况下,调用所述存证智能合约,对所述交易数据进行哈希计算,得到所述交易数据的交易哈希;所述交易哈希与所述交易数据唯一对应;
第一存储模块,用于将所述交易元信息与所述交易哈希打包成区块,进行本地存储;
广播模块,用于将所述区块广播到区块链中的其他节点;所述其他节点用于在接收到所述区块后对所述区块中包括的交易数据进行哈希计算,得到验证哈希,并在所述验证哈希与所述交易哈希相同的情况下,将所述区块进行本地存储。
可选地,所述装置还包括:
判断模块,用于在所述接收交易元信息之后,在所述交易元信息满足数据合法性校验智能合约触发条件的情况下,调用数据合法性校验智能合约,判断所述交易数据是否满足所述数据合法性校验智能合约预设的合法性数据条件;
所述计算模块,具体用于,
在所述交易数据满足所述数据合法性校验智能合约预设的合法性数据条件且在所述交易元信息满足存证智能合约触发条件的情况下,调用所述存证智能合约。
可选地,所述装置还包括:
分成核算模块,用于在所述将所述区块广播到区块链中的其他节点之后,在所述交易元信息满足分成核算智能合约触发条件的情况下,调用分成核算智能合约,将虚拟商品售卖方资产按照所述分成核算智能合约的预设分成核算规则,转移至所述虚拟商品提供方,得到分成核算后的虚拟商品售卖方数据和虚拟商品提供方数据;所述虚拟商品售卖方数据包括虚拟商品售卖方资产;所述虚拟商品提供方数据包括虚拟商品提供方资产;
第二存储模块,用于调用存证智能合约,存证所述分成核算后的虚拟商品售卖方数据和虚拟商品提供方数据。
可选地,所述装置还包括:
第二接收模块,用于在所述将所述区块广播到区块链中的其他节点之后,接收权益关键信息;所述权益关键信息包括待验证数据;所述权益关键信息在所述区块链之外产生,并由所述区块链外的用户端发送至所述区块链节点;
第一查询模块,用于在所述权益关键信息满足权益校验智能合约触发条件的情况下,调用权益校验智能合约,查询交易数据中是否存在所述待验证数据;
第一确定模块,用于在交易数据中存在所述待验证数据的情况下,将包括所述待验证数据的交易数据确定为第一目标交易数据;
第一获取模块,用于获取所述第一目标交易数据的交易哈希;
第一返回模块,用于将所述交易哈希作为返回结果发送至所述用户端;所述交易哈希用于在所述用户端的第一预设场景展示。
可选地,所述装置还包括:
第二返回模块,用于在所述交易数据中不存在所述待验证数据的情况下,将错误标识作为返回结果发送至所述用户端;所述错误标识用于在所述用户端的第二预设场景展示。
可选地,所述装置还包括:
第三接收模块,用于在所述将所述区块广播到区块链中的其他节点之后,接收查询关键信息;所述查询关键信息包括待查询数据;所述查询关键信息在所述区块链之外产生,并由虚拟商品提供方发送至所述区块链节点;
第二查询模块,用于在所述查询关键信息满足查询智能合约触发条件的情况下,调用所述查询智能合约,查询交易数据中是否存在待查询数据;
第二确定模块,用于在交易数据中存在所述待查询数据的情况下,将包括所述待查询数据的交易数据确定为第二目标交易数据;
第二获取模块,用于获取包括所述第二目标交易数据的交易元信息和所述第二目标交易数据的交易哈希;
第三返回模块,用于将所述交易元信息和所述交易哈希作为返回结果发送至所述虚拟商品提供方;所述返回结果用于在所述虚拟商品提供方的第三预设场景展示。
第五方面,本发明实施例提供了一种交易数据处理装置,应用于用户端,所述用户端位于区块链外;所述区块链包括区块链节点;所述区块链节点中部署有多种智能合约;所述装置包括:
第一发送模块,用于向所述区块链节点发送交易元信息;
其中,所述交易元信息在所述区块链之外产生,包括交易数据;接收所述交易元信息的区块链节点用于在接收所述交易元信息后,在所述交易元信息满足存证智能合约触发条件时,调用存证智能合约,对所述交易数据进行哈希计算,得到所述交易数据的交易哈希;所述交易哈希与所述交易数据唯一对应;并在将所述交易元信息与所述交易哈希打包成区块,进行本地存储之后,将所述区块广播到区块链中的其他节点;所述区块链中的其他节点用于在接受到所述区块后,对所述区块中包括的交易数据进行哈希计算,得到验证哈希;并在所述验证哈希与所述交易哈希相同的情况下,将所述区块进行本地存储。
可选地,所述装置还包括;
第二发送模块,用于在所述向所述区块链节点发送交易元信息之后,向所述区块链节点发送权益关键信息;所述权益关键信息包括待验证数据;所述权益关键信息在所述区块链之外产生;
第四接收模块,用于接收所述区块链节点的返回结果;
第一展示模块,用于在所述返回结果包括交易哈希的情况下,在第一预设场景展示所述交易哈希;所述交易哈希是第一目标交易数据的交易哈希;所述第一目标交易数据包括所述待验证数据;所述第一目标交易数据是所述区块链节点在接收到所述权益关键信息后,在所述权益关键信息满足权益校验智能合约触发条件时,调用所述权益校验智能合约,在交易数据中查询到所述待验证数据的情况下确定的。
可选地,所述装置还包括:
第二展示模块,用于在所述返回结果包括错误标识的情况下,在第二预设场景展示所述错误标识;所述错误标识是在交易数据中未查询到所述待验证数据的情况下,由所述区块链节点发送的。
第六方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面或第二方面中任一所述的交易数据处理方法的方法步骤。
第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面中任一所述的交易数据处理方法的方法步骤。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面中任一所述的交易数据处理方法。
本发明实施例中,交易发生时,区块链节点接收链外用户端发送的交易元信息,利用存证智能合约得到与交易数据唯一对应的交易哈希,在区块链各节点接收到广播的区块后,利用交易哈希验证接收到的交易数据是否被篡改,并在验证通过的情况下,对区块中的交易元信息和交易哈希进行上链存证,进而使链外产生的交易数据在上链后难以被篡改,如此可以提高交易数据的可信度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中应用于区块链节点的交易数据处理方法的第一种流程图;
图2为本发明实施例中应用于区块链节点的交易数据处理方法的第二种流程图;
图3为本发明实施例中应用于区块链节点的交易数据处理方法的第三种流程图;
图4为本发明实施例中应用于区块链节点的交易数据处理方法的第四种流程图;
图5为本发明实施例中应用于区块链节点的交易数据处理方法的第五种流程图;
图6为本发明实施例中应用于用户端的交易数据处理方法的流程图;
图7为本发明实施例中交易数据处理系统的第一种结构示意图;
图8为本发明实施例中交易数据处理系统的第二种结构示意图;
图9为本发明实施例中应用于区块链节点的交易数据处理装置的结构示意图;
图10为本发明实施例中电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
区块链(Blockchain),是由多个区块组成的链条。其中,每个区块都保存了一定的信息,并按照各自产生的时间顺序连接成链条,这个链条被保存在所有的节点中,只要整个系统中有一个节点可以工作,整条区块链就是安全的。这些节点为整个区块链系统提供存储空间和算力支持,具体地,可以是区块链网络中的计算机。
一些关于虚拟商品交易的核心服务,例如支付、内容播放等,是可以部署在区块链节点上的,即这些虚拟商品交易的核心服务为链内核心服务,如果将这些链内核心服务产生的数据称作链内数据,那么链内数据的可信度可以通过关联到区块链的数字内容或数字证书来保证,同时,针对一些定制化的虚拟商品,例如保单的交易,区块链也可以提供交易存证和校验服务。
与链内数据相对地,也就存在链外数据。随着虚拟商品交易规模的扩大,部署在链内的核心服务逐渐受限于区块链的性能,例如,在区块链内产生的交易需要链上的所有节点参与,即每笔交易需要经过区块链中所有节点的处理,当区块链中包括的节点数很多时,使得交易处理速度慢,并发能力低,因此,一些服务提供方会将核心服务转移到区块链之外运行。在虚拟商品提供方期望获取这些由链外核心服务产生的数据信息(即链外数据)时,由于链外数据存在被第三方或平台篡改的可能,因此使得虚拟商品提供方获取到的链外产生的交易数据的可信度较低。
为了提高交易数据的可信度,如图1所示,本发明实施例提供了一种交易数据处理方法,应用于区块链中的节点,节点中部署有多种智能合约,节点包括第一节点和第二节点;方法包括:
步骤S101,接收交易元信息;
其中,交易元信息包括交易数据;交易元信息在区块链之外产生,并由区块链外的用户端发送至区块链节点。
步骤S102,在交易元信息满足存证智能合约触发条件的情况下,调用存证智能合约,对交易数据进行哈希计算,得到交易数据的交易哈希;
其中,交易哈希与交易数据唯一对应。
步骤S103,将交易元信息与交易哈希打包成区块,进行本地存储。
步骤S104,将区块广播到区块链中的其他节点;
其中,其他节点用于在接收到区块后对区块中包括的交易数据进行哈希计算,得到验证哈希,并在验证哈希与交易哈希相同的情况下,将区块进行本地存储。
本发明实施例提供的交易数据处理方法,交易发生时,区块链节点接收链外用户端发送的交易元信息,利用存证智能合约得到与交易数据唯一对应的交易哈希,在区块链各节点接收到广播的区块后,利用交易哈希验证接收到的交易数据是否被篡改,并在验证通过的情况下,对区块中的交易元信息和交易哈希进行上链存证,进而使链外产生的交易数据在上链后难以被篡改,如此可以提高交易数据的可信度。
参照图1,对本发明实施例提供的应用于区块链节点的交易数据处理方法进行详细说明。
步骤S101,接收交易元信息;
其中,交易元信息包括交易数据;交易元信息在区块链之外产生,并由区块链外的用户端发送至区块链节点。
区块链节点接收到的交易元信息是经过初步检查之后的信息,初步检查的过程是在区块链之外进行的,包括但不限于对待发送的信息的字段的类型、范围、有效性等内容进行检查。例如,在需要的字段类型为整型时,输入浮点型的数据即不能通过初步检查。范围可以指时间范围,例如在根据时间进行查询时,查询的时间范围包括当前时间及当前时间之前的时间范围,如果用户选择对未来某一天的数据进行查询,显然是无法查询的。对某些具有特殊规范的数据,例如手机号,通常由11位数字构成,因此,在输入的数字位数不是11位的情况下,可以认为输入的数字不是手机号,即为无效数据。其他初步检查的内容在此处不再过多举例。
在交易产生时,与该交易有关的信息可以理解为交易元信息,交易可以包括用户对虚拟商品的购买、退订或转让,交易元信息可以包括交易数据,例如参加交易的虚拟商品名称、虚拟商品ID(身份标识号)、虚拟商品类型、关键参数等。
在一种可实现的方式中,区块链节点接收到的交易元信息是经过链外合法性校验之后的交易元信息,这一过程在区块链之外进行,具体地,可以由区块链之外的用户端完成,链外合法性校验是对交易的合法性进行校验,包括但不限于对商品是否可售卖,用户账号是否正常,当前订单是否属于可退订单等内容进行校验。例如,当用户发起对虚拟商品A的退订请求时,可以由该退订请求中包括的订单编号确定对应的订单信息,基于订单信息判断当前订单是否支持退订,可以理解地,在支持退订的情况下,可以判定包括该退订请求合法,即向区块链节点发送包括该退订请求的交易元信息。
根据实际应用中的具体情况,链外合法性校验的内容包括但不限于上述内容,其他链外合法性校验内容不再过多举例。
智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆。可以预先在区块链网络的节点中编写代码实现一定的逻辑,并以计算机可读的形式存储在区块链中以便执行,因此,可以理解的,智能合约在区块链中也拥有唯一的地址;在满足某些条件的情况下,区块链中的节点可以通过向智能合约所在的地址发送调用请求,触发智能合约的代码,在触发之后,智能合约将主动以预设方式在区块链网络中的节点上自动执行。
交易元信息中也可以包括用于触发智能合约的内容,即可以包括满足智能合约触发条件的内容,以使在区块链节点接收到交易元信息之后,能够触发对应的智能合约。
智能合约的触发条件可以包括标识信息,例如A智能合约的触发条件可以是标识信息a,即可以理解地,在交易元信息中包括标识信息a的情况下,即满足A智能合约的触发条件,将调用A智能合约。
在一种可实现的方式中,如果将用于触发智能合约的内容看作智能合约触发条件,则该触发条件可以是在交易产生时确定的,即在交易产生时会确定具体要调用哪一项或多项智能合约,可以理解地,交易元信息包括的智能合约触发条件可以是相同的,也可以是不同的,例如,交易元信息A和交易元信息B中都可以包括A智能合约的触发条件;同时交易元信息A中还可以包括B智能合约的触发条件,交易元信息B还可以包括C智能合约的触发条件。
在另一种可实现的方式中,也可以通过设置开关的方式,开启或关闭交易元信息中的智能合约触发条件,例如,可以在智能合约触发条件中添加开关参数,其中,可以用01表示开启,10表示关闭;在交易元信息中包括的智能合约触发条件的开关参数是01时,即表示该智能合约触发条件开启,区块链节点可以读取到交易元信息中包括的满足智能合约触发条件的内容,调用对应的智能合约执行预设逻辑。
因为智能合约是预设在区块链节点中的代码,因此输入智能合约的数据的数据类型要与智能合约对应,即对于不同的数据或信息,只有在转化成智能合约的输入数据类型之后,才能输入智能合约,被智能合约读取。将数据类型转化成智能合约的输入数据类型也是在区块链之外完成的,这一过程也可以称作对数据进行预处理。
步骤S102,在交易元信息满足存证智能合约触发条件的情况下,调用存证智能合约,对交易数据进行哈希计算,得到交易数据的交易哈希;
其中,交易哈希与交易数据唯一对应。
在交易元信息中包括满足存证智能合约触发条件的内容时,即满足调用存证智能合约的触发条件,区块链节点在接收到该交易元信息之后,自动调用存证智能合约。
在一种可实现的方式中,不同的智能合约可以配置不同的服务接口,在调用智能合约时,通过与调用的智能合约对应的服务接口,接收待输入智能合约的数据信息,例如,待输入智能合约的数据信息可以包括交易元信息,利用存证智能合约对应的服务接口,接收交易元信息。
哈希计算运用哈希算法,哈希算法也叫作散列算法,如果用x表示输入数据,y表示输出数据,则哈希算法一般可以用H(x)=y表示,其中H()表示哈希函数。输入的数据x可以是具有任意长度的数据,而经过哈希算法处理后,输出的数据y则是一个具有固定长度的数据,即可以理解地,利用哈希计算可以将一个任意长度的数据转化为一个固定长度的数据。因此,对于不同的交易元信息包括的不同交易数据,无论输入的交易数据是否等长,在经过哈希计算之后,都能得到具有相同长度且长度固定的输出数据。
哈希计算具有防碰撞性,即对于任意两个不同的输入,经过哈希计算后,得到相同的输出结果的概率几乎为零。例如,字符串123的哈希是a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(十六进制),转成二进制就是256位,而且只有123能得到这个哈希。并且第三方没有能力在修改交易数据后,依旧保持由交易数据对应的交易哈希不变,即可以认为对交易数据进行哈希计算之后得到的交易哈希,是与交易数据唯一对应的。同时,哈希函数是一种单向散列函数,对应的哈希计算也具有单向性,即哈希计算的过程是不可逆的,是无法由输出结果y逆推出输入结果x的。
经过哈希计算后,得到的与交易数据唯一对应的交易哈希,也可以看作是与交易元信息唯一对应的交易哈希。
步骤S103,将交易元信息与交易哈希打包成区块,进行本地存储。
一个区块可以包括区块头(Head)和区块体(Body)。其中,区块头用于记录当前区块的特征值,可以包括,父区块的区块哈希、区块高度、随机数、时间戳和默克尔根(Merkle)的哈希值。
区块体中包括实际数据,实际数据可以是一个也可以是多个。
基于区块头和区块体中包括的数据的哈希,可以得到当前区块的区块哈希,区块链中的区块通过自身父区块的区块哈希和自身哈希相连形成链条,构成其所在的区块链。
步骤S104,将区块广播到区块链中的其他节点;
其中,其他节点用于在接收到区块后对区块中包括的交易数据进行哈希计算,得到验证哈希,并在验证哈希与交易哈希相同的情况下,将区块进行本地存储。
将区块广播到其他节点,是为区块的共识做准备。共识的目的是使该区块能够被大部分节点认可,以在不同的节点产生相同的区块,以此保证区块链各节点之间数据的一致性。
基于哈希计算的防碰撞性,不同的交易数据经过哈希计算后,可以认为得到的结果是不同的,因此,若在区块广播过程中发生篡改交易数据的情况,则其他节点接收到的篡改后的交易数据在经过哈希计算之后,得到的哈希值,即验证哈希,必然与原始交易数据的交易哈希是不同的。因此在交易哈希与验证哈希相同的情况下,即可以认为交易数据在广播过程中未被篡改,各节点接收到的区块是可信的。
各节点对该区块进行验证,并在验证通过后进行本地存储的过程,即是区块链节点对该区块进行共识的过程,共识结束即可以认为该区块包括的数据实现了上链存证,这个过程是去中心化的,在数据上链之后,如果想要修改区块链中的信息,则必须要征得半数以上的节点同意,并且修改所有节点中的信息,但是由于这些节点通常掌握在不用的主体手中,因此篡改区块链中的信息极为困难,故而可以认为将链外产生的交易元信息进行上链存证后,交易元信息便不能被第三方/平台篡改,如此提高交易数据的可信度。
在图1所示的交易数据处理方法的基础上,如图2所示,在步骤S101之后,本发明实施例提供的交易数据处理方法还包括:
步骤S201,在交易元信息满足数据合法性校验智能合约触发条件的情况下,调用数据合法性校验智能合约,判断交易数据是否满足数据合法性校验智能合约预设的合法性数据条件。
在一种可实现的方式中,可以认为交易的发生是有条件的,即交易数据需要满足一定的条件,交易才能够继续,例如,对于一些有时效性的商品,如限时活动商品,只有在特定时间区间内发起交易的交易,才会被认为是具有合法性的交易,因此可以通过预设合法性数据条件,对交易数据进行限定,以使交易数据满足合法性的要求。
因此可以理解地,在虚拟商品交易的过程中,可以利用合法性验证智能合约对交易数据的数据合法性进行校验,也可以称作链上交易合法性校验,通过合法性验证智能合约中预设的合法性数据条件判断交易数据是否合法,即交易是否可以继续执行,可以理解地,只有在交易数据判定为合法性数据之后,才会继续执行后续的其他操作。
在一种可实现的方式中,对交易数据的数据合法性校验可以包括对用户数据、虚拟商品数据等数据的合法性校验。具体地,可以通过调用数据合法性智能合约对交易数据的合法性进行校验,可以理解地,数据合法性校验智能合约中,预设有用于判断用户数据是否合法的用户数据条件、用于校验虚拟商品数据是否合法的虚拟商品数据条件等,预设条件可以包括一个或多个。
在一种可实现的方式中,用户数据条件可以包括:
用户是否属于本次售卖范围,例如,某个虚拟商品只有会员用户才可以购买,则在非会员用户发起针对该虚拟商品的交易时,该非会员用户的用户数据将被判定为不合法数据。
用户积分是否处于某范围,例如,某个虚拟商品需要用户的积分达到1000之后才可以购买,则当积分小于1000的用户发起针对该虚拟商品的交易时,该用户的用户数据将被判定为不合法数据。
用户是否参加过某次活动,例如,某个虚拟商品时针对某次活动的周边商品,只有在用户参加过对应的活动的情况下,才可以购买对应的周边商品,否则用户数据将被判定为不合法数据。
用户是否拥有或购买过某前置商品,例如,某个虚拟商品分为三个等级一级、二级和三级,三个不同等级的虚拟商品的购买规则是,在拥有一级商品后,才可以购买二级商品,在拥有二级商品之后才可以购买三级商品,因此在用户未拥有或购买二级商品之前,用户在购买三级商品时,交易数据中的用户数据将被判定为不合法数据。
具体的用户数据条件会在实际的应用中做出调整,此处不再进行举例。可以理解地,用户数据条件可以包括一个条件也可以包括多个条件,在包括多个条件的情况下,不满足其中任一个条件,即判定该用户数据为不合法数据。
在一种可实现的方式中,数据合法性校验智能合约校验的数据,包括但不限于用户数据,而在对用户数据进行验证时,可以预先编写合法用户智能合约,该合法用户智能合约包括上述预设的用户数据条件。由于一个智能合约可以实现对另一个智能合约的调用,因此可以理解地,在数据合法性校验智能合约对用户数据的合法性进行校验时,可以通过调用合法用户智能合约实现校验过程,即可以认为数据合法性校验智能合约的预设逻辑中,可以包括调用合法用户智能合约校验用户数据的合法性。
数据合法性校验智能合约预设的虚拟商品数据条件可以包括:
虚拟商品是否处于约定的售卖期,例如,由第三方代为售卖的虚拟商品,第三方的售卖权通常情况下是有时限的,如果在用户发起对该虚拟商品的交易时,第三方的针对该虚拟商品的售卖权已经到期,即该虚拟商品不处于约定售卖期,则在这种情况下,该虚拟商品数据不满足预设的虚拟商品数据条件,为不合法数据。
虚拟商品数量是否超过售卖数量,例如,针对某一特价商品,规定的最大购买数量为3,因此在购买数量大于3时,该虚拟商品数据即为不合法数据。
预设的虚拟商品数据条件可以根据实际情况进行调整,此处不再进行举例,同理,可以预先编写包括虚拟商品数据条件的虚拟商品售卖智能合约,实现对虚拟商品数据的有效性的校验。可以理解地,数据合法性校验智能合约可以通过调用虚拟商品售卖智能合约,实现对虚拟商品数据的校验。
可以理解地,对用户数据的合法性校验和对商品数据的合法性校验没有先后区别,此处仅对一种校验顺序进行举例,数据合法性校验智能合约可以调用的智能合约包括但不限于上述的合法用户智能合约和虚拟商品售卖智能合约,可以根据实际需要校验的数据进行调整,此处不再进行举例。
在交易数据满足数据合法性校验智能合约预设的合法性数据条件的情况下,执行步骤S102。
在交易数据满足数据合法性校验智能合约预设的合法性数据条件的情况下,即可以认为该交易数据是合法性数据,此时对该数据进行上链存证是有意义的。即在交易数据满足数据合法性校验智能合约预设的合法性数据条件且在交易元信息满足存证智能合约触发条件的情况下,调用存证智能合约,存证交易元信息。
上述S101至S104以及其他节点在接收到区块后对区块中包括的交易数据进行哈希计算,得到验证哈希,并在验证哈希与交易哈希相同的情况下,将区块进行本地存储实现了交易数据上链存证。
可以理解地,在交易数据不满足数据合法性校验智能合约预设的合法性数据条件的情况下,该交易数据是不合法数据,不再执行后续的上链存证步骤。
通过步骤S201可以实现在交易存证前进行链上合法性校验,即在存证前对交易数据的合法性进行验证,避免将不合法数据上链存证,如此,可以提高存证的交易数据的可信度。
在图1所示的交易数据处理方法的基础上,如图3所示,交易元信息中可以包括满足分成核算智能合约触发条件的内容,在步骤S104之后,本发明实施例的交易数据处理方法还包括:
步骤S301,在交易元信息满足分成核算智能合约触发条件的情况下,调用分成核算智能合约,将虚拟商品售卖方资产按照分成核算智能合约的预设分成核算规则,转移至虚拟商品提供方,得到分成核算后的虚拟商品售卖方数据和虚拟商品提供方数据;
其中,虚拟商品售卖方数据包括虚拟商品售卖方资产;虚拟商品提供方数据包括虚拟商品提供方资产。
一些虚拟商品提供方将虚拟商品通过第三方平台代为售卖,因此虚拟商品提供方和虚拟商品售卖方(第三方平台)之间会制定分成规则,用于分配交易所得。
预设分成核算规则可以包括,但不限于:
按某固定比例分成,例如,对虚拟商品A的出售所得,虚拟商品提供方和虚拟商品售卖方的预设分成比例为5:5,即虚拟商品售卖方将售卖虚拟商品A所得的50%分成给虚拟商品提供方。
分级调整分成比例,例如,在虚拟商品售卖方售卖虚拟商品A的数量处于第一区间时,虚拟商品提供方和虚拟商品售卖方的预设分成比例可以为5:5,在虚拟商品售卖方售卖虚拟商品A的数量处于第二区间时,超出第一区间最大值的部分,虚拟商品提供方和虚拟商品售卖方的预设分成比例可以为4:6,即根据不同的售卖情况,制定不同的分成比例。
后续转让分成,例如,虚拟商品A的在虚拟商品售卖方的售卖时间为7天,在售卖时间内,可以不需要针对每一次交易进行分成核算,在售卖时间结束后,即7天之后,再针对售卖时间内产生的虚拟商品A的交易总额,进行分成核算。
具体的预设分成核算规则根据实际情况进行调整,此处不再进行举例。
步骤S302,调用存证智能合约,存证分成核算后的虚拟商品售卖方数据和虚拟商品提供方数据。
将分成核算后的虚拟商品售卖方和虚拟商品提供方数据进行上链存证,可以使其历史信息可追溯、查询,避免双方抵赖。
区块链节点中部署有智能合约,并且在满足智能合约的触发条件的情况下,智能合约可以被自动执行,因此,可以理解地,虚拟商品提供方可以作为智能合约的签署方或者区块链节点接入,如此能够避免交易发起方或虚拟商品售卖方抵赖,进而保证虚拟商品提供方的合法权益。
通过步骤S301和步骤S302,实现了交易存证后,利用智能合约进行分成核算,并在分成核算后存证分成核算结果。
本发明实施例提供的交易数据处理方法,应用于区块链中的节点,在存证交易元信息之前,对待存证的交易数据进行数据合法性校验,避免将无效数据上链存证,确保区块链内存证的数据的合法性和有效性,在交易元信息存证之后,对虚拟商品收益的分成核算,并通过存证智能合约对分成核算后的结果进行存证,使交易数据的变更可追溯,如此,可以提高交易数据的可信度,同时,也能够保护虚拟商品提供方的收益安全可信。
在图1提供的实施例的基础上,如图4所示,在步骤S104之后,本发明实施例提供的交易数据处理方法还包括:
步骤S401,接收权益关键信息;
其中,权益关键信息包括待验证数据;权益关键信息在区块链之外产生,并由区块链外的用户端发送至区块链节点。
不同虚拟商品可以对应不同虚拟商品权益;一个虚拟商品可以包括多个权益。权益可以包括展示权益、使用权益和播放权益等,例如,在用户购买了某款“皮肤”之后,即获得了使用该皮肤的权益,在应用该皮肤之后,即是使用了展示该皮肤的权益;用户在购买了某视频的播放权益之后,即可以播放该视频。此处不再对更多权益进行举例。
在用户的操作涉及到某个虚拟商品权益时,位于区块链之外的用户端将产生权益关键信息,其中,权益关键信息包括待验证数据,待验证数据可以是交易编码、虚拟商品编码、用户编码等,区块链节点基于待验证数据对权益关键信息进行权益校验。权益校验也可以称作链上鉴权。
步骤S402,在权益关键信息满足权益校验智能合约触发条件的情况下,调用权益校验智能合约,查询交易数据中是否存在待验证数据。
在交易发生后,交易数据会被上链存证,即针对已经发生过的交易,区块链中存储有对应的交易数据。因此如果用户拥有某个权益,则可以认为用于获取该权益的交易数据已经被存储在区块链中,进而可以基于接收到的待验证数据,在区块链中已经存储的交易数据中进行查找,查找交易数据中是否包括待验证数据。可以理解地,交易数据中包括待验证数据,表示用户已经获得该权益,即可以认为该用户可以针对该权益进行操作。
步骤S403,在交易数据中存在待验证数据的情况下,将包括待验证数据的交易数据确定为第一目标交易数据。
交易数据中存在待验证数据,可以认为该待验证数据通过权益校验,当前用户拥有该虚拟商品权益,即该用户可以对该虚拟商品进行权益操作,例如使用、展示或播放该虚拟商品。可以理解地,基于待验证数据,可以在区块链存储的多个交易数据中,确定一个第一目标交易数据,这个第一目标交易数据是包括待验证数据的交易数据。
步骤S404,获取第一目标交易数据的交易哈希。
在存证交易元信息的同时,也存证了与交易数据唯一对应的交易哈希,因为交易哈希与交易数据唯一对应,所以第一目标交易数据的交易哈希,可以用于表示第一目标交易数据。
步骤S405,将交易哈希作为返回结果发送至用户端;
其中,交易哈希用于在用户端的第一预设场景展示。
基于哈希运算的单向性,交易数据经过哈希运算后,便无法从得到的交易哈希逆推交易数据,进而即使在第一预设场景中对交易哈希进行展示,也无法从展示出的交易哈希反推出与用户有关的数据信息,如此,利用交易哈希可以使展示出的内容具有良好的保密性,更好的保护用户的隐私。
一种可实现的方式中,第一预设场景可以包括使用、展示或播放虚拟商品关键环节的场景,例如可以在播放该虚拟商品时,在播放页面的固定位置常展示或间断性展示交易哈希。关键环节可以包括启用该权益和终止该权益的时刻,或权益使用过程中一些重要时刻,例如视频中的关键内容的时段;另外,针对一些在使用时包括特殊效果的虚拟商品,如游戏装备,可以在特殊效果出现时展示交易哈希。
在交易数据中不包括待验证数据的情况下,将错误标识作为返回结果发送至用户端;错误标识用于在用户端的第二预设场景展示。
在交易数据中不包括待验证数据时,表示该用户并未获得该权益,即该用户针对该权益进行的操作是无效的。例如,某一会员视频,只有会员用户才可以播放(会员用户拥有播放权益),因此当非会员用户请求播放权益时,区块链节点接收到的权益关键信息中的待查询数据可以是用户编号,区块链节点基于该用户编号进行查询,查询交易数据中是否包括该用户编号,在一种可实现的方式中,可以在表示获取会员的交易数据中查找该用户编号,可以理解地,交易数据中不能查询到该用户编号,即表示该用户为非会员用户,未拥有该播放权益,不能播放该会员视频。
这种情况下,也可以向用户端发送一个返回结果,返回结果可以包括错误标识,可以理解的错误标识的具体内容和具体形式可以根据实际情况进行设置,例如,可以是一个内容为空的标识,也可以是一个内容为“抱歉,您未获得相关权益”的提示信息。以使用户端在接受到该返回结果之后,在第二预设场景,例如提示窗口,展示返回结果,提示用户未获得相关权益。
在一种可以实现的方式中,对于无效权益,用户端还可以停止用户对该无效权益的使用或展示;或者对于播放权益,可以进行试播,并在试播结束之后,向用户展示权益校验未通过的提示信息。可以理解地,可以在提示权益校验未通过的同时,向用户说明获取该权益的方法,以使用户获得该权益后继续对应的权益操作。
可以理解地,接收到的权益关键信息是经过初步检查之后的权益关键信息,初步检查可以包括对字段的类型、范围、有效性等的检查,同时,权益关键信息的数据类型也是经过预处理的,即权益关键信息的数据类型是与智能合约对应的数据类型。对权益关键信息的初步检查和预处理的过程可以是在链外的用户端完成的。
本发明实施例提供的技术方案,在用户使用、展示或播放虚拟商品的环节,由用户端向区块链发送权益关键信息,进行链上校验(鉴权),即在用户进行权益操作时,对权益进行校验,对于合法权益,返回交易数据的交易哈希,以实现合法权益的交易哈希能够在用户端展示,以此实现权益人人可验证,进而避免平台作恶。进一步地,虚拟商品提供方作为拥有交易数据的一方,可以基于展示出的交易哈希,对交易数据进行验证,判断交易数据是否一致,进而判断平台是否作恶,即是否篡改交易数据,以此保护自身的合法收益、交易信息安全。如此,在提高交易数据的可信度的基础上,能够保护虚拟商品提供方的合理权益。
同时,在用户使用展示、或播放虚拟商品的环节进行权益校验,并在校验通过后多个场景展示交易哈希,不仅可以提高虚拟商品售卖方(第三方平台)的交易透明度,还保护了用户的隐私,进而可以提高用户对虚拟商品第三方平台的信任度。在一种可实现的方式中,本实施例提供的交易数据处理方法,可以应用在如云影院等点播场景中,为虚拟商品提供方提供更好地服务。
在图1提供的实施例的基础上,如图5所示,在步骤S104之后,本发明实施例提供的交易数据处理方法还包括:
步骤S501,接收查询关键信息;
其中,查询关键信息包括待查询数据;查询关键信息在区块链之外产生,并由虚拟商品提供方发送至区块链节点。
在一种可实现的方式中,可以部署一个查询端,用于向虚拟商品提供方提供对虚拟商品的历史交易或分成信息的查询服务。可以理解地,查询端可以部署在虚拟商品提供方内部,也可以作为一个独立的外部模块,为虚拟商品提供方提供查询服务。
步骤S502,在查询关键信息满足查询智能合约触发条件的情况下,调用查询智能合约,查询交易数据中是否存在待查询数据。
区块链节点进行查询时,可以根据待查询数据在区块链存储的交易数据中查询。在一种可实现的方式中,交易数据可以包括虚拟商品数据、虚拟商品提供方数据等,虚拟商品数据可以包括虚拟商品ID,虚拟商品交易时间等,可以理解地,区块链节点在查询时,可以基于其中的一项或多项条件进行查询。
一种可实现的方式中,在查询历史交易信息时,可以根据虚拟商品交易时间进行查询,即确定待查询的时间范围对虚拟商品交易数据进行查询,可以理解地,可以通过设置虚拟商品ID的方式,对某一虚拟商品的历史交易信息进行查询,例如,对虚拟商品ID为001的虚拟商品在本月1日至7日的历史信息进行查询,即是在区块链存储的交易数据中查找包括虚拟商品ID为001和虚拟商品交易时间为本月1日至7日的交易数据。其他查询条件的查询过程同理,不再进行更多举例。可以理解地,查询结果可以存在,也可以不存在。
步骤S503,在交易数据中存在待查询数据的情况下,将包括待查询数据的交易数据确定为第二目标交易数据。
与权益校验过程类似,基于待查询数据,可以在区块链存储的交易数据中查找的对应的交易数据,并将该交易数据确定为第二目标交易数据。
步骤S504,获取包括第二目标交易数据的交易元信息和第二目标交易数据的交易哈希。
交易元信息包括交易数据,在确定第二目标交易数据之后,即可以确定第二目标交易数据对应的交易元信息,以及基于第二目标交易数据得到的交易哈希。
步骤S505,将交易元信息和交易哈希作为返回结果发送至虚拟商品提供方;
其中,返回结果用于在虚拟商品提供方的第三预设场景展示。
将包括第二目标交易数据的交易元信息和第二目标交易数据的交易哈希作为返回结果发送至虚拟商品提供方,虚拟商品提供方可以基于查询的类型,例如历史交易信息查询、分成信息查询等,在第三预设场景展示返回结果。在一种可以实现的方式中第三预设场景可以包括表单,即返回结果可以包含在表单中进行展示。
可以理解地,虚拟商品提供方可以从区块链下载需要的信息,同时,也可以通过定期下载的方式,实现本地存储的数据与区块链数据的同步。由于可以认为区块链中存储的信息是可信的,因此虚拟商品提供方在从区块链中获取数据后,可以基于获取到的数据对第三方平台提供的虚拟商品交易数据进行验证,例如,可以对数据的完整性、前后一致性等进行验证,并在数据验证不一致的情况下,可以认为第三方平台对交易数据进行了篡改。
例如,虚拟商品提供方可以从第三方平台得到一份关于虚拟商品A的分成信息A1,虚拟商品提供方又从区块链中获取到该虚拟商品A的分成信息A2,由于可以认为区块链中存储的分成信息A2是可信的,因此可以利用分成信息A2对分成信息A1进行验证,在A1与A2相同的情况下,便可以认为第三方平台提供的虚拟商品A的分成信息A1未被篡改,数据是完整可信的,在A1与A2不相同的情况下,则认为第三方平台提供的虚拟商品A的分成信息A1是被篡改后的信息,不具有可信度。
可以理解地,本发明实施例中,接收到的查询信息是经过初步检查和预处理之后的信息,其中,初步检查可以包括但不限于对字段的类型、范围、有效性等的检查,预处理指将查询信息的数据类型转化智能合约的输入数据类型。对数据的初步检查和预处理的过程都是在链外完成的。
本发明实施例提供的技术方案,由于可以认为区块链中存储的数据不可篡改,因此,区块链中存证的链外产生的交易元信息,是具有可信度的,在虚拟商品提供方希望从区块链获取交易数据时,区块链节点可以为虚拟商品提供方提供可信的数据信息,即虚拟商品提供方可以获取到可信的链外产生的交易元信息,进一步的,利用从区块链获取的可信的交易元信息,虚拟商品提供方可以对第三方平台等虚拟商品售卖方提供的交易信息进行数据完整性、一致性的校验,判断交易信息是否被篡改,如此能够保证虚拟商品提供方的合理收益。
同时,对于一些业务中包括在线交易分账的公司,特别是针对虚拟商品或服务,比如在线视频分账、数字收藏、网络游戏、元宇宙等进行在线交易的公司,可以从区块链中获取到的可信的分成信息,确保自身的收益是安全可信的。
本发明实施例提供的交易数据处理方法,应用于用户端,用户端位于区块链外;区块链包括区块链节点;区块链节点中部署有多种智能合约;本发明实施例提供的交易数据处理方法包括:
向区块链节点发送交易元信息;
其中,交易元信息在区块链之外产生,包括交易数据;接收交易元信息的区块链节点用于在接收交易元信息后,在交易元信息满足存证智能合约触发条件时,调用存证智能合约,对交易数据进行哈希计算,得到交易数据的交易哈希;交易哈希与交易数据唯一对应;并在将交易元信息与交易哈希打包成区块,进行本地存储之后,将区块广播到区块链中的其他节点;区块链中的其他节点用于在接受到区块后,对区块中包括的交易数据进行哈希计算,得到验证哈希;并在验证哈希与交易哈希相同的情况下,将区块进行本地存储。
本发明实施例提供的交易数据处理方法,用户端在交易发生时,将链外产生的交易元信息发送至区块链节点进行上链存证,使交易元信息在上链存证后难以被篡改,如此提高交易数据的可信度。
本发明实施例对上述应用于用户端的交易数据处理方法进行详细说明。
向区块链节点发送交易元信息;
其中,交易元信息在区块链之外产生,包括交易数据;接收交易元信息的区块链节点用于在接收交易元信息后,在交易元信息满足存证智能合约触发条件时,调用存证智能合约,对交易数据进行哈希计算,得到交易数据的交易哈希;交易哈希与交易数据唯一对应;并在将交易元信息与交易哈希打包成区块,进行本地存储之后,将区块广播到区块链中的其他节点;区块链中的其他节点用于在接受到区块后,对区块中包括的交易数据进行哈希计算,得到验证哈希;并在验证哈希与交易哈希相同的情况下,将区块进行本地存储。
在向区块链节点发送的交易元信息之前,需要对交易元信息进行初步检查,即初步检查是在区块链之外的用户端,可以认为是由交易元信息的发送者完成,初步检查的内容包括但不限于对字段的类型、范围、有效性等进行检查。
交易可以包括用户对虚拟商品的购买、退订或转让等,在交易产生时,与该交易有关的信息可以用交易元信息表示,交易元信息可以包括交易数据,例如发起交易的用户名称、交易的虚拟商品名称、虚拟商品ID(身份标识号)、虚拟商品类型、关键参数等。
交易产生时确定了需要对交易元信息执行的操作,即在交易产生时确定了调用存证智能合约对交易元信息进行存证,可以理解的,为了使区块链节点在接收到交易元信息之后,可以调用存证智能合约,交易元信息中可以包括满足存证智能合约触发条件的内容,进而在在区块链节点接收到交易元信息之后,能够触发存证智能合约,实现对交易元信息的存证。
可以理解的,智能合约是预设在区块链节点中的代码,输入智能合约的数据需要转化成智能合约的输入数据类型之后才能被智能合约读取,将待输入智能合约的数据的数据类型转化成智能合约的输入数据类型的过程,可以称作对数据进行预处理。因此,需要对交易元信息进行预处理,将交易元信息的数据类型转化成存证智能合约的输入数据类型,交易元信息才能被存证智能合约读取。可以认为,向区块链节点发送的交易元信息,是经过初步检查和预处理的交易元信息。
具体地用户端将交易元信息发送给区块链节点之后,区块链节点对交易元信息进行存证的过程在上述实施例中已经进行了详细说明,这里不再赘述。
本发明实施例提供的交易数据处理方法,用户端在交易发生时将链外产生的交易元信息发送至区块链节点进行上链存证,使交易元信息在上链存证之后难以被篡改,如此提高交易数据的可信度。
本发明实施例提供了一种交易数据处理方法,应用于用户端,如图6所示,本发明实施例的交易数据处理方法包括:
步骤S601,向区块链节点发送权益关键信息;
其中,权益关键信息包括待验证数据;权益关键信息在区块链之外产生。
不同虚拟商品,对应不同虚拟商品权益;一个虚拟商品,可以包括多个权益。权益可以包括展示权益、使用权益和播放权益等,例如,在用户购买了某款“皮肤”之后,即获得了使用该皮肤的权益,在应用该皮肤之后,即是使用了展示该皮肤的权益;用户在购买了某视频的播放权益之后,即可以播放该视频。此处不再对更多权益进行举例。
用户端在用户的操作涉及到某个虚拟商品权益时将产生权益关键信息,不同虚拟商品,对应不同虚拟商品权益;一个虚拟商品,可以对应多个虚拟商品权益,在一种可实现的方式中,虚拟商品权益可以包括展示、使用和播放虚拟商品的权益等,其中权益关键信息包括待验证数据,待验证数据可以是交易编码、虚拟商品编码、用户编码等。用户端向区块链节点发送的权益关键信息,可以包括满足权益校验智能合约触发条件的内容,以使区块链节点在接收到权益关键信息之后,调用权益校验智能合约,进行权益校验。在一种可实现的方式中,对权益关键信息进行权益校验的过程可以被称作是链上鉴权。与向区块链节点发送交易元信息同理,在向区块链节点发送的权益关键信息时,需要对权益关键信息进行初步检查和预处理。
步骤S602,接收区块链节点的返回结果。
无论权益校验是否通过,区块链节点都将向用户端发送返回结果,用户端基于接收到的返回结果,执行对应的操作。
步骤S603,在返回结果包括交易哈希的情况下,在第一预设场景展示交易哈希;
其中,交易哈希是第一目标交易数据的交易哈希;第一目标交易数据包括待验证数据;第一目标交易数据是区块链节点在接收到权益关键信息后,在权益关键信息满足权益校验智能合约触发条件时,调用权益校验智能合约,在交易数据中查询到待验证数据的情况下确定的。
在返回结果包括交易哈希的情况下,可以认为权益校验通过,即当前用户的权益操作是合法的,在这种情况下,可以在第一预设场景展示接收到的交易哈希。
一种可实现的方式中,第一预设场景可以包括使用、展示或播放虚拟商品关键环节的场景,例如可以在播放该虚拟商品时,在播放页面的固定位置常展示或间断性展示交易哈希。关键环节可以包括启用该权益和终止该权益的时刻,或权益使用过程中一些重要时段,例如视频中的关键内容的时段;另外,针对一些在使用时包括特殊效果的虚拟商品,如游戏装备,可以在特殊效果出现时展示交易哈希。
可以理解地,由交易哈希不能反推交易数据,因此,展示交易哈希不会泄露用户的隐私,能够保护用户信息的安全性。
对应的,在接收到的返回结果包括错误标识的情况下,在第二预设场景展示错误标识。
返回结果包括错误标识时,说明权益校验未通过或认为权益为无效权益,即用户不能对该权益进行操作。例如,某一会员视频,只有会员用户才可以播放(会员用户拥有播放权益),即非会员用户没有播放该视频的权益。错误标识,可以包括一个内容为空的标识,也可以包括一个表示错误的标识,例如一个内容为“抱歉,您未获得相关权益”的提示信息等,具体内容和具体形式可以根据实际情况进行设置,此处不再进行举例。第二预设场景可以包括提示窗口等场景。
在一种可以实现的方式中,对于未通过权益校验的权益,用户端可以停止用户对该权益的使用、展示或者播放,也可以让用户进行试用,并在试用结束之后,向用户展示权益校验未通过的提示信息。可以理解地,可以在提示权益校验未通过的同时,向用户说明获取该权益的方法,以使用户获得该权益后继续对应的权益操作。
本发明实施例提供的交易数据处理方法,在用户使用、展示或播放虚拟商品的环节,向区块链发送权益关键信息,进行链上校验(鉴权),对于合法权益,展示区块链节点返回的交易哈希,实现在用户进行权益操作时,对每项权益进行验证,人人可验证。可以理解地,虚拟商品提供方可以基于展示出的交易哈希,对第三方等虚拟商品售卖方提供的交易数据进行验证,判断交易数据是否被篡改,进而保护自身的合法收益和信息安全。如此,在提高交易数据的可信度的基础上,能够确保虚拟商品提供方的权益。
同时,用户使用展示、或播放虚拟商品的多个环节、多个场景展示交易哈希,在保护用户隐私的同时,也可以提高虚拟商品售卖方(第三方平台)的交易透明度,如此还可以提高用户对第三方平台的信任度。
如图7所示,本发明实施例提供的交易数据处理系统可以包括:区块链节点701、用户端702和虚拟商品提供方703,
用户端702,用于向区块链节点701发送交易元信息;交易元信息在区块链之外产生,包括交易数据;
区块链节点701,用于接收用户端702发送的交易元信息;在交易元信息满足存证智能合约触发条件的情况下,调用存证智能合约,对交易数据进行哈希计算,得到交易数据的交易哈希;交易哈希与交易数据唯一对应;将交易元信息与交易哈希打包成区块,进行本地存储;并将区块广播到区块链中的其他节点;以使区块链中的其他节点在接收到区块后,对区块中包括的交易数据进行哈希计算,得到验证哈希,并在验证哈希与交易哈希相同的情况下,将区块进行本地存储;
虚拟商品提供方703,用于向区块链节点701发送查询关键信息;查询关键信息在区块链之外产生,包括待查询数据;接收区块链节点701发送的返回结果;并在返回结果包括交易元信息和交易哈希的情况下,在第三预设场景展示返回结果;交易元信息包括第二目标交易数据;交易哈希是第二目标交易数据的交易哈希;第二目标交易数据是包括待查询数据的交易数据;
区块链节点701,还用于接收虚拟商品提供方703发送的查询关键信息;在查询关键信息满足查询智能合约触发条件的情况下,调用查询智能合约,查询交易数据中是否存在待查询数据;并在交易数据中存在待查询数据的情况下,将包括待查询数据的交易数据确定为第二目标交易数据;获取包括第二目标交易数据的交易元信息和第二目标交易数据的交易哈希;将交易元信息和交易哈希作为返回结果发送至虚拟商品提供方703。
本发明实施例提供的交易数据处理系统,包括区块链节点、用户端和虚拟商品提供方,用户端在交易发生时,将交易元信息发送至区块链节点进行链上存证,使链外产生的交易数据在上链存证之后难以被篡改,进而在虚拟商品提供方在区块链节点查询交易元信息时,区块链节点可以为虚拟商品提供方提供具有可信度的交易元信息,即提高了交易数据的可信度。
参照图7,本发明实施例对交易数据处理系统进行详细说明。
用户端702,用于向区块链节点701发送交易元信息;交易元信息在区块链之外产生,包括交易数据;
可以理解地,用户端702在交易发生时,将对交易元信息进行初步检查,并将检查通过的交易元信息的数据类型转化成智能合约的输入数据类型,即对交易元信息进行预处理,之后将经过预处理的交易元信息发送至区块链节点701,以使链外产生的交易元信息在区块链中存证。
区块链节点701,用于接收用户端702发送的交易元信息;在交易元信息满足存证智能合约触发条件的情况下,调用存证智能合约,对交易数据进行哈希计算,得到交易数据的交易哈希;交易哈希与交易数据唯一对应;将交易元信息与交易哈希打包成区块,进行本地存储;并将区块广播到区块链中的其他节点;以使区块链中的其他节点在接收到区块后,对区块中包括的交易数据进行哈希计算,得到验证哈希,并在验证哈希与交易哈希相同的情况下,将区块进行本地存储。
区块链节点701根据实际的使用需求,可以预先部署多种智能合约,以在满足条件的情况下执行对应的预设逻辑,同时也可以针对不同的情况,对智能合约进行调整与更新。区块链节点701可以接收由用户端702发送的交易元信息;在交易元信息满足存证智能合约的触发条件的情况下,调用存证智能合约对接收到的交易元信息进行处理。具体地,可以包括:对交易数据进行哈希计算,得到交易数据的交易哈希;将交易元信息与交易哈希打包成区块,进行本地存储;将区块广播到区块链中的其他节点;其中,其他节点用于在接收到区块后对区块中包括的交易数据进行哈希计算,得到验证哈希,并在验证哈希与交易哈希相同的情况下,将区块进行本地存储。
虚拟商品提供方703,用于向区块链节点701发送查询关键信息;查询关键信息在区块链之外产生,包括待查询数据;接收区块链节点701发送的返回结果;并在返回结果包括交易元信息和交易哈希的情况下,在第三预设场景展示返回结果;交易元信息包括第二目标交易数据;交易哈希是第二目标交易数据的交易哈希;第二目标交易数据是包括待查询数据的交易数据;
在一种可实现的方式中,虚拟商品提供方703可以根据需要的信息,例如历史交易信息、分成信息等,向区块链节点701发送查询关键信息,并根据区块链节点701返回的查询结果展示查询到的信息,获取查询结果的过程也可以理解为虚拟商品提供方703从区块链下载数据和同步数据的过程。
区块链节点701,还用于接收虚拟商品提供方703发送的查询关键信息;在查询关键信息满足查询智能合约触发条件的情况下,调用查询智能合约,查询交易数据中是否存在待查询数据;并在交易数据中存在待查询数据的情况下,将包括待查询数据的交易数据确定为第二目标交易数据;获取包括第二目标交易数据的交易元信息和第二目标交易数据的交易哈希;将交易元信息和交易哈希作为返回结果发送至虚拟商品提供方703。
区块链节点701在区块链存储的交易数据中查询,可以理解地,基于接收到的查询关键信息包括的待查询数据,查询到的结果可以存在,也可以不存在,基于待查询数据,将在区块链存储的交易数据中查找的对应的交易数据确定为第二目标交易数据,并获取第二目标交易数据对应的交易元信息,以及基于第二目标交易数据得到的交易哈希,将交易原信息和交易哈希作为返回结果发送至虚拟商品提供方703。
本发明实施例提供的交易数据处理系统,区块链节点、用户端和虚拟商品提供方三方进行数据交互,在交易发生时,用户端将链外产生的交易元信息发送至区块链节点进行上链存证,使交易元信息在上链存证后难以被篡改,进而使区块链节点可以为虚拟商品提供方提供安全可信的交易数据,提高交易数据的可信度。
在一种可实现的方式中,如图8所示,本系统基于不可篡改的区块链技术,存证虚拟商品交易元信息,在使用、展示或播放等关键环节进行链上校验获取并展示唯一交易哈希,并为虚拟商品提供方提供查询服务,本发明实施例提供发交易数据处理系统可以包括:
区块链交易存证模块801,用于区块链交易存证,包括区块链节点、智能合约、服务接口等。
用户虚拟商品交易上链模块802,用于用户交易执行、确认,包括交易购买与退订、权益确认与转让等,并上链存证交易元信息。
虚拟商品使用校验与展示模块803,用于用户使用虚拟商品的权益校验,包括使用、展示或播放等权益链上鉴权,并在关键场景展示不可篡改的交易编号等。
虚拟商品交易查询模块804,用于向虚拟商品提供方提供虚拟商品的历史交易或分成信息查询。
在一种可实现的方式中,区块链交易存证模块801,用于链上存证虚拟商品交易,支持智能合约部署与更新,支持链上交易合法性校验,区块链交易存证模块801可以对应区块链节点。
具体地,区块链交易存证模块801可以执行如下步骤:
步骤a,服务接口接收用户虚拟商品交易上链模块802提供的虚拟商品交易元信息,调用存证智能合约,基于虚拟商品交易元信息生成不可篡改且唯一交易哈希,并将交易元信息和交易哈希进行存证。
即步骤a实现了将交易元信息和交易哈希写入区块链节点。
可以理解地,区块链交易存证模块801支持智能合约的部署与更新。可选的,支持存证前对待存证数据进行链上合法性校验。可选的,支持存证后进行分成核算,并存证分成核算结果。可选的,虚拟商品提供方可以作为智能合约签署方或区块链节点接入。
步骤b,服务接口接收虚拟商品使用校验与展示模块803的虚拟商品权益校验请求,调用权益校验智能合约,基于权益校验请求对权益进行校验;对于合法权益获取并可以返回对应的虚拟商品交易链上唯一编号;对于无效权益可以返回空或错误标识。
可以理解地,虚拟商品权益校验请求可以包括权益关键信息,虚拟商品交易链上唯一编号可以是交易哈希。
步骤c,服务接口接收虚拟商品交易查询模块804的虚拟商品交易或分成查询请求,调用查询智能合约进行查询,并返回查询结果。
可以理解地,虚拟商品交易或分成查询请求可以包括查询关键信息,查询可以包括多种类型的查询,基于查询的类型,可以返回符合要求的虚拟商品交易或分成列表,列表中可以包括该交易元信息、交易哈希等。
在一种可实现的方式中,用户虚拟商品交易上链模块802可以执行用户购买、退订或转让虚拟商品的交易请求,对交易元信息进行初步检查和预处理,并向区块链交易存证模块801步骤a的服务接口发送交易元信息。可选的,支持链外交易合法性校验。
可以理解地,初步检查包括对交易元信息的字段的类型、范围、有效性等进行检查,预处理是将交易元信息的数据类型转换为存证智能合约的输入数据类型,
在一种可实现的方式中,虚拟商品使用校验与展示模块803,可以执行用户使用、展示或播放虚拟商品请求,对用户使用、展示或播放虚拟商品请求进行初步检查和预处理,将用户使用、展示或播放虚拟商品请求,并将其发送至区块链交易存证模块801步骤b的服务接口;接收区块链交易存证模块801的返回结果,在返回结果包括交易哈希时,在关键环节展示交易哈希,在返回结果包括空或错误标识时,可以停止使用或展示,或者让用户进行试用并在试用结束后提示权益校验不通过等。
可以理解地,用户使用、展示或播放虚拟商品请求可以包括权益关键信息,关键环节可以包括使用、展示或播放等环节。
在一种可实现的方式中,用户虚拟商品交易上链模块802和虚拟商品使用校验与展示模块803,可以是部署在用户端702内的模块,为用户端提供上述服务。
在一种可实现的方式中,虚拟商品交易查询模块804,可以执行虚拟商品提供方的查询请求,对查询请求进行初步检查和预处理,并将查询请求发送至区块链交易存证模块801步骤c的服务接口;展示区块链交易存证模块801的返回结果。
可以理解地,查询请求可以包括查询关键信息,虚拟商品交易查询模块804可以为虚拟商品提供方提供从区块链交易存证模块801下载、同步交易信息等服务,即虚拟商品提供方可以利用虚拟商品交易查询模块804校验交易数据的完整性、前后一致性等。
在一种可实现的方式中,虚拟商品交易查询模块804可以对应虚拟商品提供方,即可以是部署在虚拟商品提供方内部的模块,另外也可以是独立的模块,为虚拟商品提供方提供查询服务。
综上所述,通过区块链交易存证模块801和用户虚拟商品交易上链模块802,可以实现校验交易和存证交易;通过区块链交易存证模块801和虚拟商品使用校验与展示模块803,可以实现校验权益;通过区块链交易存证模块801和虚拟商品交易查询模块804,可以实现查询交易或分成信息。
本发明实施例提供的交易数据处理系统基于区块链技术,在用户发起虚拟商品交易时,在区块链生成唯一交易哈希,并将其与交易元信息在区块链存证,在用户使用、展示或播放该商品时,进行链上校验获得该权益对应的交易哈希并在多个场景展示唯一、不可篡改的交易哈希,在保护用户隐私的情况下,提高了平台的透明度与信任度;同时,虚拟商品提供方可在链上查询历史交易信息,避免了可能存在的第三方/平台方偷单、刷单、事后改单等行为,保护虚拟商品提供方的合理收益,确保虚拟商品提供方的收益安全可信。
如图9所示,本发明实施例提供了一种交易数据处理装置,应用于区块链节点,区块链节点中部署有多种智能合约;装置包括:
第一接收模块901,用于接收交易元信息;交易元信息包括交易数据;交易元信息在区块链之外产生,并由区块链外的用户端发送至区块链节点;
计算模块902,用于在交易元信息满足存证智能合约触发条件的情况下,调用存证智能合约,对交易数据进行哈希计算,得到交易数据的交易哈希;交易哈希与交易数据唯一对应;
第一存储模块903,用于将交易元信息与交易哈希打包成区块,进行本地存储;
广播模块904,用于将区块广播到区块链中的其他节点;其他节点用于在接收到区块后对区块中包括的交易数据进行哈希计算,得到验证哈希,并在验证哈希与交易哈希相同的情况下,将区块进行本地存储。
可选地,装置还包括:
判断模块,用于在接收交易元信息之后,在交易元信息满足数据校验智能合约触发条件的情况下,调用数据合法性校验智能合约,判断交易数据是否满足数据合法性校验智能合约预设的合法性数据条件;
计算模块902,具体用于,
在交易数据满足数据合法性校验智能合约预设的合法性数据条件且在交易元信息满足存证智能合约触发条件的情况下,调用存证智能合约。
可选地,装置还包括:
分成核算模块,用于在将区块广播到区块链中的其他节点之后,在交易元信息满足分成核算智能合约触发条件的情况下,调用分成核算智能合约,将虚拟商品售卖方资产按照分成核算智能合约的预设分成核算规则,转移至虚拟商品提供方,得到分成核算后的虚拟商品售卖方数据和虚拟商品提供方数据;虚拟商品售卖方数据包括虚拟商品售卖方资产;虚拟商品提供方数据包括虚拟商品提供方资产;
第二存储模块,用于调用存证智能合约,存证分成核算后的虚拟商品售卖方数据和虚拟商品提供方数据。
可选地,装置还包括:
第二接收模块,用于在将区块广播到区块链中的其他节点之后,接收权益关键信息;权益关键信息包括待验证数据;权益关键信息在区块链之外产生,并由区块链外的用户端发送至区块链节点;
第一查询模块,用于在权益关键信息满足权益校验智能合约触发条件的情况下,调用权益校验智能合约,查询交易数据中是否存在待验证数据;
第一确定模块,用于在交易数据中存在待验证数据的情况下,将包括待验证数据的交易数据确定为第一目标交易数据;
第一获取模块,用于获取第一目标交易数据的交易哈希;
第一返回模块,用于将交易哈希作为返回结果发送至用户端;交易哈希用于在用户端的第一预设场景展示。
可选地,装置还包括:
第二返回模块,用于在交易数据中不存在待验证数据的情况下,将错误标识作为返回结果发送至用户端;错误标识用于在用户端的第二预设场景展示。
可选地,装置还包括:
第三接收模块,用于在将区块广播到区块链中的其他节点之后,接收查询关键信息;查询关键信息包括待查询数据;查询关键信息在区块链之外产生,并由虚拟商品提供方发送至区块链节点;
第二查询模块,用于在查询关键信息满足查询智能合约触发条件的情况下,调用查询智能合约,查询交易数据中是否存在待查询数据;
第二确定模块,用于在交易数据中存在待查询数据的情况下,将包括待查询数据的交易数据确定为第二目标交易数据;
第二获取模块,用于获取包括第二目标交易数据的交易元信息和第二目标交易数据的交易哈希;
第三返回模块,用于将交易元信息和交易哈希作为返回结果发送至虚拟商品提供方;返回结果用于在虚拟商品提供方的第三预设场景展示。
本发明实施例提供了一种交易数据处理装置,应用于用户端,用户端位于区块链外;区块链包括区块链节点;区块链节点中部署有多种智能合约;装置包括:
第一发送模块,用于向区块链节点发送交易元信息;
其中,交易元信息在区块链之外产生,包括交易数据;接收交易元信息的区块链节点用于在接收交易元信息后,在交易元信息满足存证智能合约触发条件时,调用存证智能合约,对交易数据进行哈希计算,得到交易数据的交易哈希;交易哈希与交易数据唯一对应;并在将交易元信息与交易哈希打包成区块,进行本地存储之后,将区块广播到区块链中的其他节点;区块链中的其他节点用于在接受到区块后,对区块中包括的交易数据进行哈希计算,得到验证哈希;并在验证哈希与交易哈希相同的情况下,将区块进行本地存储。
可选地,装置还包括;
第二发送模块,用于在向区块链节点发送交易元信息之后,向区块链节点发送权益关键信息;权益关键信息包括待验证数据;权益关键信息在区块链之外产生;
第四接收模块,用于接收区块链节点的返回结果;
第一展示模块,用于在返回结果包括交易哈希的情况下,在第一预设场景展示交易哈希;交易哈希是第一目标交易数据的交易哈希;第一目标交易数据包括待验证数据;第一目标交易数据是区块链节点在接收到权益关键信息后,在权益关键信息满足权益校验智能合约触发条件时,调用权益校验智能合约,在交易数据中查询到待验证数据的情况下确定的。
可选地,装置还包括:
第二展示模块,用于在返回结果包括错误标识的情况下,在第二预设场景展示错误标识;错误标识是在交易数据中未查询到待验证数据的情况下,由区块链节点发送的。
本发明实施例的装置是应用上述交易数据处理方法的装置,则上述交易数据处理方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现上述任一交易数据处理方法的方法步骤。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一所述的交易数据处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的交易数据处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统、装置、电子设备及计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种交易数据处理方法,其特征在于,应用于区块链节点,所述区块链节点中部署有多种智能合约;所述方法包括:
接收交易元信息;所述交易元信息包括交易数据;所述交易元信息在所述区块链之外产生,并由所述区块链外的用户端发送至所述区块链节点;
在所述交易元信息满足存证智能合约触发条件的情况下,调用所述存证智能合约,对所述交易数据进行哈希计算,得到所述交易数据的交易哈希;所述交易哈希与所述交易数据唯一对应;
将所述交易元信息与所述交易哈希打包成区块,进行本地存储;
将所述区块广播到区块链中的其他节点;所述其他节点用于在接收到所述区块后对所述区块中包括的交易数据进行哈希计算,得到验证哈希,并在所述验证哈希与所述交易哈希相同的情况下,将所述区块进行本地存储。
2.根据权利要求1所述的方法,其特征在于,在所述接收交易元信息之后,所述方法还包括:
在所述交易元信息满足数据合法性校验智能合约触发条件的情况下,调用数据合法性校验智能合约,判断所述交易数据是否满足所述数据合法性校验智能合约预设的合法性数据条件;
所述在所述交易元信息满足存证智能合约触发条件的情况下,调用所述存证智能合约,包括:
在所述交易数据满足所述数据合法性校验智能合约预设的合法性数据条件且在所述交易元信息满足存证智能合约触发条件的情况下,调用所述存证智能合约。
3.根据权利要求1所述的方法,其特征在于,在所述将所述区块广播到区块链中的其他节点之后,所述方法还包括:
在所述交易元信息满足分成核算智能合约触发条件的情况下,调用分成核算智能合约,将虚拟商品售卖方资产按照所述分成核算智能合约的预设分成核算规则,转移至所述虚拟商品提供方,得到分成核算后的虚拟商品售卖方数据和虚拟商品提供方数据;所述虚拟商品售卖方数据包括虚拟商品售卖方资产;所述虚拟商品提供方数据包括虚拟商品提供方资产;
调用存证智能合约,存证所述分成核算后的虚拟商品售卖方数据和虚拟商品提供方数据。
4.根据权利要求1所述的方法,其特征在于,在所述将所述区块广播到区块链中的其他节点之后,所述方法还包括:
接收权益关键信息;所述权益关键信息包括待验证数据;所述权益关键信息在所述区块链之外产生,并由所述区块链外的用户端发送至所述区块链节点;
在所述权益关键信息满足权益校验智能合约触发条件的情况下,调用权益校验智能合约,查询交易数据中是否存在所述待验证数据;
在交易数据中存在所述待验证数据的情况下,将包括所述待验证数据的交易数据确定为第一目标交易数据;
获取所述第一目标交易数据的交易哈希;
将所述交易哈希作为返回结果发送至所述用户端;所述交易哈希用于在所述用户端的第一预设场景展示。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述交易数据中不存在所述待验证数据的情况下,将错误标识作为返回结果发送至所述用户端;所述错误标识用于在所述用户端的第二预设场景展示。
6.根据权利要求1所述的方法,其特征在于,在所述将所述区块广播到区块链中的其他节点之后,所述方法还包括:
接收查询关键信息;所述查询关键信息包括待查询数据;所述查询关键信息在所述区块链之外产生,并由虚拟商品提供方发送至所述区块链节点;
在所述查询关键信息满足查询智能合约触发条件的情况下,调用所述查询智能合约,查询交易数据中是否存在待查询数据;
在交易数据中存在所述待查询数据的情况下,将包括所述待查询数据的交易数据确定为第二目标交易数据;
获取包括所述第二目标交易数据的交易元信息和所述第二目标交易数据的交易哈希;
将所述交易元信息和所述交易哈希作为返回结果发送至所述虚拟商品提供方;所述返回结果用于在所述虚拟商品提供方的第三预设场景展示。
7.一种交易数据处理方法,其特征在于,应用于用户端,所述用户端位于区块链外;所述区块链包括区块链节点;所述区块链节点中部署有多种智能合约;所述方法包括:
向所述区块链节点发送交易元信息;
其中,所述交易元信息在所述区块链之外产生,包括交易数据;接收所述交易元信息的区块链节点用于在接收所述交易元信息后,在所述交易元信息满足存证智能合约触发条件时,调用存证智能合约,对所述交易数据进行哈希计算,得到所述交易数据的交易哈希;所述交易哈希与所述交易数据唯一对应;并在将所述交易元信息与所述交易哈希打包成区块,进行本地存储之后,将所述区块广播到区块链中的其他节点;所述区块链中的其他节点用于在接受到所述区块后,对所述区块中包括的交易数据进行哈希计算,得到验证哈希;并在所述验证哈希与所述交易哈希相同的情况下,将所述区块进行本地存储。
8.根据权利要求7所述的方法,其特征在于,在所述向所述区块链节点发送交易元信息之后,所述方法还包括;
向所述区块链节点发送权益关键信息;所述权益关键信息包括待验证数据;所述权益关键信息在所述区块链之外产生;
接收所述区块链节点的返回结果;
在所述返回结果包括交易哈希的情况下,在第一预设场景展示所述交易哈希;所述交易哈希是第一目标交易数据的交易哈希;所述第一目标交易数据包括所述待验证数据;所述第一目标交易数据是所述区块链节点在接收到所述权益关键信息后,在所述权益关键信息满足权益校验智能合约触发条件时,调用所述权益校验智能合约,在交易数据中查询到所述待验证数据的情况下确定的。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述返回结果包括错误标识的情况下,在第二预设场景展示所述错误标识;所述错误标识是在交易数据中未查询到所述待验证数据的情况下,由所述区块链节点发送的。
10.一种交易数据处理系统,其特征在于,所述系统包括区块链节点,用户端和虚拟商品提供方;所述用户端位于区块链之外,所述区块链节点中部署有多种智能合约;
所述用户端,用于向所述区块链节点发送交易元信息;所述交易元信息在所述区块链之外产生,包括交易数据;
所述区块链节点,用于接收所述用户端发送的交易元信息;在所述交易元信息满足存证智能合约触发条件的情况下,调用所述存证智能合约,对所述交易数据进行哈希计算,得到所述交易数据的交易哈希;所述交易哈希与所述交易数据唯一对应;将所述交易元信息与所述交易哈希打包成区块,进行本地存储;并将所述区块广播到区块链中的其他节点;以使区块链中的其他节点在接收到所述区块后,对所述区块中包括的交易数据进行哈希计算,得到验证哈希,并在所述验证哈希与所述交易哈希相同的情况下,将所述区块进行本地存储;
所述虚拟商品提供方,用于向区块链节点发送查询关键信息;所述查询关键信息在所述区块链之外产生,包括待查询数据;接收所述区块链节点发送的返回结果;并在所述返回结果包括交易元信息和交易哈希的情况下,在第三预设场景展示所述返回结果;所述交易元信息包括第二目标交易数据;所述交易哈希是所述第二目标交易数据的交易哈希;所述第二目标交易数据是包括所述待查询数据的交易数据;
所述区块链节点,还用于接收所述虚拟商品提供方发送的查询关键信息;在所述查询关键信息满足查询智能合约触发条件的情况下,调用所述查询智能合约,查询交易数据中是否存在待查询数据;并在所述交易数据中存在待查询数据的情况下,将包括所述待查询数据的交易数据确定为第二目标交易数据;获取包括所述第二目标交易数据的交易元信息和所述第二目标交易数据的交易哈希;将所述交易元信息和所述交易哈希作为返回结果发送至所述虚拟商品提供方。
11.一种交易数据处理装置,其特征在于,应用于区块链中的节点,所述区块链节点中部署有多种智能合约;所述装置包括:
第一接收模块,用于接收交易元信息;所述交易元信息包括交易数据;所述交易元信息在所述区块链之外产生,并由所述区块链外的用户端发送至所述区块链节点;
计算模块,用于在所述交易元信息满足存证智能合约触发条件的情况下,调用所述存证智能合约,对所述交易数据进行哈希计算,得到所述交易数据的交易哈希;所述交易哈希与所述交易数据唯一对应;
第一存储模块,用于将所述交易元信息与所述交易哈希打包成区块,进行本地存储;
广播模块,用于将所述区块广播到区块链中的其他节点;所述其他节点用于在接收到所述区块后对所述区块中包括的交易数据进行哈希计算,得到验证哈希,并在所述验证哈希与所述交易哈希相同的情况下,将所述区块进行本地存储。
12.一种交易数据处理装置,其特征在于,应用于用户端,所述用户端位于区块链外;所述区块链包括区块链节点;所述区块链节点中部署有多种智能合约;所述装置包括:
第一发送模块,用于向所述区块链节点发送交易元信息;
其中,所述交易元信息在所述区块链之外产生,包括交易数据;接收所述交易元信息的区块链节点用于在接收所述交易元信息后,在所述交易元信息满足存证智能合约触发条件时,调用存证智能合约,对所述交易数据进行哈希计算,得到所述交易数据的交易哈希;所述交易哈希与所述交易数据唯一对应;并在将所述交易元信息与所述交易哈希打包成区块,进行本地存储之后,将所述区块广播到区块链中的其他节点;所述区块链中的其他节点用于在接受到所述区块后,对所述区块中包括的交易数据进行哈希计算,得到验证哈希;并在所述验证哈希与所述交易哈希相同的情况下,将所述区块进行本地存储。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-9任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310185348.1A CN116257589A (zh) | 2023-03-01 | 2023-03-01 | 交易数据处理方法、系统、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310185348.1A CN116257589A (zh) | 2023-03-01 | 2023-03-01 | 交易数据处理方法、系统、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116257589A true CN116257589A (zh) | 2023-06-13 |
Family
ID=86680619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310185348.1A Pending CN116257589A (zh) | 2023-03-01 | 2023-03-01 | 交易数据处理方法、系统、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116257589A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117057758A (zh) * | 2023-10-12 | 2023-11-14 | 中汽数据(天津)有限公司 | 一种汽车关键数据自他审方法、系统和存储介质 |
CN117579633A (zh) * | 2024-01-17 | 2024-02-20 | 腾讯科技(深圳)有限公司 | 区块竞选方法、装置、设备及存储介质 |
-
2023
- 2023-03-01 CN CN202310185348.1A patent/CN116257589A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117057758A (zh) * | 2023-10-12 | 2023-11-14 | 中汽数据(天津)有限公司 | 一种汽车关键数据自他审方法、系统和存储介质 |
CN117057758B (zh) * | 2023-10-12 | 2024-02-23 | 中汽数据(天津)有限公司 | 一种汽车关键数据自他审方法、系统和存储介质 |
CN117579633A (zh) * | 2024-01-17 | 2024-02-20 | 腾讯科技(深圳)有限公司 | 区块竞选方法、装置、设备及存储介质 |
CN117579633B (zh) * | 2024-01-17 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 区块竞选方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108681853B (zh) | 基于区块链的物流信息传输方法、系统和装置 | |
CN110688425B (zh) | 针对区块链的条件性延期事务的方法和系统 | |
TWI716140B (zh) | 基於區塊鏈的資料處理方法和裝置 | |
US10958436B2 (en) | Methods contract generator and validation server for access control of contract data in a distributed system with distributed consensus | |
CN108665372B (zh) | 基于区块链的信息处理、查询、储存方法和装置 | |
US20210051027A1 (en) | User identity information authentication and verification methods and devices | |
WO2020211462A1 (zh) | 一种基于区块链的业务数据上链方法及其系统 | |
CN109118219B (zh) | 交易数据处理方法和装置 | |
CN111414650B (zh) | 一种基于区块链存证的订单处理方法及系统 | |
CN116257589A (zh) | 交易数据处理方法、系统、装置、电子设备及存储介质 | |
US20190354962A1 (en) | Distributed Ledger Payments Platform for Telecoms | |
WO2022120886A1 (zh) | 商品交易方法和装置、计算机设备、存储介质及系统 | |
WO2022001526A1 (zh) | 基于区块链的贸易数据处理方法及其相关设备 | |
CN111309745B (zh) | 虚拟资源处理方法、装置、电子设备及存储介质 | |
CN111049806B (zh) | 一种联合权限控制方法、装置、电子设备和存储介质 | |
CN101388096A (zh) | 一种多平台的数据标准化处理方法及系统 | |
CN116743768B (zh) | 算力资源交易方法、装置、设备和计算机可读存储介质 | |
CN112488725B (zh) | 隐私授权转账方法、设备和存储介质 | |
US9378338B1 (en) | System, method, and computer program for validating receipt of digital content by a client device | |
Jiang et al. | A Blockchain‐Based Vehicle Condition Recording System for Second‐Hand Vehicle Market | |
CN110033367A (zh) | 基于区块链的合同记录方法及装置、电子设备 | |
JP7274198B2 (ja) | 資産情報登録方法 | |
CN110942292B (zh) | 一种用户信息处理方法、装置、电子设备以及存储介质 | |
WO2021125107A1 (ja) | 制御方法、装置、および、プログラム | |
CN111144958B (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 |