CN112948465A - 基于区块链的数据处理方法和装置 - Google Patents

基于区块链的数据处理方法和装置 Download PDF

Info

Publication number
CN112948465A
CN112948465A CN202110262756.3A CN202110262756A CN112948465A CN 112948465 A CN112948465 A CN 112948465A CN 202110262756 A CN202110262756 A CN 202110262756A CN 112948465 A CN112948465 A CN 112948465A
Authority
CN
China
Prior art keywords
data
chain
node
encrypted
query request
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
Application number
CN202110262756.3A
Other languages
English (en)
Other versions
CN112948465B (zh
Inventor
王绍刚
马国祥
王舒榕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co Ltd
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC, ICBC Technology Co Ltd filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110262756.3A priority Critical patent/CN112948465B/zh
Publication of CN112948465A publication Critical patent/CN112948465A/zh
Application granted granted Critical
Publication of CN112948465B publication Critical patent/CN112948465B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种基于区块链的数据处理方法,应用于预言机系统,包括:接收来自智能合约节点的数据查询请求;确定所述数据查询请求指示的目标数据源和待查询链外数据的数据参数;从所述目标数据源中请求获取所述数据参数指示的链外数据;接收所述目标数据源返回的被签名的已加密链外数据;进行针对所述被签名的已加密链外数据的验签操作;在验签通过的情况下,进行针对所述已加密链外数据的解密操作;将解密后的所述链外数据返回所述智能合约节点。本公开还提供了一种基于区块链的数据处理装置、一种电子设备及一种计算机存储介质。

Description

基于区块链的数据处理方法和装置
技术领域
本公开涉及区块链技术领域,特别是涉及一种基于区块链的数据处理方法及装置。
背景技术
随着区块链技术的日益成熟,区块链应用得以迅速发展。区块链技术允许在没有第三方节点的情况下实现可信交易,然而随着区块链技术的大规模应用,区块链网络作为数据孤岛的弊端越来越明显。
在实现本公开技术方案过程中,发明人发现相关技术中在基于区块链网络获取链外数据时,存在链外数据来源不可信、链外数据被篡改的风险,这影响区块链网络中智能合约处理结果的可靠性。
发明内容
本公开的一个方面提供了一种基于区块链的数据处理方法,应用于预言机系统,包括:接收来自智能合约节点的数据查询请求;确定所述数据查询请求指示的目标数据源和待查询链外数据的数据参数;从所述目标数据源中请求获取所述数据参数指示的链外数据;接收所述目标数据源返回的被签名的已加密链外数据;进行针对所述被签名的已加密链外数据的验签操作;在验签通过的情况下,进行针对所述已加密链外数据的解密操作;以及将解密后的所述链外数据返回所述智能合约节点。
可选地,所述预言机系统包括审计节点,所述审计节点用于生成预言机对称密钥和预言机签名密钥;所述预言机对称密钥用于提供给所述目标数据源,以使所述目标数据源利用所述预言机对称密钥对所述链外数据进行加密,得到所述已加密链外数据;所述预言机签名密钥用于提供给所述目标数据源,以使所述目标数据源利用所述预言机签名密钥,对所述已加密链外数据进行签名,得到所述被签名的已加密链外数据。
可选地,所述预言机系统还包括预言机节点,所述进行针对所述被签名的已加密链外数据的验签操作,包括:所述审计节点利用所述预言机签名密钥,验证所述被签名的已加密链外数据的签名来源是否合法,以及验证所述签名是否发生过变更,得到验签结果;以及在所述验签结果指示验签通过的情况下,将所述已加密链外数据发送给所述预言机节点。
可选地,所述预言机对称密钥还用于提供给所述预言机节点,所述进行针对所述已加密链外数据的解密操作,包括:所述预言机节点利用所述预言机对称密钥,对所述已加密链外数据进行解密,得到解密后的所述链外数据。
可选地,所述接收来自智能合约节点的数据查询请求,包括:所述预言机节点接收来自所述智能合约节点的已加密数据查询请求;所述确定所述数据查询请求指示的目标数据源和待查询链外数据的数据参数,包括:所述预言机节点验证所述已加密数据查询请求是否满足预设解密条件;若是,利用预言机系统密钥对所述已加密数据查询请求进行解密,以确定所述数据查询请求指示的所述目标数据源和所述数据参数。
可选地,所述预言机系统还包括加密节点,所述方法还包括:利用所述加密节点接收来自所述智能合约节点的未加密数据查询请求;在确定所述未加密数据查询请求指示的目标数据源为可信数据源后,利用预言机系统公钥对所述未加密数据查询请求进行加密,以得到所述已加密数据查询请求;以及将所述已加密数据查询请求返回所述智能合约节点,以使所述智能合约节点将所述已加密数据查询请求发送给所述预言机节点。
可选地,所述智能合约节点包括预言机合约节点、聚合合约节点和用户合约节点;所述将解密后的所述链外数据返回所述智能合约节点,包括:所述预言机节点将解密后的所述链外数据通过所述预言机合约节点返回所述聚合合约节点,以使所述聚合合约节点对所述链外数据进行聚合,得到聚合链外数据,并将所述聚合链外数据返回所述用户合约节点。
本公开的另一方面提供了一种基于区块链的数据处理装置,应用于预言机系统,所述数据处理装置包括:第一接收模块,用于接收来自智能合约节点的数据查询请求;第一处理模块,用于确定所述数据查询请求指示的目标数据源和待查询链外数据的数据参数;第二处理模块,用于从所述目标数据源中请求获取所述数据参数指示的链外数据;第二接收模块,用于接收所述目标数据源返回的被签名的已加密链外数据;第三处理模块,用于进行针对所述被签名的已加密链外数据的验签操作;第四处理模块,用于在验签通过的情况下,进行针对所述已加密链外数据的解密操作;以及发送模块,用于将解密后的所述链外数据返回所述智能合约节点。
可选地,所述数据处理装置包括审计节点,所述审计节点用于生成预言机对称密钥和预言机签名密钥;所述预言机对称密钥用于提供给所述目标数据源,以使所述目标数据源利用所述预言机对称密钥对所述链外数据进行加密,得到所述已加密链外数据;所述预言机签名密钥用于提供给所述目标数据源,以使所述目标数据源利用所述预言机签名密钥,对所述已加密链外数据进行签名,得到所述被签名的已加密链外数据。
可选地,所述数据处理装置还包括预言机节点,所述审计节点包括所述第三处理模块,所述第三处理模块包括:第一处理子模块,用于利用所述预言机签名密钥,验证所述被签名的已加密链外数据的签名来源是否合法,以及验证所述签名是否发生过变更,得到验签结果;第二处理子模块,用于在所述验签结果指示验签通过的情况下,将所述已加密链外数据发送给所述预言机节点中的第四处理模块。
可选地,所述预言机对称密钥还用于提供给所述预言机节点,所述预言机节点包括所述第四处理模块,所述第四处理模块包括:第三处理子模块,用于利用所述预言机对称密钥,对所述已加密链外数据进行解密,得到解密后的所述链外数据。
可选地,所述预言机节点包括所述第一处理模块和所述第二处理模块,所述第一处理模块包括:第四处理子模块,用于接收来自所述智能合约节点的已加密数据查询请求;所述第二处理模块包括:第五处理子模块,用于验证所述已加密数据查询请求是否满足预设解密条件;第六处理子模块,用于若是,对所述已加密数据查询请求进行解密,以确定所述数据查询请求指示的所述目标数据源和所述数据参数。
可选地,所述数据处理装置还包括加密节点,所述加密节点包括:第五处理模块,用于利用所述加密节点接收来自所述智能合约节点的未加密数据查询请求;在确定所述未加密数据查询请求指示的目标数据源为可信数据源后,利用预言机系统公钥对所述未加密数据查询请求进行加密,以得到所述已加密数据查询请求;以及将所述已加密数据查询请求返回所述智能合约节点,以使所述智能合约节点将所述已加密数据查询请求发送给所述预言机节点。
可选地,所述智能合约节点包括预言机合约节点、聚合合约节点和用户合约节点;所述预言机节点还包括所述发送模块,所述发送模块包括:第七处理子模块,用于将解密后的所述链外数据通过所述预言机合约节点返回所述聚合合约节点,以使所述聚合合约节点对所述链外数据进行聚合,得到聚合链外数据,并将所述聚合链外数据返回所述用户合约节点。
本公开的另一方面提供了一种电子设备,包括一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本公开实施例的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现本公开实施例的方法。
本公开的另一方面提供了一种计算机程序产品,包括计算机可读指令,其中,所述计算机可读指令被执行时用于执行本公开实施例的基于区块链的数据处理方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中,
图1示意性示出了根据本公开实施例的基于区块链的数据处理方法和装置的系统架构;
图2示意性示出了根据本公开实施例的一种基于区块链的数据处理方法的流程图;
图3示意性示出了根据本公开实施例的一种基于区块链的数据处理系统的示意图;
图4示意性示出了根据本公开实施例的另一基于区块链的数据处理方法的流程图;
图5示意性示出了根据本公开实施例的从目标数据源中请求获取链外数据的示意图;
图6示意性示出了根据本公开实施例的接收目标数据源返回的链外数据的示意图;
图7示意性示出了根据本公开实施例的一种基于区块链的数据处理装置的框图;
图8示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性地,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、操作、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、操作、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程基于区块链的数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种基于区块链的数据处理方法以及能够应用该方法的数据处理装置。该方法具体可以包括如下操作,首先,接收来自智能合约节点的数据查询请求,确定数据查询请求指示的目标数据源和待查询链外数据的数据参数,然后从目标数据源中请求获取数据参数指示的链外数据;接下来,接收目标数据源返回的被签名的已加密链外数据,进行针对被签名的已加密链外数据的验签操作,以及在验签通过的情况下,进行针对已加密链外数据的解密操作,最后将解密后的链外数据返回智能合约节点。
图1示意性示出了根据本公开实施例的基于区块链的数据处理方法和装置的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,系统架构100包括区块链网络中的智能合约节点(图中示出了多个,如智能合约节点101、102、103)、预言机系统104和目标数据源(图中示出了多个,如目标数据源105、106、107)。
首先,预言机系统104接收来自智能合约节点(如智能合约节点101、102、103)的数据查询请求,确定数据查询请求指示的目标数据源和待查询链外数据的数据参数,然后从目标数据源(如目标数据源105、106、107)中请求获取数据参数指示的链外数据,接下来,预言机系统104接收目标数据源(如目标数据源105、106、107)返回的被签名的已加密链外数据,并进行针对被签名的已加密链外数据的验签操作,以及在验签通过的情况下,进行针对已加密链外数据的解密操作,最后,预言机系统104将解密后的链外数据返回智能合约节点(如智能合约节点101、102、103)。
需要说明的是,本公开实施例的基于区块链的数据处理方法和装置可用于金融领域,也可用于除金融领域之外的任意领域。以下将结合附图和具体实施例详细阐述本公开。
图2示意性示出了根据本公开实施例的一种基于区块链的数据处理方法的流程图,本方法应用于预言机系统。
如图2所示,方法200可以包括操作S210~S270。
在操作S210,接收来自智能合约节点的数据查询请求。
在本实施例中,具体地,智能合约是在区块链系统中可以被触发执行的合约,智能合约允许在没有第三方的情况下进行可信交易,其实现的交易具有可追踪性和不可逆转性,智能合约可以通过代码形式定义。区块链作为一个封闭的环境,其无法主动发起网络调用主动获取链外数据,而智能合约在被执行过程中可能存在与链外数据的交互需求。智能合约是在满足预设条件下达到触发状态的程序,例如当某智能合约的触发条件取决于区块链外信息时,需要将该区块链外信息事先写入区块链内记录。
区块链可以通过预言机获取链外数据,预言机作为一种单向数字代理,其可以查找和验证真实世界数据,并将数据以加密方式传递给区块链中的智能合约。本实施例方法应用于预言机系统,预言机系统响应于智能合约节点的链外数据交互需求,协助智能合约节点查询链外数据,在保证收集的链外数据与数据源相同后,以加密方式将链外数据返回智能合约节点。智能合约节点为执行智能合约的区块链节点,智能合约例如可以包括预言机合约、用户合约、查询合约、聚合合约等。
预言机系统包括用于进行链外数据请求与传递的预言机节点,和用于对获取的链外数据进行可信性校验的审计节点,除此之外,预言机系统还包括用于对智能合约节点的数据查询请求进行加密的加密节点。智能合约节点可以包括用户合约节点、查询合约节点、预言机合约节点和聚合合约节点,预言机合约可以是基于插件机制编写的可供区块链系统中的节点调用并执行的代码段。
不同用户可以通过用户合约节点发起数据查询请求,用户合约节点将数据查询请求转发给查询合约节点,查询合约节点将数据查询请求发送至预言机系统中的加密节点。加密节点在接收到数据查询请求后,校验数据查询请求指示的目标数据源是否为可信数据源。在确定区块链系统请求查询的数据源为可信数据源后,利用预设的预言机系统公钥对数据查询请求进行加密,得到已加密数据查询请求。加密节点具体可以是预言机系统中的电子设备工具,其通过生成非确定性的加密字符串,用于对智能合约节点的数据查询请求进行加密。
加密节点将已加密数据查询请求通过查询合约节点传递给用户合约节点,用户合约节点将已加密数据查询请求发送至预言机合约节点。预言机合约节点为预言机系统记录请求事件,并将已加密数据查询请求传递给预言机系统的中心化预言机节点。
预言机节点验证接收的已加密数据查询请求是否满足预设解密条件,是则进行针对已加密数据查询请求的解密处理。示例性地,在确认所接收的已加密请求为针对预设数据源的查询类请求后,预言机节点进行针对已加密请求的解密操作。通过对数据查询请求进行加密,有利于保证链外数据获取的安全性,通过对预言机节点进行信息流限制,有利于有效实现智能合约请求处理的保密性。
接下来,在操作S220,确定数据查询请求指示的目标数据源和待查询链外数据的数据参数。
本实施例中,具体地,在对接收的已加密数据查询请求进行解密后,预言机节点基于解密后的数据查询请求,确定智能合约节点请求查询的目标数据源和待查询链外数据的数据参数。智能合约节点请求查询的链外数据例如可以是企业工商数据、个人信用数据、股票价格数据、市场预测数据等,数据查询请求可以指示一个或多个目标数据源,待查询链外数据的数据参数例如可以包括数据类别、数据内容、数据生成时间、数据筛选条件等信息。
接下来,在操作S230,从目标数据源中请求获取数据参数指示的链外数据。
本实施例中,具体地,预言机节点从目标数据源中请求获取数据参数指示的链外数据,例如,预言机节点通过外部API(Application Programming Interface,应用程序接口)向目标数据源发送数据查询请求,实现以单向数字代理形式从目标数据源中请求获取链外数据。
接下来,在操作S240,接收目标数据源返回的被签名的已加密链外数据。
本实施例中,具体地,预言机系统中的审计节点可用于生成预言机对称密钥和预言机签名密钥。预言机对称密钥用于提供给目标数据源,以使目标数据源利用预言机对称密钥对链外数据进行加密,得到已加密链外数据。预言机签名密钥用于提供给目标数据源,以使目标数据源利用预言机签名密钥,对已加密链外数据进行签名,得到被签名的已加密链外数据。
审计节点在计算得到预言机对称密钥后,将预言机对称密钥提供给目标数据源和预言机节点。当目标数据源向预言机节点返回链外数据时,目标数据源利用被分配的预言机对称密钥对链外数据进行加密,以此实现加密传输链外数据,保证链外数据传递的安全性和保密性。
审计节点在计算得到预言机签名密钥后,除本地保存外,审计节点将预言机签名密钥提供给目标数据源。目标数据源在对链外数据进行加密后,继续利用预言机签名密钥对已加密链外数据进行签名,以此保证传递的加密链外数据不被篡改,即保证预言机系统接收的链外数据与目标数据源相同,进而保证预言机系统向智能合约节点传递的链外数据为目标数据源在特定时间点提供的真实数据。
接下来,在操作S250,进行针对被签名的已加密链外数据的验签操作。
本实施例中,具体地,审计节点利用预言机签名密钥,验证被签名的已加密链外数据的签名来源是否合法,以及验证签名是否发生过变更,得到验签结果。验证签名来源是否合法,包括验证进行签名的数据源是否为数据查询请求指示的目标数据源,以及验证目标数据源在签名时所使用的证书是否为可信机构颁发。验证签名是否发生过变更,可实现验证链外数据在传递过程中是否被篡改。在验签结果指示验签通过的情况下,审计节点将解除签名的已加密链外数据发送给预言机节点。
利用审计节点对获取的被签名的已加密链外数据进行签名校验,本设计除可有效保证链外数据来自于可信数据源外,还可有效保证链外数据在传递过程中未被篡改,保证区块链系统接收的链外数据为目标数据源在特定时间点提供的真实数据,实现了在不干涉数据源选取的情况下,保证数据源数据传递的准确性。
接下来,在操作S260,在验签通过的情况下,进行针对已加密链外数据的解密操作。
本实施例中,具体地,在验签通过的情况下,预言机节点利用预言机对称密钥,进行针对已加密链外数据的解密处理,得到解密后的链外数据。通过以加密方式在目标数据源和预言机节点间传递链外数据,可以有效保证链外数据传递的安全性和保密性。
接下来,在操作S270,将解密后的链外数据返回智能合约节点。
本实施例中,具体地,预言机节点将解密后的链外数据返回智能合约节点,具体将解密后的链外数据通过预言机合约节点返回聚合合约节点,以使聚合合约节点对链外数据进行聚合,得到聚合链外数据。聚合合约节点将聚合链外数据返回用户合约节点,以此实现响应链上合约执行过程中的链外数据交互需求。
图3示意性示出了根据本公开实施例的一种基于区块链的数据处理系统的示意图,如图3所示,数据处理系统300包括区块链系统、预言机系统和目标数据源。区块链系统在执行链上合约过程中生成链外数据交互需求,区块链系统中的智能合约节点向预言机系统发送数据查询请求,预言机系统将数据查询请求转发给目标数据源,以实现向目标数据源请求获取链外数据。目标数据源将链外数据以签名加密的方式传递给预言机系统,预言机系统在校验链外数据的诚实性证明后,将链外数据返回区块链系统中的智能合约节点,以此实现响应区块链系统的链外数据交互需求。
通过本公开实施例,接收来自智能合约节点的数据获取请求;确定数据获取请求指示的目标数据源和待获取链外数据的数据参数;从目标数据源中请求获取数据参数指示的链外数据;接收目标数据源返回的被签名的已加密链外数据;进行针对被签名的已加密链外数据的验签操作;在验签通过的情况下,进行针对已加密链外数据的解密操作;将解密后的链外数据返回智能合约节点。通过进行针对被签名的已加密链外数据的验签操作,通过校验链外数据来源是否为可信数据源,校验目标数据源进行签名时所使用的证书是否由可信机构颁发,以及校验链外数据在传递过程中是否被篡改,通过进行诚实性证明校验,保证智能合约节点接收的链外数据为目标数据源在特定时间点提供的真实数据。通过以加密方式传递链外数据,可以有效保证链外数据传递的安全性和保密性,有效解决了区块链系统无法主动获取外部数据的问题,有效实现了区块链系统与外部世界进行安全可信的数据交互。
图4示意性示出了根据本公开实施例的另一基于区块链的数据处理方法的流程图,本方法应用于预言机系统。
如图4所示,方法400可以包括操作S410~S470。
在操作S410,预言机节点接收来自智能合约节点的已加密数据查询请求。
接下来,在操作S420,预言机节点进行针对已加密数据查询请求的解密操作,以实现确定数据查询请求指示的目标数据源和待查询链外数据的数据参数。
接下来,在操作S430,预言机节点从目标数据源中请求获取数据参数指示的链外数据。
图5示意性示出了根据本公开实施例的从目标数据源中请求获取链外数据的示意图,如图5所示,用户1和用户2通过用户合约节点发起数据查询请求,用户合约节点通过查询合约节点将数据查询请求传递至加密节点。加密节点利用预设的预言机系统公钥对数据查询请求进行加密,得到已加密数据查询请求。加密节点具体可以是预言机系统中的电子设备工具,加密节点将已加密数据查询请求通过查询合约节点返回用户合约节点,以使用户合约节点通过预言机合约节点将已加密数据查询请求发送给预言机系统的中心化预言机节点。预言机节点利用预言机系统密钥对已加密数据查询请求进行解密,并将解密后的数据查询请求发送给目标数据源,以实现从数据查询请求中请求获取链外数据。
接下来,在操作S440,审计节点接收目标数据源返回的被签名的已加密链外数据,其中,目标数据源利用由审计节点分配的预言机对称密钥对链外数据进行加密,得到已加密链外数据,目标数据源利用由审计节点分配的预言机签名密钥对已加密链外数据进行签名,得到被签名的已加密链外数据。
接下来,在操作S450,审计节点进行针对被签名的已加密链外数据的验签操作,通过验证被签名的已加密链外数据的签名来源是否合法,以及验证签名是否发生过变更,得到验签结果。
接下来,在操作S460,在验签结果指示验签通过的情况下,预言机节点利用由审计节点分配的预言机对称密钥,对已加密链外数据进行解密,得到解密后的链外数据。
接下来,在操作S470,预言机节点将解密后的链外数据返回智能合约节点。
图6示意性示出了根据本公开实施例的接收目标数据源返回的链外数据的示意图,如图6所示,目标数据源利用由审计节点提供的预言机对称密钥对链外数据进行加密,得到已加密链外数据,利用由审计节点提供的预言机签名密钥对已加密链外数据进行签名,得到被签名的已加密链外数据。目标数据源将被签名的已加密链外数据返回预言机系统中的审计节点,审计节点利用预言机签名密钥对被签名的已加密链外数据进行签名校验。在验签通过的情况下,审计节点将已加密链外数据传递给预言机节点,预言机节点利用由审计节点提供的预言机对称密钥对已加密链外数据进行解密,得到解密后的链外数据。预言机节点将解密后的链外数据通过区块链系统中的预言机合约节点传递给聚合合约节点,聚合合约节点对接收的链外数据进行聚合,得到聚合链外数据。聚合合约节点将聚合链外数据传递给用户合约节点,以实现用户1和用户2通过用户合约节点获取链外数据。
图7示意性示出了根据本公开实施例的一种基于区块链的数据处理装置的框图。
如图7所示,装置700包括第一接收模块701、第一处理模块702、第二处理模块703、第二接收模块704、第三处理模块705、第四处理模块706和发送模块707。
具体地,第一接收模块701,用于接收来自智能合约节点的数据获取请求;第一处理模块702,用于确定数据获取请求指示的目标数据源和待获取链外数据的数据参数;第二处理模块703,用于从目标数据源中请求获取数据参数指示的链外数据;第二接收模块704,用于接收目标数据源返回的被签名的已加密链外数据;第三处理模块705,用于进行针对被签名的已加密链外数据的验签操作;第四处理模块706,用于在验签通过的情况下,进行针对已加密链外数据的解密操作;发送模块707,用于将解密后的链外数据返回智能合约节点。
通过本公开实施例,接收来自智能合约节点的数据获取请求;确定数据获取请求指示的目标数据源和待获取链外数据的数据参数;从目标数据源中请求获取数据参数指示的链外数据;接收目标数据源返回的被签名的已加密链外数据;进行针对被签名的已加密链外数据的验签操作;在验签通过的情况下,进行针对已加密链外数据的解密操作;将解密后的链外数据返回智能合约节点。通过进行针对被签名的已加密链外数据的验签操作,通过校验链外数据来源是否为可信数据源,校验目标数据源进行签名时所使用的证书是否由可信机构颁发,以及校验链外数据在传递过程中是否被篡改,通过进行诚实性证明校验,保证智能合约节点接收的链外数据为目标数据源在特定时间点提供的真实数据。通过以加密方式传递链外数据,可以有效保证链外数据传递的安全性和保密性,有效解决了区块链系统无法主动获取外部数据的问题,有效实现了区块链系统与外部世界进行安全可信的数据交互。
作为一种可行的实施例,数据处理装置包括审计节点,审计节点用于生成预言机对称密钥和预言机签名密钥;预言机对称密钥用于提供给目标数据源,以使目标数据源利用预言机对称密钥对链外数据进行加密,得到已加密链外数据;预言机签名密钥用于提供给目标数据源,以使目标数据源利用预言机签名密钥,对已加密链外数据进行签名,得到被签名的已加密链外数据。
作为一种可行的实施例,数据处理装置还包括预言机节点,审计节点包括第三处理模块,第三处理模块包括:第一处理子模块,用于利用预言机签名密钥,验证被签名的已加密链外数据的签名来源是否合法,以及验证签名是否发生过变更,得到验签结果;第二处理子模块,用于在验签结果指示验签通过的情况下,将已加密链外数据发送给预言机节点中的第四处理模块。
作为一种可行的实施例,预言机对称密钥还用于提供给预言机节点,预言机节点包括第四处理模块,第四处理模块包括:第三处理子模块,用于利用预言机对称密钥,对已加密链外数据进行解密,得到解密后的链外数据。
作为一种可行的实施例,预言机节点包括第一处理模块和第二处理模块,第一处理模块包括:第四处理子模块,用于接收来自智能合约节点的已加密数据查询请求;第二处理模块包括:第五处理子模块,用于验证已加密数据查询请求是否满足预设解密条件;第六处理子模块,用于若是,对已加密数据查询请求进行解密,以确定数据查询请求指示的目标数据源和数据参数。
作为一种可行的实施例,数据处理装置还包括加密节点,加密节点包括:第五处理模块,用于利用加密节点接收来自智能合约节点的未加密数据查询请求;在确定未加密数据查询请求指示的目标数据源为可信数据源后,利用预言机系统公钥对未加密数据查询请求进行加密,以得到已加密数据查询请求;以及将已加密数据查询请求返回智能合约节点,以使智能合约节点将已加密数据查询请求发送给预言机节点。
作为一种可行的实施例,智能合约节点包括预言机合约节点、聚合合约节点和用户合约节点;预言机节点还包括发送模块,发送模块包括:第七处理子模块,用于将解密后的链外数据通过预言机合约节点返回聚合合约节点,以使聚合合约节点对链外数据进行聚合,得到聚合链外数据,并将聚合链外数据返回用户合约节点。
需要说明的是,在本公开实施例中,装置部分的实施方式与方法部分的实施方式相同或类似,在此不再赘述。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一接收模块701、第一处理模块702、第二处理模块703、第二接收模块704、第三处理模块705、第四处理模块706和发送模块707中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一接收模块701、第一处理模块702、第二处理模块703、第二接收模块704、第三处理模块705、第四处理模块706和发送模块707中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。第一接收模块701、第一处理模块702、第二处理模块703、第二接收模块704、第三处理模块705、第四处理模块706和发送模块707中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了根据本公开实施例的电子设备的框图。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800包括处理器810、计算机可读存储介质820。该电子设备800可以执行根据本公开实施例的方法。
具体地,处理器810例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器810还可以包括用于缓存用途的板载存储器。处理器810可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理模块或者是多个处理模块。
计算机可读存储介质820,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质820可以包括计算机程序821,该计算机程序821可以包括代码/计算机可执行指令,其在由处理器810执行时使得处理器810执行根据本公开实施例的方法或其任何变形。
计算机程序821可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序821中的代码可以包括一个或多个程序模块,例如包括821A、模块821B、......。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器810执行时,使得处理器810可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,第一接收模块701、第一处理模块702、第二处理模块703、第二接收模块704、第三处理模块705、第四处理模块706和发送模块707中的至少一个可以实现为参考图8描述的计算机程序模块,其在被处理器810执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (11)

1.一种基于区块链的数据处理方法,应用于预言机系统,包括:
接收来自智能合约节点的数据查询请求;
确定所述数据查询请求指示的目标数据源和待查询链外数据的数据参数;
从所述目标数据源中请求获取所述数据参数指示的链外数据;
接收所述目标数据源返回的被签名的已加密链外数据;
进行针对所述被签名的已加密链外数据的验签操作;
在验签通过的情况下,进行针对所述已加密链外数据的解密操作;
将解密后的所述链外数据返回所述智能合约节点。
2.根据权利要求1所述的方法,其中,所述预言机系统包括审计节点,所述审计节点用于生成预言机对称密钥和预言机签名密钥;
所述预言机对称密钥用于提供给所述目标数据源,以使所述目标数据源利用所述预言机对称密钥对所述链外数据进行加密,得到所述已加密链外数据;
所述预言机签名密钥用于提供给所述目标数据源,以使所述目标数据源利用所述预言机签名密钥,对所述已加密链外数据进行签名,得到所述被签名的已加密链外数据。
3.根据权利要求2所述的方法,其中,所述预言机系统还包括预言机节点,所述进行针对所述被签名的已加密链外数据的验签操作,包括:
所述审计节点利用所述预言机签名密钥,验证所述被签名的已加密链外数据的签名来源是否合法,以及验证所述签名是否发生过变更,得到验签结果;以及
在所述验签结果指示验签通过的情况下,将所述已加密链外数据发送给所述预言机节点。
4.根据权利要求3所述的方法,其中,所述预言机对称密钥还用于提供给所述预言机节点,所述进行针对所述已加密链外数据的解密操作,包括:
所述预言机节点利用所述预言机对称密钥,对所述已加密链外数据进行解密,得到解密后的所述链外数据。
5.根据权利要求3所述的方法,其中,所述接收来自智能合约节点的数据查询请求,包括:
所述预言机节点接收来自所述智能合约节点的已加密数据查询请求;
所述确定所述数据查询请求指示的目标数据源和待查询链外数据的数据参数,包括:
所述预言机节点验证所述已加密数据查询请求是否满足预设解密条件;
若是,利用预言机系统密钥对所述已加密数据查询请求进行解密,以确定所述数据查询请求指示的所述目标数据源和所述数据参数。
6.根据权利要求5所述的方法,其中,所述预言机系统还包括加密节点,所述方法还包括:
利用所述加密节点接收来自所述智能合约节点的未加密数据查询请求;
在确定所述未加密数据查询请求指示的目标数据源为可信数据源后,利用预言机系统公钥对所述未加密数据查询请求进行加密,以得到所述已加密数据查询请求;以及
将所述已加密数据查询请求返回所述智能合约节点,以使所述智能合约节点将所述已加密数据查询请求发送给所述预言机节点。
7.根据权利要求4所述的方法,其中,所述智能合约节点包括预言机合约节点、聚合合约节点和用户合约节点;所述将解密后的所述链外数据返回所述智能合约节点,包括:
所述预言机节点将解密后的所述链外数据通过所述预言机合约节点返回所述聚合合约节点,以使所述聚合合约节点对所述链外数据进行聚合,得到聚合链外数据,并将所述聚合链外数据返回所述用户合约节点。
8.一种基于区块链的数据处理装置,应用于预言机系统,包括:
第一接收模块,用于接收来自智能合约节点的数据查询请求;
第一处理模块,用于确定所述数据查询请求指示的目标数据源和待查询链外数据的数据参数;
第二处理模块,用于从所述目标数据源中请求获取所述数据参数指示的链外数据;
第二接收模块,用于接收所述目标数据源返回的被签名的已加密链外数据;
第三处理模块,用于进行针对所述被签名的已加密链外数据的验签操作;
第四处理模块,用于在验签通过的情况下,进行针对所述已加密链外数据的解密操作;
发送模块,用于将解密后的所述链外数据返回所述智能合约节点。
9.一种电子设备,包括:
一个或多个处理器;以及
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至7中任一项所述的方法。
11.一种计算机程序产品,包括计算机可读指令,其中,所述计算机可读指令被执行时用于执行根据权利要求1至7中任一项所述的方法。
CN202110262756.3A 2021-03-10 2021-03-10 基于区块链的数据处理方法和装置 Active CN112948465B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110262756.3A CN112948465B (zh) 2021-03-10 2021-03-10 基于区块链的数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110262756.3A CN112948465B (zh) 2021-03-10 2021-03-10 基于区块链的数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN112948465A true CN112948465A (zh) 2021-06-11
CN112948465B CN112948465B (zh) 2022-09-06

Family

ID=76229487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110262756.3A Active CN112948465B (zh) 2021-03-10 2021-03-10 基于区块链的数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN112948465B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110060162A (zh) * 2019-03-29 2019-07-26 阿里巴巴集团控股有限公司 基于区块链的数据授权、查询方法和装置
CN110992020A (zh) * 2019-11-19 2020-04-10 腾讯科技(深圳)有限公司 基于智能合约的数据处理方法、相关节点及存储介质
CN111092914A (zh) * 2020-03-18 2020-05-01 支付宝(杭州)信息技术有限公司 访问外部数据的方法及装置
CN111176668A (zh) * 2019-12-30 2020-05-19 支付宝(杭州)信息技术有限公司 预言机部署方法、装置、电子设备及存储介质
CN111475521A (zh) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 基于区块链的货物管理方法及装置和电子设备
CN111930852A (zh) * 2020-09-29 2020-11-13 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备以及存储介质
CN112003942A (zh) * 2020-08-25 2020-11-27 杭州时戳信息科技有限公司 链下数据请求响应方法、系统、节点设备与存储介质
CN112016105A (zh) * 2020-08-17 2020-12-01 东北大学秦皇岛分校 基于分布式预言机和同态加密的链上链下数据共享方案
CN112055023A (zh) * 2020-09-09 2020-12-08 工银科技有限公司 基于预言机的访问请求处理方法、装置、设备和介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110060162A (zh) * 2019-03-29 2019-07-26 阿里巴巴集团控股有限公司 基于区块链的数据授权、查询方法和装置
CN110992020A (zh) * 2019-11-19 2020-04-10 腾讯科技(深圳)有限公司 基于智能合约的数据处理方法、相关节点及存储介质
CN111176668A (zh) * 2019-12-30 2020-05-19 支付宝(杭州)信息技术有限公司 预言机部署方法、装置、电子设备及存储介质
CN111092914A (zh) * 2020-03-18 2020-05-01 支付宝(杭州)信息技术有限公司 访问外部数据的方法及装置
CN111475521A (zh) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 基于区块链的货物管理方法及装置和电子设备
CN112016105A (zh) * 2020-08-17 2020-12-01 东北大学秦皇岛分校 基于分布式预言机和同态加密的链上链下数据共享方案
CN112003942A (zh) * 2020-08-25 2020-11-27 杭州时戳信息科技有限公司 链下数据请求响应方法、系统、节点设备与存储介质
CN112055023A (zh) * 2020-09-09 2020-12-08 工银科技有限公司 基于预言机的访问请求处理方法、装置、设备和介质
CN111930852A (zh) * 2020-09-29 2020-11-13 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN112948465B (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
CN110162992B (zh) 数据处理方法、数据处理装置和计算机系统
US11095428B2 (en) Hybrid system and method for secure collaboration using homomorphic encryption and trusted hardware
US10389728B2 (en) Multi-level security enforcement utilizing data typing
CN111566649A (zh) 使用公有侧链验证存储在联盟区块链中的数据的完整性
US10880100B2 (en) Apparatus and method for certificate enrollment
Yan et al. A homomorphic encryption and privacy protection method based on blockchain and edge computing
JP2023506634A (ja) 部分的に順序付けられたブロックチェーン
US10721076B2 (en) Method, device, terminal, and server for a security check
CN111339565B (zh) 基于区块链的业务服务提供方法、装置、设备及系统
US20190386968A1 (en) Method to securely broker trusted distributed task contracts
TW202213217A (zh) 安全的服務請求處理方法及裝置
WO2021169767A1 (zh) 一种数据处理方法、装置、设备及介质
CN112788001B (zh) 一种基于数据加密的数据处理业务处理方法、装置及设备
CN114091690A (zh) 联邦学习模型的训练方法和调用方法以及联邦学习系统
CN111478764A (zh) 区块链网络中的数据处理方法、节点及存储介质
CN110737905B (zh) 数据授权方法、数据授权装置及计算机存储介质
CN111010283B (zh) 用于生成信息的方法和装置
CN112948465B (zh) 基于区块链的数据处理方法和装置
CN114244525B (zh) 请求数据处理方法、装置、设备及存储介质
CN113569265B (zh) 一种数据处理方法、系统及装置
CN115632774A (zh) 一种基于门限签名的分布式预言机实现方法及系统
Liu et al. Video data integrity verification method based on full homomorphic encryption in cloud system
CN111125734B (zh) 一种数据处理方法及系统
CN113761496A (zh) 一种基于区块链的身份校验方法及装置和电子设备
Divya et al. A combined data storage with encryption and keyword based data retrieval using SCDS-TM model in cloud

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
GR01 Patent grant
GR01 Patent grant