CN117411609A - 基于区块链的数据处理方法、装置、设备以及介质 - Google Patents
基于区块链的数据处理方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN117411609A CN117411609A CN202311315430.8A CN202311315430A CN117411609A CN 117411609 A CN117411609 A CN 117411609A CN 202311315430 A CN202311315430 A CN 202311315430A CN 117411609 A CN117411609 A CN 117411609A
- Authority
- CN
- China
- Prior art keywords
- prophetic
- data
- predicted
- contract
- transaction
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 272
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000012216 screening Methods 0.000 claims abstract description 16
- AQHHHDLHHXJYJD-UHFFFAOYSA-N propranolol Chemical compound C1=CC=C2C(OCC(O)CNC(C)C)=CC=CC2=C1 AQHHHDLHHXJYJD-UHFFFAOYSA-N 0.000 claims description 91
- 229960003712 propranolol Drugs 0.000 claims description 45
- 238000004422 calculation algorithm Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 18
- 238000004806 packaging method and process Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000006116 polymerization reaction Methods 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 claims 1
- 238000013479 data entry Methods 0.000 claims 1
- 238000012795 verification Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000035045 associative learning Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/3247—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 involving digital signatures
-
- 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/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种基于区块链的数据处理方法、装置、设备以及介质,该方法包括:在预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从预言聚合交易中筛选出满足有效性条件的第一候选预言数据;通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,获取第一候选预言数据对应的预言机接收时间戳;将预言机接收时间戳属于预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;若候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言数据处理合约中的数据执行逻辑对候选数据集合进行数据处理,得到第j个预言周期的预言结果。实施本申请实施例,可以降低数据上链开销。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据处理方法、装置、设备以及介质。
背景技术
预言机(oracle)是一种将区块链外部数据写入区块链内的机制,它允许业务智能合约对区块链外部世界作出反映,完成区块链网络与现实世界的数据互通,是区块链与现实世界进行数据交互的接口。
当业务智能合约具有链下数据访问需求时,可以通过区块链网络外部署的预言机设备为业务智能合约提供外部数据(即预言数据)。预言机设备在接收到数据上传指令时,需要将收集到的预言数据上传至区块链网络,进而触发业务智能合约的执行。当存在多个预言机设备时,每个预言机设备均需要将自己收集的预言数据封装为交易数据进行上链,导致预言数据上链的开销过大。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、装置、设备以及介质,可以降低预言数据的上链开销。
本申请实施例一方面提供了一种基于区块链的数据处理方法,该方法包括:
获取预言聚合交易;预言聚合交易是根据M个预言机子交易得到的;M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
在预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,获取第一候选预言数据对应的预言机接收时间戳;一个预言主题对应一个预言数据处理合约;
将预言机接收时间戳属于预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;j为正整数;
若候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言数据处理合约中的数据执行逻辑,对候选数据集合中的预言数据进行数据处理,得到第j个预言周期的预言结果。
本申请实施例一方面提供了一种基于区块链的数据处理方法,该方法包括:
获取M个预言机子交易;M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
将M个预言机子交易封装为预言聚合交易,将预言聚合交易发送至区块链节点,以使区块链节点在预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
其中,预言机合约用于调用第一候选预言数据所属的预言主题对应的预言数据处理合约,将预言机接收时间戳属于预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;当候选数据集合所包含的预言数据的数量大于或等于数量阈值时,预言数据处理合约用于确定候选数据集合中的预言数据在第j个预言周期内的预言结果;一个预言主题对应一个预言数据处理合约。
本申请实施例一方面提供了一种基于区块链的数据处理装置,该装置包括:
预言聚合交易获取模块,用于获取预言聚合交易;预言聚合交易是根据M个预言机子交易得到的;M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
第一预言数据筛选模块,用于在预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
接收时间戳获取模块,用于通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,获取第一候选预言数据对应的预言机接收时间戳;一个预言主题对应一个预言数据处理合约;
第二预言数据筛选模块,用于将预言机接收时间戳属于预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;j为正整数;
预言数据处理模块,用于若候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言数据处理合约中的数据执行逻辑,对候选数据集合中的预言数据进行数据处理,得到第j个预言周期的预言结果。
其中,基于区块链的数据处理装置还包括:
交易解析模块,用于调用区块链中所部署的预言机合约,对预言聚合交易进行解析,得到M个预言机子交易;
白名单获取模块,用于获取M个预言机设备在区块链上的预言机地址,以及获取预言机合约中的权限白名单;
第一比对模块,用于若M个预言机设备中的第i个预言机设备对应的预言机地址属于权限白名单,则确定第i个预言机设备对应的预言机子交易中所包含的预言数据满足有效性条件;
第二比对模块,用于若第i个预言机设备对应的预言机地址不属于权限白名单,则确定第i个预言机设备对应的预言机子交易中所包含的预言数据不满足有效性条件。
其中,基于区块链的数据处理装置还包括:
身份验证模块,用于接收第i个预言机设备发送的身份注册请求,获取身份注册请求携带的身份认证信息,对身份认证信息进行验证,得到身份认证信息对应的身份认证结果;
地址添加模块,用于若身份认证结果指示认证成功,则将第i个预言机设备对应的预言机地址加至权限白名单。
其中,基于区块链的数据处理装置还包括:
交易数据封装模块,用于接收预言数据处理合约相关联的合约交易数据,按照合约交易数据在交易池中的排序,将合约交易数据封装至合约交易区块;
交易区块广播模块,用于在业务区块链网络中对合约交易区块进行广播,以使业务区块链网络中的区块链节点对合约交易区块进行共识处理;
合约状态确定模块,用于获取合约交易区块在业务区块链网络中的共识投票数量,若共识投票数量大于或等于数量阈值,则确定合约交易区块达成共识,将合约交易区块添加至区块链,确定预言数据处理合约为发布成功状态;
合约地址存储模块,用于获取处于发布成功状态的预言数据处理合约对应的合约地址,将合约地址存储至预言机合约,建立合约地址与预言数据处理合约对应的预言主题之间的绑定关系。
其中,第一候选预言数据所属的预言主题包括预言主题a和预言主题b;接收时间戳获取模块通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,获取第一候选预言数据对应的预言机接收时间戳,包括:
通过预言机合约,将第一候选预言数据中属于预言主题a的预言数据确定为第二候选预言数据,将第一候选预言数据中属于预言主题b的预言数据确定为第三候选预言数据;
在预言机合约中,确定预言主题a对应的合约地址和预言主题b对应的合约地址;
根据预言主题a对应的合约地址调用预言主题a对应的预言数据处理合约,通过预言主题a对应的预言数据处理合约,获取第二候选预言数据对应的预言机接收时间戳;
根据预言主题b对应的合约地址调用预言主题b对应的预言数据处理合约,通过预言主题b对应的预言数据处理合约,获取第三候选预言数据对应的预言机接收时间戳。
其中,预言数据处理模块若候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言数据处理合约中的数据执行逻辑,得到候选数据集合在第j个预言周期内的预言结果,包括:
若候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言机接收时间戳对候选数据集合中的预言数据进行降序排列,得到排序后的候选数据集合;
根据预言数据处理合约中的数据执行逻辑,对排序后的候选数据集合中的前t个预言数据进行数据处理,得到第j个预言周期的预言结果;t的取值与数量阈值相同;
从预言数据处理合约中,清除排序后的候选数据集合中除前t个预言数据之外的预言数据,将第j个预言周期的预言结果对应的生成时间戳,确定为第j+1个预言周期的起始时间。
其中,基于区块链的数据处理装置还包括:
预言数据清除模块,用于若候选数据集合所包含的预言数据的数量小于数量阈值,则从预言数据处理合约中清除候选数据集合所包含的预言数据。
其中,基于区块链的数据处理装置还包括:
传入接口调用模块,用于调用与预言主题相关联的业务智能合约中的数据传入接口;
预言结果传入模块,用于通过数据传入接口,将第j个预言周期内的预言结果传入业务智能合约,根据第j个预言周期内的预言结果执行业务智能合约。
本申请实施例一方面提供了一种基于区块链的数据处理装置,该装置包括:
预言机子交易获取模块,用于获取M个预言机子交易;M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
预言聚合交易上传模块,用于将M个预言机子交易封装为预言聚合交易,将预言聚合交易发送至区块链节点,以使区块链节点在预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
其中,预言机合约用于调用第一候选预言数据所属的预言主题对应的预言数据处理合约,将预言机接收时间戳属于预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;当候选数据集合所包含的预言数据的数量大于或等于数量阈值时,预言数据处理合约用于确定候选数据集合中的预言数据在第j个预言周期内的预言结果;一个预言主题对应一个预言数据处理合约。
其中,预言机子交易获取模块获取M个预言机子交易,包括:
接收M个预言机设备中的第i个预言机设备的预言数据,确定第i个预言机设备的预言数据所属的预言主题;
将第i个预言机设备的预言数据、第i个预言机设备对应的预言数据所属的预言主题、第i个预言机设备对应的预言机标识、以及第i个预言机设备的预言数据所对应的预言机接收时间戳,封装为第i个预言机设备对应的初始子交易;
向第i个预言机设备发送初始子交易对应的签名请求;签名请求用于指示第i个预言机设备根据第i个预言机设备对应的预言机私钥,对初始子交易进行签名,生成待上链子交易;
接收第i个预言机设备返回的待上链子交易,若待上链子交易携带的预言机签名满足合法性条件,则将待上链子交易确定为第i个预言机设备对应的预言机子交易。
其中,基于区块链的数据处理装置还包括:
预言机签名解密模块,用于获取第i个预言机设备所关联的预言机公钥,通过第i个预言机设备所关联的预言机公钥,对待上链子交易携带的预言机签名进行解密,得到待上链子交易对应的预言机签名对应的第一摘要信息;
哈希运算模块,用于根据哈希算法对待上链子交易进行哈希运算,得到待上链子交易对应的第二摘要信息;
合法性确定模块,用于若第一摘要信息与第二摘要信息相同,则确定待上链子交易携带的预言机签名满足合法性条件。
其中,基于区块链的数据处理装置还包括:
签名请求重发模块,用于若第一摘要信息与第二摘要信息不相同,则确定待上链子交易携带的预言机签名不满足合法性条件,向第i个预言机设备重新发送签名请求。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中一方面中方法的步骤。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行如本申请实施例中一方面中方法的步骤。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面的各种可选方式中提供的方法。
在本申请实施例中,可以将M个预言机设备分别对应的预言机子交易进行封装得到预言聚合交易,并将该包含M个预言机子交易的预言聚合交易上传至区块链,而无需每个预言机设备将自己的预言机子交易进行单独上链,进而可以减少预言数据的上链开销。预言聚合交易在上传至区块链之后,可以调用预言机合约从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;进而可以通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,对第一候选预言数据进行处理,得到预言结果。由此可见,本申请实施例通过可信的区块链节点取代第三方以获取预言结果,可以保证预言结果的可靠性,进而防止第三方出现信任问题导致预言结果的可信度下降。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构图;
图2是本申请实施例提供的一种预言数据处理的场景示意图;
图3是本申请实施例提供的一种基于区块链的数据处理方法的时序示意图一;
图4是本申请实施例提供的一种筛选预言数据的示意图;
图5是本申请实施例提供的一种部署预言数据处理合约的示意图;
图6是本申请实施例提供的一种基于区块链的数据处理方法的时序示意图二;
图7是本申请实施例提供的一种获取预言机子交易的示意图;
图8是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图一;
图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图二;
图10是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及区块链技术(Blockchain)。区块链是一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括对象管理、基础服务、智能合约以及运营管理等处理模块。其中,对象管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营管理模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、检测网络情况、检测节点设备健康状态等。
智能合约可以理解为运行在分布式账本(即区块链)上预置规则、具有状态、条件响应的,可封装、验证、执行分布式节点复杂行为,完成信息交换、价值转移和资产管理的计算机程序。基于区块链的分布式架构、共识算法等,智能合约允许相互不信任的对象在不需要任何第三方可信中介或权威的情况下完成交易,同时,数字形式的智能合约可灵活嵌入各种有形或无形的资产、交易和数据中,实现主动或被动的资产、信息管理与控制,逐步构建可编程的智能资产、系统等。
预言机是一种将区块链外部数据写入区块链内的机制,它允许智能合约对区块链外部世界作出反映,完成区块链网络与现实世界的数据互通,是区块链与现实世界进行数据交互的接口。
请参见图1,图1是本申请实施例提供的一种系统架构图。如图1所示,该网络架构可以包括预言机组、中继设备和区块链网络。在本申请实施例中,区块链中可以部署有业务智能合约,当业务智能合约具有链下数据访问需求时,可以通过区块链网络外部署的预言机组为业务智能合约提供外部数据(即预言数据)。预言机组中的预言机设备在接收到数据上传指令时,可以将各自收集到的预言数据上传至区块链网络,进而触发业务智能合约的业务执行逻辑,完成业务智能合约关联的业务交易事件。
为了提高预言数据的可靠性,可以在预言机组中部署多个预言机设备(例如,图1所示的预言机设备10a、预言机设备10b和预言机设备10c),通过多个预言机设备为业务智能合约提供预言数据。也就是说,预言机设备10a、预言机设备10b和预言机设备10c各自的预言数据均需要上链处理。如果每个预言机设备均单独将自身的预言数据进行上链,可能会导致预言数据上链的开销过大。
在本申请实施例中,预言机组中的各个预言机设备可以将自身收集到的预言数据封装成预言机子交易,并向中继设备10d发送预言机子交易。中继设备10d在接收到预言机组中的多个预言机设备发送的各个预言机子交易进行封装,得到预言聚合交易,并该预言聚合交易上传至区块链网络,由区块链网络中的区块链节点调用预言机合约从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;进而可以通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,对第一候选预言数据进行处理,得到预言结果,从而保证预言结果的可靠性。
本申请实施例不对中继设备的数量进行限定,中继设备的数量可以是一个(例如,图1所示的中继设备10d),也可以是多个。其中,中继设备10d可以是任意一个可信的电子设备,例如,中继设备10d可以是区块链网络中任意一个节点,中继设备10d也可以是预言机组中任意一个可信的预言机设备,或者还可以是任意一个可信的业务设备等。
区块链网络可以包括区块链节点20a、区块链节点20b、区块链节点20c、区块链节点20d、区块链节点20e和区块链节点20f等。其中,区块链网络中的各个节点以对等式网络方式组网,节点与节点之间可以按照对等式网络协议相互通信。区块链网络中的各个节点共同遵循广播机制、共识机制,共同保证区块链上的数据的不可篡改、不可伪造性,同时实现区块链的去中心化、去信任化等特性。
其中,预言机组中的各个预言机设备可以与中继设备10d建立通信连接,中继设备也可以与区块链网络中的各个区块链节点建立通信连接。本申请实施例对各个设备之间的连接方式不做限定,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,或者还可以通过其他连接方式。
预言机组中的预言机设备、中继设备以及区块链网络中的区块链节点均可以称为计算机设备,该计算机设备可以为终端设备,或者可以为服务器,或者为终端设备和服务器组成的系统,本申请实施例对此不做限定。终端设备可以包括但不限于:个人计算机、智能手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)、智能语音交互设备、智能家电(例如智能电视等)、车载设备、飞行器等电子设备,本申请对终端设备的类型不做限定。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
请一并参见图2,图2是本申请实施例提供的一种预言数据处理的场景示意图。如图2所示,数据库1是预言机设备10a的数据来源,预言机设备10a可以从数据库1中收集一个或者多个预言主题的预言数据;类似地,预言机设备10b可以从数据库2中收集预言数据,预言机设备10c可以从数据库3中收集预言数据。当预言机设备10a接收到数据上传指令之后,可以将自身收集到的预言数据、及预言数据所对应的预言主题、预言数据所对应的预言机接收时间戳、预言机设备对应的预言机标识等参数打包成预言机子交易1,通过预言机设备10a的预言机私钥对预言机子交易1进行签名,并向中继设备10d发送携带预言机签名的预言机子交易1;类似地,预言机设备10b可以将携带预言机签名的预言机子交易2发送至中继设备10d,预言机设备10c可以将携带预言机签名的预言机子交易3发送至中继设备10d。
如图2所示,中继设备10d在接收到预言机子交易1、预言机子交易2和预言机子交易3之后,可以将预言机子交易1、预言机子交易2和预言机子交易3封装为预言聚合交易10e。其中,每一预言机子交易可以对应一个字段。例如,预言聚合交易10e可以包括字段1、字段2和字段3;字段1包括预言机子交易1及其携带的预言机签名1,字段2包括预言机子交易2及其携带的预言机签名2,字段3包括预言机子交易3及其携带的预言机签名3。
进一步地,中继设备10d可以将预言聚合交易10e发送至区块链节点20a,区块链节点20a接收预言聚合交易10e。在预言聚合交易10e的执行阶段,调用预言机合约21a,从预言聚合交易10e所包含的预言数据中筛选出满足有效性条件的第一候选预言数据21b。其中,可以通过预言机合约21a中的权限白名单来确定预言聚合交易10e所包含的预言数据是否满足有效性条件,具体的实现过程将在下文进行详细描述。
在得到第一候选预言数据21b之后,可以通过预言机合约21a,调用第一候选预言数据21b所属的预言主题对应的预言数据处理合约对第一候选预言数据21b进行处理。在本申请实施例中,一个预言主题对应一个预言数据处理合约,假设第一候选预言数据21b所属的预言主题包括预言主题1和预言主题2,那么区块链节点20a可以通过预言机合约21a,将第一候选预言数据21b中属于预言主题1的预言数据确定为第二候选预言数据22a,将第一候选预言数据21b中属于预言主题2的预言数据确定为第三候选预言数据22b;进而可以查找预言主题1对应的预言数据处理合约地址1,以及预言主题2对应的预言数据处理合约地址2,根据预言数据处理合约地址1调用预言数据处理合约23a,将第二候选预言数据22a传入预言数据处理合约23a,类似地,根据预言数据处理合约地址2调用预言数据处理合约23b,将第三候选预言数据22b传入预言数据处理合约23b。
如图2所示,可以调用预言数据处理合约23a获取第二候选数据22a所包含的预言数据对应的预言机接收时间戳,将第二候选预言数据22a中预言机接收时间戳属于预言数据处理合约23a对应的第j个预言周期的预言数据添加至候选数据集合24a。假设第二候选预言数据22a包括预言数据1、预言数据2和预言数据5,预言数据处理合约23a的第j个预言周期对应的起始时间为“20xx-10:00”,预言数据处理合约23a的第j个预言周期对应的截止时间为“20xx-11:00”;假设预言数据1对应的预言机接收时间戳为“20xx-10:05”、预言数据2对应的预言机接收时间戳为“20xx-10:15”、预言数据5对应的预言机接收时间戳为“20xx-09:57”,此时,可以确定第二候选预言数据22a中的预言数据1和预言数据2对应的预言机接收时间戳属于预言数据处理合约23a对应的第j个预言周期,可以将预言数据1和预言数据2添加至候选数据集合24a;类似地,可以按照相同的方式,将第三候选预言数据22b中的预言数据3和预言数据4添加至预言数据处理合约23b对应的候选数据集合24b。
进一步地,预言数据处理合约23a可以将候选数据集合24a中所包含的预言数据的数量与数量阈值(假设取2)进行比对,确定将候选数据集合24a中所包含的预言数据的数量等于数量阈值,进而可以确定预言数据处理合约23a中的数据执行逻辑满足触发条件,此时可以根据预言数据处理合约23a中的数据执行逻辑对候选数据集合24a中的预言数据进行数据处理,得到第j个预言周期的预言结果25a,并将预言结果25a传入与预言主题1对应的业务智能合约26a,以触发业务智能合约26a的执行。类似地,可以根据预言数据处理合约23b中的数据执行逻辑对候选数据集合24b中的预言数据进行数据处理,得到第j个预言周期的预言结果25b,并将预言结果25b传入与预言主题2对应的业务智能合约26b,以触发业务智能合约26b的执行。
在本申请实施例中,可以将多个预言机设备分别对应的预言机子交易进行封装得到预言聚合交易,并将该包含多个预言机子交易的预言聚合交易上传至区块链,而无需每个预言机设备将自己的预言机子交易进行单独上链,进而可以减少预言数据的上链开销。预言聚合交易在上传至区块链之后,可以调用预言机合约从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;进而可以通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,对第一候选预言数据进行处理,得到预言结果。由此可见,本申请实施例通过可信的区块链节点取代第三方以获取预言结果,可以保证预言结果的可靠性,进而防止第三方出现信任问题导致预言结果的可信度下降。
下面对本申请实施例所涉及的预言数据处理方法进行详细描述。具体地,请参见图3,图3是本申请实施例提供的一种基于区块链的数据处理方法的时序示意图一。可以理解地,该基于区块链的数据处理方法可以由中继设备和区块链节点交互执行,该中继设备可以为图1所示的网络架构中的中继设备10d,该区块链节点可以为图1所示的网络架构所包含的区块链网络中的任意一个节点,例如,区块链节点20a。如图3所示,该基于区块链的数据处理方法可以包括以下步骤S101-步骤S106:
步骤S101:获取M个预言机子交易,将M个预言机子交易封装为预言聚合交易。
M表示预言机子交易的数量,M的具体取值可以是1,2,3,4……。其中,预言聚合交易是根据M个预言机子交易得到的;M个预言机子交易中的一个预言机子交易包括其预言机设备对应的预言数据,以及该预言机设备对应的预言数据所述的预言主题。例如,以M个预言机子交易中的第i个预言机子交易可以包括第i个预言机设备对应的预言数据,以及第i个预言机设备对应的预言数据所属的预言主题;i为小于M的正整数,i的具体取值可以是1,2,3,4……M。此外,一个预言机设备对应一个预言机子交易,也就是第i个预言机设备对应第i个预言机子交易,第M个预言机设备对应第M个预言机子交易。
在本申请实施例中,预言机组中的M个预言机设备可以在外部数据库中收集关于一个预言主题或者多个预言主题的预言数据,在接收到数据上传指令之后,可以将自身收集到的预言数据、及预言数据所对应的预言主题、预言数据所对应的预言机接收时间戳、预言机设备对应的预言机标识等参数打包成预言机子交易,将预言机子交易上传至中继设备。预言机设备还可以根据自身的预言机私钥对预言机子交易进行签名,得到携带预言机签名的预言机子交易,并将该携带预言机签名的预言机子交易上传至中继设备。其中,预言数据所对应的预言机接收时间戳是指预言机设备从外部数据库接收到预言数据的时间戳。一个预言机设备可以收集一个预言主题的预言数据,或者也可以多个预言主题的预言数据,本申请实施例对此不做限定。中继设备在接收到M个预言机设备分别对应的预言机子交易之后,可以将M个预言机子交易封装为预言聚合交易。
步骤S102:将预言聚合交易发送至区块链节点。
中继设备在得到预言聚合交易之后,可以将预言聚合交易上传至区块链网络中的任一个区块链节点。
步骤S103:获取预言聚合交易,在预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据。
在为区块链系统上的业务智能合约部署采集预言数据的预言机组时,可以先在区块链系统上部署一个与预言机组对应的预言机合约,该预言机合约可以用于维护预言机组中的预言机设备发给区块链系统上的业务智能合约的预言数据。其中,预言机合约的部署过程可以参考下文提及的预言数据处理合约的部署过程,在此不再进行赘述。
区块链节点在接收到预言聚合交易之后,可以对预言聚合交易进行解析,得到M个预言机子交易;采用M个预言机设备对应的预言机公钥,分别对M个预言机子交易所携带的预言机签名进行验签处理,得到M个预言机子交易分别对应的验签结果。若某个预言机子交易验签通过,则表示该预言机子交易的预言机签名是合法的,进而可以确保该预言机子交易的数据完整性。在本申请实施例中,可以将M个预言机子交易中验签通过的预言机子交易存储至交易池进行后续的处理,清除验签未通过的预言机子交易。
假设预言聚合交易中的M个预言子交易均验签通过,那么可以将该预言聚合交易存储至交易池,进而可以按照合约交易数据在交易池中的排序,执行该预言聚合交易所包含的各个预言机子交易。在预言聚合交易的执行阶段,可以将该预言聚合交易传入预言机合约,调用预言机合约对预言聚合交易进行解析,将解析到的预言数据存储在预言机合约的数据存储空间中。
为了进一步提高预言数据的可靠性,可以通过预言机合约来验证预言聚合交易所包含的预言数据是否满足有效性条件,进而从预言聚合交易所包含的预言数据中筛选出满足有效性条件的预言数据,并将其作为生成预言结果的数据来源。为便于描述,可以将预言聚合交易中满足有效性条件的预言数据称为第一候选预言数据。
在一种可能的实施方式中,可以通过预言机合约中的权限白名单来确定预言聚合交易所包含的预言数据是否满足有效性条件。其中,权限白名单可以包括受信任的预言机地址,也就是说,在权限白名单中的预言机地址所对应的预言机设备被允许向预言机合约提供预言数据。该权限白名单可以存储在预言机合约的数据存储空间中。
为便于描述,本申请实施例以第i个预言机设备为例,对权限白名单中的预言机地址的添加过程进行描述。具体地,第i个预言机设备可以访问身份注册平台的注册页面。在该注册页面中可以输入第i个预言机设备对应的身份认证信息,在完成身份认证信息的输入操作后,可以对注册页面中的“提交”控件执行触发操作,第i个预言机设备所使用的电子设备可以响应针对“提交”控件触发操作,生成针对第i个预言机设备的身份注册请求,进而可以将该身份注册请求转发给区块链节点。可以理解的是,该身份注册请求可以采用交易的形式发送给区块链节点,该身份注册请求还可以携带第i个预言机设备对应的预言机签名,预言机签名的生成方式可以参考下文的描述,在此不再进行赘述。
区块链节点在接收第i个预言机设备发送的身份注册请求之后,可以使用第i个预言机设备对应的预言机公钥验证身份注册请求所携带的预言机签名的正确性,若该身份注册请求所携带的预言机签名是正确的,那么区块链节点可以基于该身份注册请求获取第i个预言机设备对应的身份认证信息,并对获取到的身份认证信息进行验证,得到身份认证信息对应的身份认证结果。
第i个预言机设备对应的身份认证信息可以用于确定第i个预言机设备的合法性和可信度。身份认证信息可以包括但不限于:第i个预言机设备的数字证书、设备标识信息、访问权限信息等。该身份认证信息对应的身份认证结果可以为认证成功结果,或者可以为认证失败结果,认证成功结果用于表示区块链节点所获取到的身份认证信息为第i个预言机设备的有效信息,即该身份认证信息是受认可的;认证失败结果用于表示区块链节点所获取到的身份认证信息为第i个预言机设备的无效信息,即该身份认证信息是不被认可的。
若身份认证结果指示身份认证信息认证成功,则可以将第i个预言机设备对应的预言机地址添加至权限白名单。其中,第i个预言机设备对应的预言机地址可以是身份认证信息中携带的,当身份认证结果指示认证成功时,区块链节点可以将该预言机地址进行上链处理,上链完成之后,再将该预言机地址添加至权限白名单;或者,第i个预言机设备对应的预言机地址也可以是在身份认证结果指示认证成功之后,区块链节点为第i个预言机设备生成的链上地址。若身份认证结果指示身份认证信息认证失败,则表示第i个预言机设备对应的身份认证信息为无效信息,可以通知第i个预言机设备重新进行身份注册,直至身份认证信息认证成功之后,再将第i个预言机设备对应的预言机地址添加至权限白名单。
请一并参见图4,图4是本申请实施例提供的一种筛选预言数据的示意图。如图4所示,中继设备40a在得到M个预言机设备对应的预言聚合交易时,可以将该预言聚合交易上传至区块链节点40b;当区块链节点40b获取到该预言聚合交易时,可以调用区块链中所部署的预言机合约40c,对预言聚合交易进行解析,得到M个预言机子交易;进而可以获取M个预言机设备在区块链上的预言机地址,以及获取预言机合约40c中的权限白名单40d。其中,预言机设备所对应的预言机地址可以根据预言机标识从区块链存储的链上地址中查询得到;权限白名单40d中可以包括多个受信任的预言机地址,例如,预言机地址1、预言机地址2、预言机地址3和预言机地址4等等。
为便于描述,以M个预言机设备中第i个预言机设备为例,对预言数据的有效性验证过程进行描述。具体地,可以将第i个预言机设备对应的预言机地址与权限白名单40d所包含的预言机地址进行比对,若第i个预言机设备对应的预言机地址属于权限白名单,则确定第i个预言机设备对应的预言机子交易中所包含的预言数据满足有效性条件,表明第i个预言机设备对应的预言机子交易中所包含的预言数据是受信任的。若第i个预言机设备对应的预言机地址不属于权限白名单,则确定第i个预言机设备对应的预言机子交易中所包含的预言数据不满足有效性条件,表明第i个预言机设备对应的预言机子交易中所包含的预言数据是不受信任的,此时可以将第i个预言机设备对应的预言机子交易从预言机合约40c中清除。
步骤S104:通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,获取第一候选预言数据对应的预言机接收时间戳。
如图4所示,在完成M个预言机子交易中所包含的预言数据的有效性验证之后,可以将M个预言机子交易中满足有效性条件的预言数据确定为第一候选预言数据40e。预言机合约40c中可以存储有合约地址集合40f,合约地址集合40f中可以包括多个预言数据处理合约对应的合约地址,例如,预言数据处理合约地址1、预言数据处理合约地址2、预言数据处理合约地址3和预言数据处理合约地址4等。在得到第一候选预言数据40e之后,可以获取第一候选预言数据40e所属的预言主题(例如预言主题1),进而可以根据预言主题1作为查询标识,从合约地址集合40f中确定预言主题1对应的合约地址(例如,预言数据处理合约地址1),进而根据预言数据处理合约地址1调用预言数据处理合约40g,并将第一候选预言数据40e传入预言数据处理合约40g,通过预言数据处理合约40g获取第一候选预言数据40e对应的预言机接收时间戳,并根据该预言机接收时间戳对第一候选预言数据40e进行处理,得到预言结果40h,进而可以将预言聚合交易和预言结果40h进行上链处理,从而完成预言聚合交易的存证。
在本申请实施例中,一个预言主题对应一个预言数据处理合约,也就是说,当第一候选预言数据所包含的预言数据均对应一个相同的预言主题时,则可以调用该预言主题对应的预言数据处理合约对第一候选预言数据中所包含的预言数据进行处理。
当第一候选预言数据所属的预言主题包括多个预言主题(例如,预言主题a和预言主题b)时,则需要调用预言主题a对应的预言数据处理合约以及预言主题b对应的预言数据处理合约对第一候选预言数据中所包含的预言数据进行处理。具体地,在得到第一候选预言数据之后,可以调用预言机合约,将第一候选预言数据中属于预言主题a的预言数据确定为第二候选预言数据,将第一候选预言数据中属于预言主题b的预言数据确定为第三候选预言数据;进而根据预言机合约中的合约地址集合查找预言主题a对应的合约地址以及预言主题b对应的合约地址,根据预言主题a对应的合约地址调用预言主题a对应的预言数据处理合约,将第二候选预言数据传入预言主题a对应的预言数据处理合约,通过预言主题a对应的预言数据处理合约获取第二候选预言数据对应的预言机接收时间戳;类似地,可以根据预言主题b对应的合约地址调用预言主题b对应的预言数据处理合约,将第三候选预言数据传入预言主题b对应的预言数据处理合约,通过预言主题b对应的预言数据处理合约获取第三候选预言数据对应的预言机接收时间戳。
在本申请实施例中,预言数据处理合约可以用于对第一候选预言数据进行处理,并得到预言结果。可以理解的是,预言数据处理合约在区块链中部署完成之后,进行预言数据处理合约的调用。具体地,请参见图5,图5是本申请实施例提供的一种部署预言数据处理合约的示意图。如图5所示,预言数据处理合约相关联的合约交易数据可以通过合约提交节点50a上传至区块链节点50b,其中,合约提交节点50a可以是任意一个可信的节点,例如,可以是预言机组中任意一个可信的预言机设备。合约交易数据可以包括但不限于:预言主题、数据执行逻辑(预言结果的生成规则)、事件通知参数(哪些业务智能合约有权访问预言结果)、预言数据的来源(哪些预言机设备的预言数据是受信任的)、预言周期(定义预言数据的有效期)、数量阈值(预言数据执行逻辑的触发条件)等等。
合约提交节点50a可以将合约交易数据进行编译,例如,可以将高级语言编写的合约参数信息编译成区块链节点50b的虚拟机中的字节码,虚拟机可以用于解释执行预言数据处理合约中的字节码。智能合约高级语言包括但不限于Solidity(一种智能合约编程语言)、Serpent(一种智能合约编程语言)、LLL(一种智能合约编程语言)。例如,在合约提交节点50a中所包含的合约交易数据可以是使用Solidity所编写的合约代码,合约提交节点50a可以使用编译器将Solidity编写的合约交易数据编译成虚拟机字节码,进而将虚拟机字节码确定为合约交易数据,并将其提交至业务区块链网络进行上链处理。
合约提交节点50a在向业务区块链网络上传合约交易数据之前,可以采用合约提交节点50a对应的节点私钥为合约交易数据添加预言机签名,以防止合约交易数据在传输过程中被篡改,具体的签名生成方式可以参考下文的描述,在此不再进行赘述。区块链节点50b接收到合约提交节点50a发送的合约交易数据之后,可以对合约交易数据进行有效性验证,该有效性验证可以包括验签过程,具体的验签过程可以参考下文的描述,在此不再进行赘述。
当合约交易数据验签通过时,表明合约交易数据在传输过程中没有被篡改。此时可以区块链节点50b可以将合约交易数据封装至合约交易区块。例如,合约交易数据在验签通过之后,可以将该合约交易数据存储至交易池,进而可以按照合约交易数据在交易池中的排序,将合约交易数据封装为合约交易区块50c;合约交易区块50c可以包含交易池中的其他合约交易数据,即除了打包区块链节点50b对应的合约交易数据之外,还可以打包其余区块链节点对应的合约交易数据。
区块链节点50b可以在业务区块链网络中对该合约交易区块50c进行广播,以使业务区块链网络中的共识节点均可以接收到该合约交易区块50c,业务区块链网络中的共识节点可以对接收到的合约交易区块50c进行共识处理。例如,可以对合约交易区块50c中所包含的每个交易数据均进行验证、对生成该合约交易区块50c的区块链节点进行验证等;共识节点得到针对该合约交易区块50c的验证结果后,可以在业务区块链网络中对验证结果进行广播,因此在正常网络通信下,区块链节点均可以获取业务区块链网络中每个共识节点针对合约交易区块50c的验证结果。
进一步地,区块链节点50b可以对每个共识节点分别对应的验证结果进行统计,获取合约交易区块50c在业务区块链网络中的共识投票数量,即业务区块链网络中针对合约交易区块50c的验证结果为验证通过的节点数量;若共识投票数量大于或等于数量阈值(此处的数量阈值可以根据业务区块链网络中所使用的共识算法来确定,例如,数量阈值可以设置为区块链网络中所包含的共识节点数量的2/3),则可以确定合约交易区块50c在业务区块链网络中达成共识。其中,共识算法可以包括但不限于:工作量证明(Proof of Work,PoW)算法、权益证明(Proof of Stake,PoS)算法、DPoS算法、实用拜占庭容错(PracticalByzantine Fault tolerance,PBFt)算法等共识算法,本申请实施例对此不做限定。
合约交易区块50c在共识通过之后,可以根据区块链节点50b所存储的区块链中的最大区块高度,对合约交易区块50c的区块高度进行更新,将更新后的合约交易区块50c存储在区块链节点50b的本地数据库中,此时更新后的合约交易区块50c为区块链节点50b本地数据库中的区块P+k,P+k用于表征更新后的合约交易区块50c在本地区块链中的区块顺序,P和k均为大于或等于0的整数。此时,在区块链中完成了预言数据处理合约50d的部署过程,预言数据处理合约50d的状态可以确定为发布成功状态。
进一步地,区块链节点50b可以获取处于发布成功状态的预言数据处理合约50d对应的合约地址,例如,当预言数据处理合约50d处于发布成功状态时,区块链节点50b为预言数据处理合约50d生成相应的合约地址,或者区块链节点50b可以根据合约交易数据中携带的地址确定为预言数据处理合约50d对应的合约地址,该合约地址可以用于调用预言数据处理合约50d。在得到预言数据处理合约50d对应的合约地址之后,可以将该合约地址存储至预言机合约中,并建立该合约地址与预言数据处理合约对应的预言主题之间的绑定关系,便于预言机合约根据预言主题查找预言数据处理合约,并根据合约地址调用预言数据处理合约生成预言结果。
步骤S105:将预言机接收时间戳属于预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合。
为了保证预言数据的时效性,本申请实施例可以根据预言机接收时间戳进一步对第一候选预言数据进行筛选。例如,预言数据处理合约可以设置多个预言周期,当第一候选预言数据中的预言数据对应的预言机接收时间戳属于当前预言周期时,表示该预言数据具有时效性;当第一候选预言数据中的预言数据对应的预言机接收时间戳不属于当前预言周期时,表示该预言数据不具有时效性。
为便于描述,本申请实施例以当前预言周期为第j个预言周期为例进行说明,其中,j为正整数,j的具体取值可以是1,2,3……。假设第一候选预言数据包括预言数据1、预言数据2和预言数据5,其中,第j个预言周期对应的起始时间为“20xx-10:00”,第j个预言周期对应的截止时间为“20xx-11:00”;假设预言数据1对应的预言机接收时间戳为“20xx-10:05”、预言数据2对应的预言机接收时间戳为“20xx-10:15”、预言数据3对应的预言机接收时间戳为“20xx-09:57”;此时,可以确定第一候选预言数据中的预言数据1和预言数据2对应的预言机接收时间戳属于预言数据处理合约对应的第j个预言周期,可以将预言数据1和预言数据2添加至候选数据集合,也就是说,候选数据集合中所包含的预言数据是第一候选预言数据中预言机接收时间戳属于预言数据处理合约对应的第j个预言周期的预言数据;第一候选预言数据中的预言数据3对应的预言机接收时间戳不属于预言数据处理合约对应的第j个预言周期,此时可以将预言数据3从预言数据处理合约中清除,以节省预言数据处理合约的数据存储空间。
步骤S106:若候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言数据处理合约中的数据执行逻辑,对候选数据集合中的预言数据进行数据处理,得到第j个预言周期的预言结果。
数据执行逻辑是指预言数据处理合约中定义的一系列规则、条件和操作,用于处理候选数据集合中的预言数据,以得到第j个预言周期的预言结果。数据执行逻辑具体可以根据预言数据处理合约所对应的预言主题确定,例如,当预言主题是资产转换率时,此时的数据执行逻辑可以是求平均值;当预言主题是某个地区某个时间段的天气时,此时的数据执行逻辑可以是求重复次数最多的值等等。
数量阈值可以用于作为是否触发数据执行逻辑的判断条件,数量阈值可以在部署预言数据处理合约时设置,其具体的取值可以根据实际情况确定,本申请实施例对此不做限定。具体地,在得到候选数据集合时,可以在虚拟机中执行预言数据处理合约中的合约代码,合约代码可以将候选数据集合中所包含的预言数据的数量与预言数据处理合约中的数量阈值进行比对,若候选数据集合中所包含的预言数据的数量大于或等于数量阈值,则可以确定预言数据处理合约中的数据执行逻辑的满足合约触发条件,进而可以根据数据执行逻辑对候选数据集合中的预言数据进行数据处理,得到第j个预言周期的预言结果。
若预言数据处理合约中的合约代码判断候选数据集合所包含的预言数据的数量小于数量阈值,可以确定预言数据处理合约中的数据执行逻辑的不满足合约触发条件,此时无法执行数据执行逻辑。为了节省预言数据处理合约的数据存储空间,此时可以从预言数据处理合约中清除候选数据集合所包含的预言数据。
可选地,当候选数据集合所包含的预言数据的数量无法满足数据执行逻辑的触发条件时,可以等待系统时间到达第j个预言周期的截止时间。若在第j个预言周期对应的截止时间之前接收到的预言聚合交易中的候选数据集合所包含的预言数据的数量满足数据执行逻辑的触发条件,则可以将该候选数据集合所包含的预言数据确定的预言结果,确定为预言数据处理合约对应的第j个预言周期的预言结果,并将第j个预言周期的预言结果对应的生成时间戳确定为第j+1个预言周期的起始时间,从而进入j+1个预言周期的预言结果的计算。
若在第j个预言周期对应的截止时间之前接收到的预言聚合交易中的候选数据集合所包含的预言数据的数量均不满足数据执行逻辑的触发条件,则可以将第j-1个预言周期的预言结果确定为第j个预言周期的预言结果,将第j个预言周期的截止时间确定为第j+1个预言周期的起始时间,从而进入j+1个预言周期的预言结果的计算。可选地,当候选数据集合所包含的预言数据的数量无法满足数据执行逻辑的触发条件时,可以将第j-1个预言周期的预言结果确定为第j个预言周期的预言结果,将将候选数据集合所包含的预言数据的清除时间,确定为第j+1个预言周期的起始时间,从而进入j+1个预言周期的预言结果的计算。
假设数量阈值设置为3,候选数据集合包括预言数据1、预言数据2、预言数据3和预言数据4,可以确定候选数据集合所包含的预言数据的数量大于或等于数量阈值,此时预言数据处理合约中的数据执行逻辑满足触发条件。假设预言数据处理合约对应的预言主题是地区B时间段C的天气,那么预言数据3、预言数据2和预言数据4是地区B时间段C的具体天气情况;假设预言数据1为阴天、预言数据2为阴天、预言数据3阴天、预言数据4为小雨,数据执行逻辑可以是求重复次数最多的值,可以将“阴天”确定为第j个预言周期的预言结果。
进一步地,在得到第j个预言周期的预言结果之后,调用与预言主题相关联的业务智能合约中的数据传入接口;进而可以通过数据传入接口将第j个预言周期内的预言结果传入业务智能合约,根据第j个预言周期内的预言结果执行业务智能合约。其中,数据传入接口可以是预言数据处理合约和业务智能合约进行交互的接口,数据传入接口允许预言数据处理合约将预言结果传入业务智能合约,以触发业务智能合约的执行;其中,一个预言数据处理合约可以与一个业务智能合约建立关联关系,一个预言数据处理合约也可以与多个业务智能合约建立关联关系,本申请实施例对此不做限定。
业务智能合约在接收到第j个预言周期内的预言结果之后,可以执行业务智能合约对应的业务逻辑,得到合约执行结果。举例而言,业务智能合约可以为业务博弈合约,业务博弈合约需要使用业务随机数来确定业务博弈结果。具体地,第j个预言周期内的预言结果可以是业务随机数,业务博弈合约在接收到业务随机数之后,可以执行业务博弈逻辑,将各个博弈对象所提供的对象随机数与业务随机数进行比对,确定对象随机数与业务随机数最接近的博弈对象获胜,并向该博弈对象发放资产奖励。
在本申请实施例中,可以将M个预言机设备分别对应的预言机子交易进行封装得到预言聚合交易,并将该包含M个预言机子交易的预言聚合交易上传至区块链,而无需每个预言机设备将自己的预言机子交易进行单独上链,进而可以减少预言数据的上链开销。预言聚合交易在上传至区块链之后,可以调用预言机合约从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;进而可以通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,对第一候选预言数据进行处理,得到预言结果。由此可见,本申请实施例通过可信的区块链节点取代第三方以获取预言结果,可以保证预言结果的可靠性,进而防止第三方出现信任问题导致预言结果的可信度下降。
请参见图6,图6是本申请实施例提供的一种基于区块链的数据处理方法的时序示意图二。可以理解地,该基于区块链的数据处理方法可以由中继设备和区块链节点交互执行,该中继设备可以为图1所示的网络架构中的中继设备10d,该区块链节点可以为图1所示的网络架构所包含的区块链网络中的任意一个节点,例如,区块链节点20a。如图6所示,该基于区块链的数据处理方法可以包括以下步骤S201-步骤S210:
步骤S201:接收M个预言机设备中的第i个预言机设备的预言数据,确定第i个预言机设备的预言数据所属的预言主题。
为便于描述,本申请实施例以M个预言机设备中的第i个预言机设备为例,对预言机子交易的获取过程进行描述。可以理解的是,本申请实施例涉及到的M个预言机设备对应的预言机子交易均可以按照下述方式获取,本申请不再对各个预言机设备对应的预言机子交易的获取过程进行一一描述。
请参见图7,图7是本申请实施例的一种获取预言机子交易的示意图。其中,第i个预言机设备可以是如图7所示的预言机设备60a。预言机设备60a可以定期向中继设备60b发送预言数据,当系统时间到达数据发送时间时,中继设备60b可以将采集到的预言数据进行打包,生成预言数据包70a,并将该预言数据包70a发送至中继设备60b。预言数据包70a中可以包括一个或者多个预言数据,以及预言数据所对应的预言主题、预言数据所对应的预言机接收时间戳、预言机设备60a对应的预言机标识等参数;中继设备60b在接收到预言数据包70a时,可以从预言数据包70a中获取预言数据及其对应的预言主题、预言机接收时间戳、预言机标识等。或者,中继设备60b可以主动向预言机设备60a发送针对某一个或者多个预言主题的数据上传指令,预言机设备60a在接收到该数据上传指令之后,可以根据该数据上传指令所指示的预言主题,将该预言主题对应的预言数据进行打包,生成预言数据包70a,并将该预言数据包70a发送至中继设备60b。
步骤S202:将第i个预言机设备的预言数据、第i个预言机设备对应的预言数据所属的预言主题、第i个预言机设备对应的预言机标识、以及第i个预言机设备的预言数据所对应的预言机接收时间戳,封装为第i个预言机设备对应的初始子交易。
如图7所示,假设预言数据包70a包括预言数据1和预言数据2,预言机设备60a对应的预言机设备标识为预言机设备标识1,预言数据1对应的预言机接收时间戳为“20xx-10:01”,预言数据2对应的预言机接收时间戳为“20xx-10:05”,预言数据1和预言数据2对应的预言主题均为预言主题1。中继设备60b可以将预言数据1和预言数据2、预言数据1对应的预言机接收时间戳“20xx-10:01”、预言数据2对应的预言机接收时间戳“20xx-10:05”、预言机设备标识1和预言主题1封装为预言机设备60a对应的初始子交易70b。如图7所示,初始子交易70b可以用键值对的形式封装,其键为预言主题,其值可以包括预言机设备标识、预言数据以及预言数据对应的预言机接收时间戳。
步骤S203:向第i个预言机设备发送初始子交易对应的签名请求;签名请求用于指示第i个预言机设备根据第i个预言机设备对应的预言机私钥,对初始子交易进行签名,生成待上链子交易。
如图7所示,中继设备60b在得到初始子交易70b之后,可以根据初始子交易70b生成签名请求,向预言机设备60a请求签名。预言机设备60a在接收到初始子交易70b对应的签名请求之后,可以通过预言机设备60a对应的预言机私钥,对初始子交易70b进行签名,生成待上链子交易70c。具体地,可以将初始子交易70b输入至哈希算法对应的哈希函数中,生成消息摘要;并可以通过预言机设备60a对应的预言机私钥对消息摘要进行加密,生成携带预言机签名的待上链子交易70c。其中,哈希算法可以将数据或者消息压缩成摘要,不仅可以将数据的格式固定下来,还可以使数据量变小。哈希函数是指哈希算法使用到的函数,具体可以包括但不限于SHA-1、SHA-224、SHA-256、SHA-384以及SHA-512等函数。
步骤S204:接收第i个预言机设备返回的待上链子交易,若待上链子交易携带的预言机签名满足合法性条件,则将待上链子交易确定为第i个预言机设备对应的预言机子交易,将M个预言机子交易封装为预言聚合交易。
预言机设备60a在生成待上链子交易70c之后,可以将待上链子交易70c发送至中继设备60b;相应地,中继设备60b可以接收预言机设备60a返回的待上链子交易70c。进而可以根据预言机设备60a对应的预言机公钥确定待上链子交易70c携带的预言机签名是否满足合法性条件。
具体地,中继设备60b可以获取待上链子交易70c所携带的预言机签名,以及预言机设备60a对应的预言机公钥,通过预言机设备60a对应的预言机公钥对该预言机签名进行解密,得到预言机签名对应的第一摘要信息,进而根据哈希算法(与生成预言机签名时所采用的哈希算法一致)对待上链子交易70c进行哈希运算,得到实际收到的待上链子交易70c对应的第二摘要信息。若第一摘要信息与第二摘要信息相同,则表示待上链子交易70c携带的预言机签名是正确的,因此可以确定待上链子交易70c携带的预言机签名满足合法性条件。此时,可以将待上链子交易确定为第i个预言机设备对应的预言机子交易。
如图7所示,若第一摘要信息与第二摘要信息不相同,则可以确定待上链子交易70c携带的预言机签名不正确,因此可以确定待上链子交易70c携带的预言机签名不满足合法性条件。在这种情况下,中继设备60b可以向预言机设备60a重新发送签名请求,请求获取正确的预言机签名。
在本申请实施例中,可以按照上述的方式获取M个预言机设备对应的预言机子交易,进而可以将M个预言机子交易封装为预言聚合交易。
步骤S205:将预言聚合交易发送至区块链节点。
中继设备在得到预言聚合交易之后,可以将该预言聚合交易发送至区块链节点。
步骤S206:获取预言聚合交易,在预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据。
步骤S207:通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,获取第一候选预言数据对应的预言机接收时间戳。
其中,步骤S206和步骤S207的具体实现过程可以参考图3所示的步骤S103和步骤S104的描述,在此不再进行赘述。
步骤S208:若候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言机接收时间戳对候选数据集合中的预言数据进行降序排列,得到排序后的候选数据集合。
步骤S209:根据预言数据处理合约中的数据执行逻辑,对排序后的候选数据集合中的前t个预言数据进行数据处理,得到第j个预言周期的预言结果。
步骤S210:从预言数据处理合约中,清除排序后的候选数据集合中除前t个预言数据之外的预言数据,将第j个预言周期的预言结果对应的生成时间戳,确定为第j+1个预言周期的起始时间。
在本申请实施例中,为了进一步保证预言数据的时效性,进而提高预言结果的时效性,可以从候选数据集合中选择预言机接收时间戳排序靠后的t个预言数据,并对这t个预言数据进行数据处理,得到第j个预言周期的预言结果。其中,t的取值与数量阈值相同,例如,数量阈值为3,那么t的取值也为3。
假设数量阈值设置为3,候选数据集合包括预言数据1、预言数据2、预言数据3和预言数据4,其中,预言数据1对应的预言机接收时间戳为“20xx-10:01”、预言数据2对应的预言机接收时间戳为“20xx-10:11”、预言数据3对应的预言机接收时间戳为“20xx-10:15”、预言数据4对应的预言机接收时间戳为“20xx-10:08”,可以确定候选数据集合所包含的预言数据的数量大于或等于数量阈值;进而可以根据预言机接收时间戳对候选数据集合中的预言数据进行降序排列,得到排序后的候选数据集合,排序后的候选数据集合{预言数据3,预言数据2,预言数据4,预言数据1}。
例如,排序后的候选数据集合{预言数据3,预言数据2,预言数据4,预言数据1},那么前t个预言数据可以是预言数据3、预言数据2和预言数据4。候选数据集合中的预言数据1可以认为是时效性较低的预言数据,因此预言数据1不参与到预言结果的计算。进一步地,区块链节点可以根据预言数据处理合约中的数据执行逻辑,对预言数据3、预言数据2和预言数据4进行数据处理,得到第j个预言周期的预言结果。假设预言数据处理合约对应的预言主题是股票A在某日的收盘价,那么预言数据3、预言数据2和预言数据4是股票A在某日的具体收盘价;假设预言数据3为3280,预言数据2为3284,预言数据4为3282,数据执行逻辑可以是求平均值,可以将预言数据3、预言数据2和预言数据4所对应的平均值3282,确定为第j个预言周期的预言结果。
由于预言数据1不参与预言结果的计算,因此,可以从预言数据处理合约中清除预言数据1,以节省预言数据处理合约的数据存储空间。预言数据1的清除可以是在生成预言结果之前执行,也可以是与生成预言结果同时执行,也可以是在生成预言结果之后执行,本申请实施例对预言数据1的清除时间不进行限定。
在得到第j个预言周期的预言结果之后,可以进入下一个预言周期,即进入第j+1个预言周期。在本申请实施例中,可以将第j个预言周期的预言结果对应的生成时间戳,确定为第j+1个预言周期的起始时间,将第j个预言周期的预言结果对应的生成时间戳和预置时间间隔之和确定为第j+1个预言周期的截止时间。其中,预置时间间隔是预先设置的参数,具体取值可以根据实际应用场景确定。假设预置时间间隔为1小时,第j个预言周期的起始时间为“20xx-10:00”,第j个预言周期的截止时间为“20xx-11:00”,第j个预言周期的预言结果对应的生成时间戳为“20xx-10:10”,那么第j+1个预言周期的起始时间可以为“20xx-10:10”,第j+1个预言周期的截止时间可以为“20xx-11:10”。
在得到第j个预言周期的预言结果之后,可以将第j个预言周期的预言结果存储至预言数据处理合约的数据存储空间。其中,预言数据处理合约中的数据存储空间的数据存储结构可以是键值对形式的哈希表。例如,哈希表可以是{预言主题1:[预言数据3,预言数据2,预言数据4],数量阈值3,预言数据处理合约地址1,预置时间间隔1小时,第j个预言周期的预言结果,第j+1个预言周期的截止时间}。其中,该哈希表的键可以是预言主题,其值可以包括但不限于:候选数据集合中参与预言结果计算的预言数据、数量阈值、预言数据处理合约地址、预置时间间隔、第j个预言周期的预言结果、第j+1个预言周期的截止时间等。
可选地,预言数据处理合约还可以为与该预言数据处理合约具有相同的预言主题所对应的业务智能合约提供数据查询入口,当业务智能合约被调用时,业务智能合约可以调用该数据查询入口,从预言数据处理合约中的数据存储空间中获取第j个预言周期的预言结果,进而触发业务智能合约的执行。可选地,在生成第j个预言周期的预言结果之后,预言数据处理合约也可以调用该业务智能合约中的数据传入接口,通过数据传入接口将第j个预言周期的预言结果传入业务智能合约,进而触发业务智能合约的执行,具体的实现过程请参考上文的描述,在此不再进行赘述。
在本申请实施例中,可以将M个预言机设备分别对应的预言机子交易进行封装得到预言聚合交易,并将该包含M个预言机子交易的预言聚合交易上传至区块链,而无需每个预言机设备将自己的预言机子交易进行单独上链,进而可以减少预言数据的上链开销。预言聚合交易在上传至区块链之后,可以调用预言机合约从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;进而可以通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,对第一候选预言数据进行处理,得到预言结果。由此可见,本申请实施例通过可信的区块链节点取代第三方以获取预言结果,可以保证预言结果的可靠性,进而防止第三方出现信任问题导致预言结果的可信度下降。
可以理解的是,在本申请的具体实施方式中,可能涉及到用户的相关信息(例如,用户的身份注册信息、身份认证信息等),当本申请以上实施例运用到具体产品或技术中时,需要获得用户的许可或同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
请参见图8,图8是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图一。可以理解的是,该基于区块链的数据处理装置1可以应用在图1所示的区块链网络中的区块链节点中。如图8所示,该基于区块链的数据处理装置1可以包括预言聚合交易获取模块11、第一预言数据筛选模块12、接收时间戳获取模块13、第二预言数据筛选模块14以及预言数据处理模块15,其中:
预言聚合交易获取模块11,用于获取预言聚合交易;预言聚合交易是根据M个预言机子交易得到的;M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
第一预言数据筛选模块12,用于在预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
接收时间戳获取模块13,用于通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,获取第一候选预言数据对应的预言机接收时间戳;一个预言主题对应一个预言数据处理合约;
第二预言数据筛选模块14,用于将预言机接收时间戳属于预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;j为正整数;
预言数据处理模块15,用于若候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言数据处理合约中的数据执行逻辑,对候选数据集合中的预言数据进行数据处理,得到第j个预言周期的预言结果。
其中,预言聚合交易获取模块11、第一预言数据筛选模块12、接收时间戳获取模块13、第二预言数据筛选模块14以及预言数据处理模块15的具体功能实现方式可以参见图3所对应实施例中的步骤S103-步骤S106,此处不再进行赘述。
在一种可能的实施方式中,基于区块链的数据处理装置1还可以包括:交易解析模块16、白名单获取模块17、第一比对模块18和第二比对模块19,其中:
交易解析模块16,用于调用区块链中所部署的预言机合约,对预言聚合交易进行解析,得到M个预言机子交易;
白名单获取模块17,用于获取M个预言机设备在区块链上的预言机地址,以及获取预言机合约中的权限白名单;
第一比对模块18,用于若M个预言机设备中的第i个预言机设备对应的预言机地址属于权限白名单,则确定第i个预言机设备对应的预言机子交易中所包含的预言数据满足有效性条件;
第二比对模块19,用于若第i个预言机设备对应的预言机地址不属于权限白名单,则确定第i个预言机设备对应的预言机子交易中所包含的预言数据不满足有效性条件。
其中,交易解析模块16、白名单获取模块17、第一比对模块18和第二比对模块19的具体功能实现方式可以参见图3所对应实施例中的步骤S103,此处不再进行赘述。
在一种可能的实施方式中,基于区块链的数据处理装置1还可以包括:身份验证模块120和地址添加模块121,其中:
身份验证模块120,用于接收第i个预言机设备发送的身份注册请求,获取身份注册请求携带的身份认证信息,对身份认证信息进行验证,得到身份认证信息对应的身份认证结果;
地址添加模块121,用于若身份认证结果指示认证成功,则将第i个预言机设备对应的预言机地址加至权限白名单。
其中,身份验证模块120和地址添加模块121的具体功能实现方式可以参见图3所对应实施例中的步骤S103,此处不再进行赘述。
在一种可能的实施方式中,基于区块链的数据处理装置1还可以包括:交易数据封装模块122、交易区块广播模块123、合约状态确定模块124和合约地址存储模块125,其中:
交易数据封装模块122,用于接收预言数据处理合约相关联的合约交易数据,按照合约交易数据在交易池中的排序,将合约交易数据封装至合约交易区块;
交易区块广播模块123,用于在业务区块链网络中对合约交易区块进行广播,以使业务区块链网络中的区块链节点对合约交易区块进行共识处理;
合约状态确定模块124,用于获取合约交易区块在业务区块链网络中的共识投票数量,若共识投票数量大于或等于数量阈值,则确定合约交易区块达成共识,将合约交易区块添加至区块链,确定预言数据处理合约为发布成功状态;
合约地址存储模块125,用于获取处于发布成功状态的预言数据处理合约对应的合约地址,将合约地址存储至预言机合约,建立合约地址与预言数据处理合约对应的预言主题之间的绑定关系。
其中,交易数据封装模块122、交易区块广播模块123、合约状态确定模块124和合约地址存储模块125的具体功能实现方式可以参见图3所对应实施例中的步骤S103,此处不再进行赘述。
在一种可能的实施方式中,第一候选预言数据所属的预言主题包括预言主题a和预言主题b;接收时间戳获取模块13通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,获取第一候选预言数据对应的预言机接收时间戳,包括:
通过预言机合约,将第一候选预言数据中属于预言主题a的预言数据确定为第二候选预言数据,将第一候选预言数据中属于预言主题b的预言数据确定为第三候选预言数据;
在预言机合约中,确定预言主题a对应的合约地址和预言主题b对应的合约地址;
根据预言主题a对应的合约地址调用预言主题a对应的预言数据处理合约,通过预言主题a对应的预言数据处理合约,获取第二候选预言数据对应的预言机接收时间戳;
根据预言主题b对应的合约地址调用预言主题b对应的预言数据处理合约,通过预言主题b对应的预言数据处理合约,获取第三候选预言数据对应的预言机接收时间戳。
在一种可能的实施方式中,预言数据处理模块15若候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言数据处理合约中的数据执行逻辑,得到候选数据集合在第j个预言周期内的预言结果,包括:
若候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言机接收时间戳对候选数据集合中的预言数据进行降序排列,得到排序后的候选数据集合;
根据预言数据处理合约中的数据执行逻辑,对排序后的候选数据集合中的前t个预言数据进行数据处理,得到第j个预言周期的预言结果;t的取值与数量阈值相同;
从预言数据处理合约中,清除排序后的候选数据集合中除前t个预言数据之外的预言数据,将第j个预言周期的预言结果对应的生成时间戳,确定为第j+1个预言周期的起始时间。
在一种可能的实施方式中,基于区块链的数据处理装置1还可以包括:预言数据清除模块126,其中:
预言数据清除模块126,用于若候选数据集合所包含的预言数据的数量小于数量阈值,则从预言数据处理合约中清除候选数据集合所包含的预言数据。
其中,预言数据清除模块126的具体功能实现方式可以参见图3所对应实施例中的步骤S106,此处不再进行赘述。
在一种可能的实施方式中,基于区块链的数据处理装置1还可以包括:传入接口调用模块127和预言结果传入模块128,其中:
传入接口调用模块127,用于调用与预言主题相关联的业务智能合约中的数据传入接口;
预言结果传入模块128,用于通过数据传入接口,将第j个预言周期内的预言结果传入业务智能合约,根据第j个预言周期内的预言结果执行业务智能合约。
其中,传入接口调用模块127和预言结果传入模块128的具体功能实现方式可以参见图3所对应实施例中的步骤S106,此处不再进行赘述。
在本申请实施例中,可以将M个预言机设备分别对应的预言机子交易进行封装得到预言聚合交易,并将该包含M个预言机子交易的预言聚合交易上传至区块链,而无需每个预言机设备将自己的预言机子交易进行单独上链,进而可以减少预言数据的上链开销。预言聚合交易在上传至区块链之后,可以调用预言机合约从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;进而可以通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,对第一候选预言数据进行处理,得到预言结果。由此可见,本申请实施例通过可信的区块链节点取代第三方以获取预言结果,可以保证预言结果的可靠性,进而防止第三方出现信任问题导致预言结果的可信度下降。
请参见图9,图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图二。可以理解的是,该基于区块链的数据处理装置2可以应用在图1所示的中继设备中。如图9所示,该基于区块链的数据处理装置2可以包括预言机子交易获取模块21和预言聚合交易上传模块22,其中:
预言机子交易获取模块21,用于获取M个预言机子交易;M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
预言聚合交易上传模块22,用于将M个预言机子交易封装为预言聚合交易,将预言聚合交易发送至区块链节点,以使区块链节点在预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
其中,预言机合约用于调用第一候选预言数据所属的预言主题对应的预言数据处理合约,将预言机接收时间戳属于预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;当候选数据集合所包含的预言数据的数量大于或等于数量阈值时,预言数据处理合约用于确定候选数据集合中的预言数据在第j个预言周期内的预言结果;一个预言主题对应一个预言数据处理合约。
其中,预言机子交易获取模块21和预言聚合交易上传模块22的具体功能实现方式可以参见图3所对应实施例中的步骤S101和步骤S102,此处不再进行赘述。
在一种可能的实施方式中,预言机子交易获取模块21获取M个预言机子交易,包括:
接收M个预言机设备中的第i个预言机设备的预言数据,确定第i个预言机设备的预言数据所属的预言主题;
将第i个预言机设备的预言数据、第i个预言机设备对应的预言数据所属的预言主题、第i个预言机设备对应的预言机标识、以及第i个预言机设备的预言数据所对应的预言机接收时间戳,封装为第i个预言机设备对应的初始子交易;
向第i个预言机设备发送初始子交易对应的签名请求;签名请求用于指示第i个预言机设备根据第i个预言机设备对应的预言机私钥,对初始子交易进行签名,生成待上链子交易;
接收第i个预言机设备返回的待上链子交易,若待上链子交易携带的预言机签名满足合法性条件,则将待上链子交易确定为第i个预言机设备对应的预言机子交易。
在一种可能的实施方式中,基于区块链的数据处理装置2还可以包括:预言机签名解密模块23、哈希运算模块24以及合法性确定模块25,其中:
预言机签名解密模块23,用于获取第i个预言机设备所关联的预言机公钥,通过第i个预言机设备所关联的预言机公钥,对待上链子交易携带的预言机签名进行解密,得到待上链子交易对应的预言机签名对应的第一摘要信息;
哈希运算模块24,用于根据哈希算法对待上链子交易进行哈希运算,得到待上链子交易对应的第二摘要信息;
合法性确定模块25,用于若第一摘要信息与第二摘要信息相同,则确定待上链子交易携带的预言机签名满足合法性条件。
其中,预言机签名解密模块23、哈希运算模块24以及合法性确定模块25的具体功能实现方式可以参见图3所对应实施例中的步骤S102,此处不再进行赘述。
在一种可能的实施方式中,基于区块链的数据处理装置2还可以包括:签名请求重发模块26,其中:
签名请求重发模块26,用于若第一摘要信息与第二摘要信息不相同,则确定待上链子交易携带的预言机签名不满足合法性条件,向第i个预言机设备重新发送签名请求。
其中,签名请求重发模块26的具体功能实现方式可以参见图3所对应实施例中的步骤S102,此处不再进行赘述。
在本申请实施例中,可以将M个预言机设备分别对应的预言机子交易进行封装得到预言聚合交易,并将该包含M个预言机子交易的预言聚合交易上传至区块链,而无需每个预言机设备将自己的预言机子交易进行单独上链,进而可以减少预言数据的上链开销。预言聚合交易在上传至区块链之后,可以调用预言机合约从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;进而可以通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,对第一候选预言数据进行处理,得到预言结果。由此可见,本申请实施例通过可信的区块链节点取代第三方以获取预言结果,可以保证预言结果的可靠性,进而防止第三方出现信任问题导致预言结果的可信度下降。
请参见图10,图10是本申请实施例提供的一种计算机设备的结构示意图。如图10所示,该计算机设备1000可以为终端设备,还可以为服务器,这里将不对其进行限制。为便于理解,本申请以计算机设备为终端设备为例,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选地,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,在图10所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取预言聚合交易;预言聚合交易是根据M个预言机子交易得到的;M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
在预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
通过预言机合约,调用第一候选预言数据所属的预言主题对应的预言数据处理合约,获取第一候选预言数据对应的预言机接收时间戳;一个预言主题对应一个预言数据处理合约;
将预言机接收时间戳属于预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;j为正整数;
若候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言数据处理合约中的数据执行逻辑,对候选数据集合中的预言数据进行数据处理,得到第j个预言周期的预言结果。
或者,处理器1001可以实现:
获取M个预言机子交易;M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
将M个预言机子交易封装为预言聚合交易,将预言聚合交易发送至区块链节点,以使区块链节点在预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
其中,预言机合约用于调用第一候选预言数据所属的预言主题对应的预言数据处理合约,将预言机接收时间戳属于预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;当候选数据集合所包含的预言数据的数量大于或等于数量阈值时,预言数据处理合约用于确定候选数据集合中的预言数据在第j个预言周期内的预言结果;一个预言主题对应一个预言数据处理合约。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图6所对应实施例中对基于区块链的数据处理方法的描述,也可执行前文图8和图9所对应实施例中对基于区块链的数据处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的基于区块链的数据处理装置1和基于区块链的数据处理装置2所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3和图6任一个所对应实施例中对基于区块链的数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。其中,存储介质可以为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(RandomAccess Memory,RAM)等。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3和图6任一个所对应实施例中对基于区块链的数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (17)
1.一种基于区块链的数据处理方法,其特征在于,包括:
获取预言聚合交易;所述预言聚合交易是根据M个预言机子交易得到的;所述M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及所述第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
在所述预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从所述预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
通过所述预言机合约,调用所述第一候选预言数据所属的预言主题对应的预言数据处理合约,获取所述第一候选预言数据对应的预言机接收时间戳;一个预言主题对应一个预言数据处理合约;
将预言机接收时间戳属于所述预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;j为正整数;
若所述候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据所述预言数据处理合约中的数据执行逻辑,对所述候选数据集合中的预言数据进行数据处理,得到所述第j个预言周期的预言结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
调用区块链中所部署的预言机合约,对所述预言聚合交易进行解析,得到M个预言机子交易;
获取M个预言机设备在区块链上的预言机地址,以及获取所述预言机合约中的权限白名单;
若所述M个预言机设备中的第i个预言机设备对应的预言机地址属于所述权限白名单,则确定所述第i个预言机设备对应的预言机子交易中所包含的预言数据满足有效性条件;
若所述第i个预言机设备对应的预言机地址不属于所述权限白名单,则确定所述第i个预言机设备对应的预言机子交易中所包含的预言数据不满足有效性条件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收第i个预言机设备发送的身份注册请求,获取所述身份注册请求携带的身份认证信息,对所述身份认证信息进行验证,得到所述身份认证信息对应的身份认证结果;
若所述身份认证结果指示认证成功,则将所述第i个预言机设备对应的预言机地址加至所述权限白名单。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述预言数据处理合约相关联的合约交易数据,按照所述合约交易数据在交易池中的排序,将所述合约交易数据封装至合约交易区块;
在业务区块链网络中对所述合约交易区块进行广播,以使所述业务区块链网络中的区块链节点对所述合约交易区块进行共识处理;
获取所述合约交易区块在所述业务区块链网络中的共识投票数量,若所述共识投票数量大于或等于数量阈值,则确定所述合约交易区块达成共识,将所述合约交易区块添加至区块链,确定所述预言数据处理合约为发布成功状态;
获取处于发布成功状态的所述预言数据处理合约对应的合约地址,将所述合约地址存储至所述预言机合约,建立所述合约地址与所述预言数据处理合约对应的预言主题之间的绑定关系。
5.根据权利要求1所述的方法,其特征在于,所述第一候选预言数据所属的预言主题包括预言主题a和预言主题b;
所述通过所述预言机合约,调用所述第一候选预言数据所属的预言主题对应的预言数据处理合约,获取所述第一候选预言数据对应的预言机接收时间戳,包括:
通过所述预言机合约,将所述第一候选预言数据中属于所述预言主题a的预言数据确定为第二候选预言数据,将所述第一候选预言数据中属于所述预言主题b的预言数据确定为第三候选预言数据;
在所述预言机合约中,确定所述预言主题a对应的合约地址和所述预言主题b对应的合约地址;
根据所述预言主题a对应的合约地址调用所述预言主题a对应的预言数据处理合约,通过所述预言主题a对应的预言数据处理合约,获取所述第二候选预言数据对应的预言机接收时间戳;
根据所述预言主题b对应的合约地址调用所述预言主题b对应的预言数据处理合约,通过预言主题b对应的预言数据处理合约,获取所述第三候选预言数据对应的预言机接收时间戳。
6.根据权利要求1所述的方法,其特征在于,所述若所述候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据所述预言数据处理合约中的数据执行逻辑,对所述候选数据集合中的预言数据进行数据处理,得到所述第j个预言周期的预言结果,包括:
若所述候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据预言机接收时间戳对所述候选数据集合中的预言数据进行降序排列,得到排序后的候选数据集合;
根据所述预言数据处理合约中的数据执行逻辑,对所述排序后的候选数据集合中的前t个预言数据进行数据处理,得到所述第j个预言周期的预言结果;t的取值与所述数量阈值相同;
从所述预言数据处理合约中,清除所述排序后的候选数据集合中除前t个预言数据之外的预言数据,将所述第j个预言周期的预言结果对应的生成时间戳,确定为第j+1个预言周期的起始时间。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述候选数据集合所包含的预言数据的数量小于所述数量阈值,则从所述预言数据处理合约中清除所述候选数据集合所包含的预言数据。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
调用与所述预言主题相关联的业务智能合约中的数据传入接口;
通过所述数据传入接口,将所述第j个预言周期内的预言结果传入所述业务智能合约,根据所述第j个预言周期内的预言结果执行所述业务智能合约。
9.一种基于区块链的数据处理方法,其特征在于,包括:
获取M个预言机子交易;所述M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及所述第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
将所述M个预言机子交易封装为预言聚合交易,将所述预言聚合交易发送至区块链节点,以使所述区块链节点在所述预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从所述预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
其中,所述预言机合约用于调用所述第一候选预言数据所属的预言主题对应的预言数据处理合约,将预言机接收时间戳属于所述预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;当所述候选数据集合所包含的预言数据的数量大于或等于数量阈值时,所述预言数据处理合约用于确定所述候选数据集合中的预言数据在所述第j个预言周期内的预言结果;一个预言主题对应一个预言数据处理合约。
10.根据权利要求9所述的方法,其特征在于,所述获取M个预言机子交易,包括:
接收M个预言机设备中的第i个预言机设备的预言数据,确定所述第i个预言机设备的预言数据所属的预言主题;
将所述第i个预言机设备的预言数据、所述第i个预言机设备对应的预言数据所属的预言主题、所述第i个预言机设备对应的预言机标识、以及所述第i个预言机设备的预言数据所对应的预言机接收时间戳,封装为所述第i个预言机设备对应的初始子交易;
向所述第i个预言机设备发送初始子交易对应的签名请求;所述签名请求用于指示所述第i个预言机设备根据所述第i个预言机设备对应的预言机私钥,对所述初始子交易进行签名,生成待上链子交易;
接收所述第i个预言机设备返回的所述待上链子交易,若所述待上链子交易携带的预言机签名满足合法性条件,则将所述待上链子交易确定为所述第i个预言机设备对应的预言机子交易。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取所述第i个预言机设备所关联的预言机公钥,通过所述第i个预言机设备所关联的预言机公钥,对所述待上链子交易携带的预言机签名进行解密,得到所述待上链子交易对应的预言机签名对应的第一摘要信息;
根据哈希算法对所述待上链子交易进行哈希运算,得到所述待上链子交易对应的第二摘要信息;
若所述第一摘要信息与所述第二摘要信息相同,则确定所述待上链子交易携带的预言机签名满足合法性条件。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
若所述第一摘要信息与所述第二摘要信息不相同,则确定所述待上链子交易携带的预言机签名不满足合法性条件,向所述第i个预言机设备重新发送所述签名请求。
13.一种基于区块链的数据处理装置,其特征在于,包括:
预言聚合交易获取模块,用于获取预言聚合交易;所述预言聚合交易是根据M个预言机子交易得到的;所述M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及所述第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
第一预言数据筛选模块,用于在所述预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从所述预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
接收时间戳获取模块,用于通过所述预言机合约,调用所述第一候选预言数据所属的预言主题对应的预言数据处理合约,获取所述第一候选预言数据对应的预言机接收时间戳;一个预言主题对应一个预言数据处理合约;
第二预言数据筛选模块,用于将预言机接收时间戳属于所述预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;j为正整数;
预言数据处理模块,用于若所述候选数据集合所包含的预言数据的数量大于或等于数量阈值,则根据所述预言数据处理合约中的数据执行逻辑,对所述候选数据集合中的预言数据进行数据处理,得到所述第j个预言周期的预言结果。
14.一种基于区块链的数据处理装置,其特征在于,包括:
预言机子交易获取模块,用于获取M个预言机子交易;所述M个预言机子交易中的第i个预言机子交易包括第i个预言机设备对应的预言数据,以及所述第i个预言机设备对应的预言数据所属的预言主题,一个预言机设备对应一个预言机子交易;M、i均为正整数,且i小于或等于M;
预言聚合交易上传模块,用于将所述M个预言机子交易封装为预言聚合交易,将所述预言聚合交易发送至区块链节点,以使所述区块链节点在所述预言聚合交易的执行阶段,通过区块链中所部署的预言机合约,从所述预言聚合交易所包含的预言数据中筛选出满足有效性条件的第一候选预言数据;
其中,所述预言机合约用于调用所述第一候选预言数据所属的预言主题对应的预言数据处理合约,将预言机接收时间戳属于所述预言数据处理合约对应的第j个预言周期的第一候选预言数据添加至候选数据集合;当所述候选数据集合所包含的预言数据的数量大于或等于数量阈值时,所述预言数据处理合约用于确定所述候选数据集合中的预言数据在所述第j个预言周期内的预言结果;一个预言主题对应一个预言数据处理合约。
15.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-8任一项所述的方法,或者执行权利要求9至12任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1至8任一项所述的方法,或者执行权利要求9至12任一项所述的方法。
17.一种计算程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1至8任一项所述的方法,或者实现权利要求9至12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311315430.8A CN117411609A (zh) | 2023-10-11 | 2023-10-11 | 基于区块链的数据处理方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311315430.8A CN117411609A (zh) | 2023-10-11 | 2023-10-11 | 基于区块链的数据处理方法、装置、设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117411609A true CN117411609A (zh) | 2024-01-16 |
Family
ID=89486348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311315430.8A Pending CN117411609A (zh) | 2023-10-11 | 2023-10-11 | 基于区块链的数据处理方法、装置、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117411609A (zh) |
-
2023
- 2023-10-11 CN CN202311315430.8A patent/CN117411609A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113691597B (zh) | 区块链合约部署方法、装置、设备以及存储介质 | |
CN111427957B (zh) | 区块链投票信息校验方法、装置、设备以及存储介质 | |
CN111444211B (zh) | 区块链共识节点校验方法、装置、设备以及存储介质 | |
CN112446785A (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
US20220271960A1 (en) | Blockchain-based data processing method, apparatus, device, and readable storage medium | |
CN111884807B (zh) | 基于区块链的物品预约方法、装置、设备以及介质 | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
CN111934870B (zh) | 区块链网络中的根证书更新方法、装置、设备以及介质 | |
CN111654395B (zh) | 投票信息处理方法、装置、设备以及存储介质 | |
CN110647583B (zh) | 一种区块链构建方法、装置、终端及介质 | |
CN116827957B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
CN111327602B (zh) | 一种设备接入处理方法、设备及存储介质 | |
Zhu et al. | A study on the challenges and solutions of blockchain interoperability | |
CN117411609A (zh) | 基于区块链的数据处理方法、装置、设备以及介质 | |
CN112926981B (zh) | 用于区块链的交易信息处理方法、装置、介质及电子设备 | |
CN118227703A (zh) | 基于区块链的数据处理方法、装置、设备以及介质 | |
CN116996331B (zh) | 基于区块链的数据处理方法、装置、设备以及介质 | |
CN117040766B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN117034369B (zh) | 地址数据处理方法、装置、设备以及介质 | |
CN116980169A (zh) | 区块链数据处理方法、装置、设备及存储介质 | |
CN117474676A (zh) | 基于区块链的数据处理方法、装置、设备以及介质 | |
CN117014176A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN117372016A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN116366254A (zh) | 跨链信息生成方法、跨链信息验证方法及跨链信息验证系统 | |
CN117743456A (zh) | 基于区块链的数字资产处理方法、装置、设备以及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |