CN111131317B - 一种基于区块链的数据处理方法、装置、设备和介质 - Google Patents

一种基于区块链的数据处理方法、装置、设备和介质 Download PDF

Info

Publication number
CN111131317B
CN111131317B CN201911420985.2A CN201911420985A CN111131317B CN 111131317 B CN111131317 B CN 111131317B CN 201911420985 A CN201911420985 A CN 201911420985A CN 111131317 B CN111131317 B CN 111131317B
Authority
CN
China
Prior art keywords
data
delayed
transaction request
public
encrypted
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.)
Active
Application number
CN201911420985.2A
Other languages
English (en)
Other versions
CN111131317A (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.)
Baidu Online Network Technology Beijing Co Ltd
Original Assignee
Baidu Online Network Technology Beijing 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 Baidu Online Network Technology Beijing Co Ltd filed Critical Baidu Online Network Technology Beijing Co Ltd
Priority to CN201911420985.2A priority Critical patent/CN111131317B/zh
Publication of CN111131317A publication Critical patent/CN111131317A/zh
Priority to US17/016,161 priority patent/US11418320B2/en
Priority to JP2020205937A priority patent/JP7058710B2/ja
Application granted granted Critical
Publication of CN111131317B publication Critical patent/CN111131317B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/0442Network 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 asymmetric encryption, i.e. different keys 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)

Abstract

本申请实施例公开了一种基于区块链的数据处理方法、装置、电子设备和介质,涉及区块链技术领域。具体实现方案为:获取延时事务请求,并触发执行所述延时事务请求;在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,并上链存储;在满足设定公开延时条件时,将所述延时事务数据进行解密处理。通过本申请实施例的技术方案,能够实现对区块链中上链数据的延时公开。

Description

一种基于区块链的数据处理方法、装置、设备和介质
技术领域
本申请涉及计算机技术,具体涉及区块链技术,尤其涉及一种基于区块链的数据处理方法、装置、设备和介质。
背景技术
区块链技术是将分布式数据存储、点对点传输、共识机制、加密算法等计算机技术进行结合的新型应用模式。
由多个区块链节点构成的区块链网络中,每个节点都会对各个区块中的事务数据进行验证,并存储区块,以保证去中心化的公正性。
随着区块链技术在各种应用场景中的使用,也提出了更多的需求,例如对数据公开的时效性要求,将上链数据进行延时公开的需求。
目前现有技术中并没有为上链数据的延时公开提供有效的解决方案。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、装置、电子设备和介质,以实现对区块链中上链数据的延时公开。
第一方面,本申请实施例公开了一种基于区块链的数据处理方法,由区块链节点执行,该方法包括:
获取延时事务请求,并触发执行所述延时事务请求;
在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,并上链存储;
在满足设定公开延时条件时,将所述延时事务数据进行解密处理。
上述申请中的一个实施例具有如下优点或有益效果:区块链节点在执行获取的延时事务请求的过程中,通过引入同态加密,对确定的待延时公开数据进行处理,在不影响数据校验的情况下,可保证所得到的加密延时数据的安全性;之后将包括加密延时数据的延时事务数据上链存储,并在确定满足设定公开延时条件时,对存储于区块链中的延时事务数据进行解密,实现了对区块链中上链数据的延时公开,为上链数据的延时公开提供了一种新思路。
可选的,在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,包括:
在所述延时事务请求的执行过程中,确定待延时公开的读数据;
对所述读数据进行同态加密;
基于加密的读数据执行所述延时事务请求,以产生加密的写数据;
将加密延时数据添加到产生的延时事务数据中,其中,所述加密延时数据包括加密的写数据,或所述加密延时数据包括加密的读数据和写数据。
上述可选方式具有如下优点或有益效果:通过结合延时事务请求执行过程中数据逐步确定特性,对待延时公开的读数据和写数据进行处理,可得到加密延时数据,提供了一种确定加密延时数据的可选方式。
可选的,在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密之前,还包括:
在所述延时事务请求的执行过程中,确定待延时公开数据;
根据所述延时公开数据的执行操作类型,确定对应的加密算法。
可选的,根据所述延时公开数据的执行操作类型,确定对应的加密算法,包括:
如果所述待延时公开数据为进行四则运算的数字数据,则选择全同态加密算法;
如果所述待延时公开数据为进行加法运算的数字数据,则选择加法同态加密算法;
如果所述待延时公开数据为进行乘法运算的数字数据,则选择乘法同态加密算法;
如果所述待延时公开数据为无需进行运算的文本数据,则选择非对称加密算法。
上述可选方式具有如下优点或有益效果:通过引入不同的加密算法,对不同执行操作类型的延时公开数据进行处理,增加了方案的灵活度和使用范围。
可选的,在满足设定公开延时条件时,将所述延时事务数据进行解密处理,包括:
在所述延时事务请求指定的公开延时条件满足时,将所述延时事务数据进行解密处理;或
在接收到所述延时事务请求的发起用户发出的公开指示时,确定为满足设定公开延时条件,将所述延时事务数据进行解密处理。
上述可选方式具有如下优点或有益效果:通过引入公开延时条件,可实现区块链中上链数据的延时公开;同时,根据实际需求灵活将公开延时条件事先在延时事务请求中指定,或者后续由延时事务请求的发起用户发出等,又进一步增加了方案的灵活度。
可选的,在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,包括:
在所述延时事务请求的执行过程中,采用所述延时事务请求的发起用户提供的加密密钥,对确定的待延时公开数据进行同态加密。
上述可选方式具有如下优点或有益效果:通过限定对待延时公开数据进行同态加密的加密密钥由延时事务请求的发起用户提供,进一步保证了待延时公开数据的安全性。
可选的,将所述延时事务数据进行解密处理之前,还包括:
获取所述发起用户发起的公开事务请求,并从所述公开事务请求中获取解密密钥。
上述可选方式具有如下优点或有益效果:解密密钥由延时事务请求的发起用户提供,如解密密钥携带在延时事务请求的发起用户所发起的公开事务请求中,保证了解密密钥的安全;区块链节点可从公开事务请求中获取解密密钥,提供了一种获取解密密钥的可选方式。
可选的,在满足设定公开延时条件时,将所述延时事务数据进行解密处理,包括:
在满足设定公开延时条件时,将所述发起用户提供的解密密钥提供给所述延时事务数据的查询用户,以进行解密处理。
可选的,将所述发起用户提供的解密密钥提供给所述延时事务数据的查询用户,包括:
将所述发起用户提供的解密密钥发起上链存储以进行公开;或
将所述发起用户提供的解密密钥对应于所述延时事务请求进行本地关联存储,以用于查询所述延时事务数据时进行解密处理。
上述可选方式具有如下优点或有益效果:查询用户可从区块链或区块链节点本地获取解密密钥,以进行解密处理,进而获得延时数据。
可选的,对确定的待延时公开数据进行同态加密之后,还包括:
建立所述加密密钥与所述加密延时数据之间的对应关系,并建立双向索引。
上述可选方式具有如下优点或有益效果:通过建立加密密钥与加密延时数据之间的双向索引,为快速查询加密密钥所对应的解密密钥提供了一种新思路。
可选的,在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,包括:
在所述延时事务请求的执行过程中,确定待延时公开的读数据和写数据,其中,所述读数据和写数据采用键值对形式进行存储;
采用非同态加密算法对键值对的键域进行加密,并采用同态加密算法对键值对的值域进行加密,以得到包括加密延时数据的延时事务数据。
上述可选方式具有如下优点或有益效果:在待延时公开数据中的读数据和写数据以键值对形式存储的情况下,通过结合实际键值对中键域和值域的特性选择不同的加密算法进行加密,进一步增加了方案的灵活度。
可选的,在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,包括:
如果本机节点为所述延时事务请求的预执行节点,则对明文状态的读数据执行所述延时事务请求,确定明文状态的写数据;
将所述读数据和写数据进行同态加密,作为所述待延时公开数据的加密延时数据,添加到延时事务数据中。
上述可选方式具有如下优点或有益效果:在区块链节点为延时事务请求的预执行节点的场景下,区块链节点可先对明文状态下的数据进行运算,之后再对明文状态下的读数据和写数据进行同态加密,无需先同态加密后再运算,提高了计算速度。
可选的,在满足设定公开延时条件时,将所述延时事务数据进行解密处理,包括:
在满足设定公开延时条件时,如果接收到针对所述延时事务数据的查询请求;
将包括所述加密延时数据的延时事务数据进行解密,并反馈给查询方。
上述可选方式具有如下优点或有益效果:提供了一种对延时事务数据进行解密处理的可选方式,更适用于线下数据传输。
第二方面,本申请实施例公开了一种基于区块链的数据处理装置,配置于区块链节点中,该装置包括:
延时事务请求获取模块,用于获取延时事务请求,并触发执行所述延时事务请求;
同态加密模块,用于在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,并上链存储;
解密模块,用于在满足设定公开延时条件时,将所述延时事务数据进行解密处理。
第三方面,本申请实施例还公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请任一实施例所述的基于区块链的数据处理方法。
第四方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请任一实施例所述的基于区块链的数据处理方法。
上述申请中的一个实施例具有如下优点或有益效果:区块链节点在执行获取的延时事务请求的过程中,通过引入同态加密,对确定的待延时公开数据进行处理,在不影响数据校验的情况下,可保证所得到的加密延时数据的安全性;之后将包括加密延时数据的延时事务数据上链存储,并在确定满足设定公开延时条件时,对存储于区块链中的延时事务数据进行解密,实现了对区块链中上链数据的延时公开,为上链数据的延时公开提供了一种新思路。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例提供的一种基于区块链的数据处理方法的流程图;
图2是根据本申请第二实施例提供的一种基于区块链的数据处理方法的流程图;
图3是根据本申请第三实施例提供的一种基于区块链的数据处理方法的流程图;
图4是根据本申请第四实施例提供的一种基于区块链的数据处理方法的流程图;
图5是根据本申请第五实施例提供的一种基于区块链的数据处理装置的结构示意图;
图6是用来实现本申请实施例的基于区块链的数据处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
第一实施例
图1是根据本申请第一实施例提供的一种基于区块链的数据处理方法的流程图,本实施例可适用于如何对数据进行处理的情况,尤其适用于在具有延时公开数据需求的场景下,如何对数据进行处理,以满足数据公开的时效性要求。本实施例中基于区块链的数据处理方法可以由区块链节点执行,具体可以由事务请求发起所基于的区块链节点来执行,也可以由区块链网络中获取到事务请求的其他节点来执行。
本申请实施例的方案可以由基于区块链的数据处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于承载区块链节点的计算设备中。如图1所示,本实施例提供的基于区块链的数据处理方法可以包括:
S110、获取延时事务请求,并触发执行延时事务请求。
本实施例中,延时事务请求可以为具有延时公开数据需求的事务请求。从有无延时公开需求角度考虑,区块链网络中所传输的事务请求可分为延时事务请求和普通事务请求两类。为了对延时事务请求和普通事务请求进行区分,进一步的,可以在延时事务请求中添加标识信息如特定的标识符等。可选的,延时事务请求可以是基于智能合约的事务请求,还可以是基于字段格式的事务请求。
可选的,本机节点可以获取本地所发起的延时事务请求,例如,用户在具有延时公开数据需求的情况下,可以通过本机节点发起延时事务请求,进而本机节点可获取本地所发起的延时事务请求;或者,本机节点接收到某一触发机制如第三方设备(如客户端、终端设备或服务器等)发送的延时事务处理需求时,依据延迟事务处理需求产生并发起延时事务请求。
本机节点还可以获取区块链网络中传输的其他区块链节点所发起的延时事务请求。
具体的,本机节点在获取延时事务请求之后,可执行该延时事务请求。例如可以是:本机节点每获取任一事务请求,将执行所获取的事务请求,进而本机节点在获取延时事务请求之后,可执行该延时事务请求。或者,本机节点还可按批处理事务请求,例如本机节点若确定当前状态满足设定的批量处理条件,则一并处理所获取的事务请求,其中当前状态满足设定的批量处理条件可以是所获取的事务请求的数量达到设定数量值,还可以是当前时间达到设定处理周期等;进而本机节点在获取延时事务请求之后,若确定当前状态满足设定的批量处理条件,则一并处理所获取的事务请求,即可执行延时事务请求。
S120、在延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,并上链存储。
本实施例中,延时事务请求在执行过程中需要依赖区块链中一些已有数据,并可能更改、删除或新增一些数据,这些数据即为延时事务请求所涉及的数据;待延时公开数据即为延时事务请求所涉及的数据中需要延时公开的数据。可选的,延时事务请求中可以规定该延时事务请求所涉及的数据中哪些需要延时公开,哪些不需要延时公开;进一步的,需要延时公开的数据可有特定的标识符以区别于不需要延时公开的数据。进而本机节点在获取延时事务请求之后,可以根据延时事务请求中的指示,确定全部或部分事务请求的数据为待延时公开数据。
同态加密是一种特殊的加密方法,即对密文直接进行处理,与对明文进行处理后再对处理结果进行加密,得到的结果相同。相应地,加密延时数据为对待延时公开数据进行同态加密所得到的加密数据。
可选的,延时事务请求中也可以指定对待延时公开数据进行同态加密所采用的同态加密算法,进而本机节点在延时事务请求的执行过程中,可以采用延时事务请求中指定的同态加密算法对待延时公开数据进行同态加密,得到加密延时数据,将加密延时数据添加至延时事务数据中,并存储于区块链。其中,延时事务数据中可以包括加密延时数据,还可以包括延时事务请求执行过程中所涉及的不需要延时公开的明文数据,以及延时事务请求的事务标识等。
可选的,本机节点还可以根据待延时公开数据的执行操作类型来确定对待延时公开数据进行加密所采用的加密算法。进一步的,待延时公开数据的执行操作类型不同,所采用的加密算法可不同。例如,若待延时公开数据为需要进行运算的数字数据,则可以根据需要进行运算的类型(如加减法、乘除法等)选择相应的同态加密算法;通常文本数据不需要具体运算处理,若待延时公开数据为无需进行运算的文本数据,则可以选择非同态加密算法如非对称加密算法等。
示例性的,在延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密之前还可以包括在延时事务请求的执行过程中,确定待延时公开数据,根据延时公开数据的执行操作类型,确定对应的加密算法。具体的,本机节点可以根据延时事务请求中的指示,在延时事务请求的执行过程中确定待延时公开数据;之后本机节点可以通过识别延时公开数据的执行操作类型来选择对应的加密算法对待延时公开数据进行加密。可选的,如果本机节点识别到待延时公开数据为需要进行运算的数字数据,则可以根据需要进行运算的类型(如加减法、乘除法等)选择相应的同态加密算法,例如,如果待延时公开数据为进行四则运算的数字数据,则可以选择全同态加密算法,如Gentry算法;如果待延时公开数据为进行加法运算的数字数据,则可以选择加法同态加密算法,如Paillier算法;如果待延时公开数据为进行乘法运算的数字数据,则可以选择乘法同态加密算法,如RSA算法等。如果本机节点识别到待延时公开数据为无需进行运算的文本数据,则可以选择非对称加密算法。
可以理解的是,本实施例通过引入不同的加密算法,对不同执行操作类型的延时公开数据进行处理,增加了方案的灵活度和使用范围。
此外,需要说明的是,现有的加密存储机制主要为对于用户发起的事务请求,如果事务请求的内容是加密信息,则将加密信息进行上链存储,并在合适的时机公布解密密钥。由于区块链网络无法完成对加密内容的理解,所以不能对加密的内容进行数据处理,只能将信息加密后存储。通常,文本数据不需要具体运算处理,仅需要加密存储,而需要进行逻辑运算的信息则无法在加密状态下进行处理。例如,如果是一个逻辑信息,比如将某个数据+1,因为没有公布解密密钥,区块链网络无法理解加密信息,也就无法对数据做+1操作。所以,对于该加密信息的处理,需要延迟到加密信息被解密的时候才可以执行。这样,如果加密信息的处理会导致与其他已处理事务请求发生冲突,进而需要回滚,也只能到解密的时候才能发现,则之前所处理的事务请求都需要发生回滚。这相当于,一个事务请求在加密信息上链时,并没有得到实质处理的验证,而要延迟到解密时才被实质处理并得到验证。
而本申请采用同态加密方式对待延时公开数据进行处理,在待延时公开数据以及同态加密算法确定的情况下,对待延时公开数据进行同态加密得到的加密延时数据具备唯一性,进而本申请可以实现实时对数据是否存在冲突进行校验的效果。例如,本机节点可以采用已处理的延时事务请求的同态加密算法对当前获取的事务请求的数据进行处理,将处理得到的加密延时数据,与区块链上存储的加密延时数据进行一致性比较,若不一致,则可以确定已处理的延时事务请求与当前获取的事务请求不存在冲突,否则可以确定已处理的延时事务请求与当前获取的事务请求存在冲突。
S130、在满足设定公开延时条件时,将延时事务数据进行解密处理。本实施例中,公开延时条件为预先设定的公开区块链中存储的加密延时数据所需满足的条件,或者可以说其他用户能够获取加密延时数据的明文所需满足的条件等。例如可以包括下述至少一种:1)当前区块高度达到设定高度值;2)当前时间达到设定公开时间;3)接收到针对延时事务数据的查询请求的数量达到设定阈值;4)接收到其他触发机制,如接收到延时事务请求的发起用户发出的公开指示等。
进一步的,延时公开条件可以在延时事务请求中指定,还可以由延时事务请求的发起者根据实际情况随时确定,或者还可以由区块链网络中的节点协商确定并上链存储等。
可选的,在延时公开条件在延时事务请求中指定的情况下,在满足设定公开延时条件时,将延时事务请求进行解密处理可以是在延时事务请求指定的公开延时条件满足时,将延时事务数据进行解密处理。例如,延时事务请求中指定的公开延时条件为接收到针对延时事务数据的查询请求的数量达到设定阈值,进而本机节点可以统计所接收到的针对延时事务数据的查询请求的数量,并在确定统计所得到的数量达到设定阈值,如等于或大于设定阈值时,对延时事务数据解密处理。
示例性的,在延时公开条件由延时事务请求的发起者根据实际情况随时确定的情况下,此时,延时公开条件可以为延时事务请求的发起用户发出的公开指示。进而在满足设定公开延时条件时,将延时事务请求进行解密处理可以是本机节点在接收到延时事务请求的发起用户发出的公开指示时,确定为满足设定公开延时条件,将延时事务数据进行解密处理。
可以理解的是,本实施例中延时公开条件事先在延时事务请求中指定,即由延时事务请求的发起用户指定,或者后续由延时事务请求的发起用户发出等,在能够满足用户数据公开的时效性要求的情况下,进一步提升了用户满意度。
此外,在延时公开条件由区块链网络中的节点协商确定并上链存储的情况下,在满足设定公开延时条件时,将延时事务请求进行解密处理例如可以是若确定当前状态(可以包括当前区块高度和当时时间中的至少一个)满足历史区块中存储的公开延时条件,则将延时事务数据进行解密处理;或者可以是若确定接收到针对延时事务数据的查询请求的数量满足历史区块中存储的公开延时条件,则将延时事务数据进行解密处理等。
具体的,本机节点在确定满足设定公开延时条件时,可以对区块链中存储的延时事务数据进行解密,之后可以将解密后的处理结果上链存储,以便任一用户均可从区块链中获取解密后的处理结果。或者本机节点可以将解密后的处理结果发送给需要用户如查询请求所对应的查询方等。
进而本机节点在满足设定公开延时条件时,将延时事务数据进行解密处理还可以是:在满足设定公开延时条件时,如果接收到针对延时事务数据的查询请求;将包括加密延时数据的延时事务数据进行解密,并反馈给查询方。具体的,本机节点在确定满足设定公开条件时,如果接收到任一查询方针对延时事务数据的查询请求,可以根据查询请求中的事务标识从区块链中获取对应的延时事务数据,并对延时事务数据中的加密延时数据进行解密,且将解密后的处理结果饭可以给查询方。
本申请实施例提供的技术方案,区块链节点在执行获取的延时事务请求的过程中,通过引入同态加密,对确定的待延时公开数据进行处理,在不影响数据校验的情况下,可保证所得到的加密延时数据的安全性;之后将包括加密延时数据的延时事务数据上链存储,并在确定满足设定公开延时条件时,对存储于区块链中的延时事务数据进行解密,实现了对区块链中上链数据的延时公开,为上链数据的延时公开提供了一种新思路。
第二实施例
图2是根据本申请第二实施例提供的一种基于区块链的数据处理方法的流程图,本实施例在上述实施例的基础上,进一步对在延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据进行解释说明。如图2所示,本实施例提供的基于区块链的数据处理方法可以包括:
S210、获取延时事务请求,并触发执行延时事务请求。
S220、在延时事务请求的执行过程中,确定待延时公开的读数据。
本实施例中,待延时公开数据可以包括延时事务请求所涉及的数据;进一步的,延时事务请求所涉及的数据可以包括读数据和写数据,读数据是指延时事务请求在执行过程中需要从本地数据中读取的数据,写数据是指延时事务请求执行后所要更新(如增加、更改或删除等)的数据。进而,延时事务请求中可以指定待延时公开数据中哪些是延时公开的读数据,以及哪些是延时公开的写数据等。也就是说,待延时公开数据可以包括待延时公开的读数据,还可以包括待延时公开的写数据。此外,需要说明的是,读数据和写数据并不是一次性确定的,而是在延时事务请求的执行过程中逐步确定的。
具体的,本机节点在延时事务请求的执行过程中,可以根据延时事务请求中的指示先确定待延时公开的读数据。
S230、对读数据进行同态加密。
具体的,本机节点在确定读数据之后,可以根据读数据的执行操作类型选择对应的同态加密算法,对读数据进行同态加密。例如,如果读数据为进行四则运算的数字数据,则可以选择全同态加密算法。
S240、基于加密的读数据执行延时事务请求,以产生加密的写数据。
可选的,本机节点可以调用智能合约,基于加密的读数据执行延时事务请求,进而产生加密的写数据。或者,本机节点还可以根据字段格式的事务请求的执行方式,基于加密的读数据执行延时事务请求,进而产生加密的写数据。
S250、将加密延时数据添加到产生的延时事务数据中,并上链存储。
本实施例中,加密延时数据可以包括加密的写数据,或者加密延时数据可以包括加密的读数据和写数据。为了便于直观验证加密的写数据是由加密的读数据确定的,本实施例中的加密延时数据优选可以包括加密的读数据和写数据。
具体的,本机节点在确定加密延时数据之后,可以将加密延时数据添加到延时事务数据中,并上链存储。
进一步的,如果本机节点是发起用户发起延时事务请求所基于的区块链节点,即本机节点为延时事务请求的预执行节点,本机节点还可以先对明文状态下的数据进行运算,之后再对明文状态下的读数据和写数据进行同态加密,无需先同态加密后再运算,以便提高计算速度。示例性的,在延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据可以是:如果本机节点为延时事务请求的预执行节点,则对明文状态的读数据执行延时事务请求,确定明文状态的写数据;将读数据和写数据进行同态加密,作为待延时公开数据的加密延时数据,添加到延时事务数据中。
在本机节点为延时事务请求的预执行节点的情况下,本机节点在将加密延时数据添加到延时事务数据之后,可以将延时事务请求与延时事务数据关联存储在区块并发送至区块链网络,以便区块链网络中的其他节点进行验证存储。
如果本机节点是从区块链网络中获取到延时事务请求的其他节点,即本机节点为延时事务请求的验证节点,本机节点对读数据进行同态加密之后,可以将读数据的同态加密结果与预执行节点所发送的延时事务请求关联的延时事务数据中的加密的读数据进行一致性比较;在确认一致的情况下,本机节点可以执行S240以确定加密的写数据,并将加密的写数据与预执行节点所发送的延时事务请求关联的延时事务数据中的加密的写数据进行一致性比较,在确认一致的情况下,则上链存储。本实施例通过两级验证的方式,可以降低预执行节点作假的概率。
S260、在满足设定公开延时条件时,将延时事务数据进行解密处理。
本申请实施例提供的技术方案,通过结合延时事务请求执行过程中数据逐步确定特性,对待延时公开的读数据和写数据进行处理,可得到加密延时数据,提供了一种确定加密延时数据的可选方式。
第三实施例
图3是根据本申请第三实施例提供的一种基于区块链的数据处理方法的流程图,本实施例在上述实施例的基础上,又进一步对在延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据进行解释说明,具体对待延时公开数据的存储形式进行说明。如图3所示,本实施例提供的基于区块链的数据处理方法可以包括:
S310、获取延时事务请求,并触发执行延时事务请求。
S320、在延时事务请求的执行过程中,确定待延时公开的读数据和写数据。
具体的,本机节点在延时事务请求的执行过程中,可以先确定待延时公开的读数据;之后可以基于读数据执行延时事务请求,以产生写数据。其中,读数据和写数据可以采用键值对形式进行存储,也可以采用其他形式进行存储。为了便于查询,本实施例中读数据和写数据优选采用键值对形式进行存储。
S330、采用非同态加密算法对键值对的键域进行加密,并采用同态加密算法对键值对的值域进行加密,以得到包括加密延时数据的延时事务数据,并上链存储。
在读数据和写数据采用键值对形式存储的情况下,由于键值对的键域用于标识作用,通常是一种文本数据,无需进行运算,进而可以采用非同态加密算法,如非对称加密算法,对键值对的键域进行加密。而对于键值对的值域,如果值域是无需进行运算的文本数据,则也可以采用非同态加密算法,如非对称加密算法,对键值对的值域进行加密;如果值域是全部数字数据或至少包括部分数字数据,则可以采用同态加密算法对键值对的值域进行加密。此外,在值域是全部数字数据或至少包括部分数字数据的情况下,如果根据延时事务请求确定本次执行无需进行运算,则也可以采用非同态加密算法,对键值对的值域进行加密。
可选的,如果本机节点是从区块链网络中获取到延时事务请求的其他节点,即本机节点为延时事务请求的验证节点,本机节点在确定待延时公开的读数据之后,可以采用非同态加密算法对读数据中所涉及的键值对的键域进行加密,同时采用同态加密算法对读数据中所涉及的键值对的值域进行加密;而后基于加密的读数据执行延时事务请求,以产生加密的写数据,可以将加密的写数据和读数据作为加密延时数据添加至延时事务数据中,并上链存储。
如果本机节点为延时事务请求的预执行节点,本机节点可以先对明文状态下的读数据执行延时事务请求,确定明文状态下的写数据;在读数据和写数据采用键值对形式存储的情况下,可以采用非同态加密算法对键值对的键域进行加密,并采用同态加密算法对键值对的值域进行加密,以得到包括加密延时数据的延时事务数据,并上链存储。进一步的,如果对键域和值域进行加密的算法不唯一,本机节点可以将所采用算法的标识符添加至延时事务数据中,而后将延时事务请求与延时事务数据关联存储在区块并发送至区块链网络,以便区块链网络中的其他节点进行验证存储。
S340、在满足设定公开延时条件时,将延时事务数据进行解密处理。
在读数据和写数据采用键值对形式存储的情况下,可选的,本机节点在满足设定公开延时条件时,如果接收到任一用户针对延时事务数据的查询请求,则可以根据查询请求中的事务标识确定加密的键域(如对键域进行加密的算法为f1(),则加密的键域可以表示为f1(key)),而后根据加密的键域确定加密的值域(如对值域进行加密的算法为f2(),则加密的值域可以表示为f2(value));之后可以采用发起用户提供的解密密钥对加密的值域进行解密,即执行f2'(f2(value)),得到value,之后可以将value反馈给该用户。
本申请实施例提供的技术方案,在待延时公开数据中的读数据和写数据以键值对形式存储的情况下,通过结合实际键值对中键域和值域的特性选择不同的加密算法进行加密,进一步增加了方案的灵活度。
进一步的,本机节点可以包括应用层、逻辑存储层和物理存储层等结构。其中可以是实现任何功能的软件,需产生各种数据处理请求;优选是,应用层为实现区块链节点功能的软件,具体可以包括用于支撑区块链节点本地区块链正常运行所需部署的软件,如可以包括虚拟机以及其他与区块链相关的应用软件等;区块链应用层的软件主要功能是产生事务请求。逻辑存储层用于执行从应用层所获取的事务请求,并将执行结果传输给物理存储层进行存储。
可选的,在本机节点包括应用层、逻辑存储层和物理存储层的情况下,在延时事务请求的执行过程中,确定待延时公开的读数据和写数据,采用非同态加密算法对键值对的键域进行加密可以为:在延时事务请求的执行过程中,通过逻辑存储层确定待延时公开的读数据和写数据,采用非同态加密算法对键值对的键域进行加密。
具体的,应用层可以指定延时事务请求中的待延时公开数据;进而逻辑存储层从应用层获取延时事务请求之后,可以根据延时事务请求中的指示,在延时事务请求的执行过程中,确定待延时公开的读数据和写数据,并可以采用S330的方式对键值对的键域和值域进行加密,得到加密延时数据;而后可以将加密延时数据传输至物理存储层进行存储。
第四实施例
图4是根据本申请第四实施例提供的一种基于区块链的数据处理方法的流程图,本实施例在上述实施例的基础上,又进一步对在延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密进行解释说明,具体对待延时公开数据进行同态加密的加密密钥进行说明。如图4所示,本实施例提供的基于区块链的数据处理方法可以包括:
S410、获取延时事务请求,并触发执行延时事务请求。
S420、在延时事务请求的执行过程中,采用延时事务请求的发起用户提供的加密密钥,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,并上链存储。
本实施例中,对待延时公开数据进行加密所采用的加密密钥可以由发起用户提供,例如可以是延时事务请求的发起用户的非对称密钥中的公钥。可选的,发起用户可以采用线下方式向本机节点提供加密密钥;还可以采用线上方式向本机节点提供加密密钥,例如,发起用户可以采用本机节点的公钥对加密密钥进行加密,之后将其携带在延时事务请求中发送至本机节点。为了保证数据的安全性,发起用户可以定期更换加密密钥,并提供给本机节点。
具体的,本机节点在延时事务请求的执行过程中,可以采用延时事务请求的发起用户提供的加密密钥,对确定的待延时公开数据进行同态加密,进而得到加密延时数据,之后可以将加密延时数据添加至延时事务数据中,并上链存储。
可以理解的是,通常用户会选择自己所信任的区块链节点发起事务请求,进而如果本机节点是发起用户发起延时事务请求所基于的区块链节点,即本机节点为延时事务请求的预执行节点,本机节点也可以按照设定的密钥生成规则生成加密密钥。例如,本机节点可以在预先设定的可信空间中按照密钥生成规则生成加密密钥,以保证加密密钥不会泄露。
进而,如果本机节点为延时事务请求的预执行节点,本机节点在获取延时事务请求之后,可以先按照密钥生成规则生成加密密钥,之后在延时事务请求的执行过程中,可以采用所生成的加密密钥,对确定的待延时公开数据进行同态加密,进而得到加密延时数据,之后可以将加密延时数据添加至延时事务数据中,并上链存储。
S430、在满足设定公开延时条件时,将发起用户提供的解密密钥提供给延时事务数据的查询用户,以进行解密处理。
本实施例中,在加密密钥由发起用户提供的情况下,对应的解密密钥也可以由发起用户提供,例如可以是发起用户的非对称密钥中的私钥。示例性的,将延时事务数据进行解密处理之前还可以包括:获取发起用户提供的解密密钥。可选的,发起用户可以采用线下方式向本机节点提供解密密钥;还可以采用线上方式向本机节点提供解密密钥,例如,发起用户可以将解密密钥添加至公开事务请求中并发起,进而本机节点可以获取发起用户发起的公开事务请求,并从公开事务请求中获取解密密钥。为了保证解密密钥的安全性,发起用户还可以采用本机节点的公钥对解密密钥进行加密,之后将其携带在公开事务请求中发送至本机节点。
此外,如果加密密钥是本机节点所产生的,基于非对称密钥的特性,本机节点在产生加密密钥的同时将会产生解密密钥。
具体的,本机节点获取解密密钥之后,可以将解密密钥与延时事务请求关联存储,并在确定满足设定公开延时条件时,将发起用户提供的解密密钥提供给延时事务数据的查询用户,以进行解密处理。
可选的,本机节点可以采用下述可选方式中的一种将发起用户提供的解密密钥提供给延时事务数据的查询用户:1)将发起用户提供的解密密钥发起上链存储以进行公开,进而查询用户可从区块链中查询以获取解密密钥;2)将发起用户提供的解密密钥对应于延时事务请求进行本地关联存储,以用于查询延时事务数据时进行解密处理,进而查询用户可以从本机节点获取解密密钥;3)将发起用户提供的解密密钥传输给本机节点信任的其他节点,以便其他节点将发起用户提供的解密密钥对应于延时事务请求进行本地关联存储,以用于查询延时事务数据时进行解密处理,进而查询用户可以从其他节点获取解密密钥等。
此外,本机节点还可以直接将解密后的处理结果提供给查询用户。例如,本机节点在接收到任一查询用户针对延时事务数据的查询请求,可以根据查询请求中的事务标识确定目标延时事务请求;之后根据本地存储的解密密钥与延时事务请求之间的关联关系,确定用于对目标延时事务请求所对应的延时事务数据进行解密的解密密钥,进而可以采用解密密钥对目标延时事务请求所对应的延时事务数据进行解密,并将解密后的处理结果反馈给查询用户,或者本机节点可以将解密后的处理结果上链存储等。
本申请实施例提供的技术方案,通过限定对待延时公开数据进行同态加密的加密密钥,以及对延时事务数据进行解密的解密密钥由延时事务请求的发起用户提供,进一步保证了待延时公开数据的安全性。
为了便于后续快速查询,以定位解密密钥,可选的,对确定的待延时公开数据进行同态加密之后,本机节点还可以建立加密密钥与加密延时数据之间的对应关系,并建立双向索引,例如可以建立一个以加密密钥为索引词,以加密延时数据为索引结果的索引表,以及建立一个以加密延时数据为索引词,以加密密钥为索引结果的索引表。或者,本机节点可以建立加密密钥与事务标识之间的双向索引。
例如,本机节点在获取到任一用户针对延时事务数据的查询请求后,可以根据延时事务数据确定加密延时数据,而后可以从预先建立的加密密钥与加密延时数据之间的索引表中查询,以确定加密延时数据关联的加密密钥;进而可以根据加密延时数据关联的加密密钥,确定解密密钥,采用解密密钥对加密延时数据进行解密并反馈给该用户。
第五实施例
图5是根据本申请第五实施例提供的一种基于区块链的数据处理装置的结构示意图,该装置可配置于区块链节点中,可执行本申请任意实施例所提供的基于区块链的数据处理方法,具备执行方法相应的功能模块和有益效果。如图5所示,该基于区块链的数据处理装置包括:
延时事务请求获取模块510,用于获取延时事务请求,并触发执行延时事务请求;
同态加密模块520,用于在延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,并上链存储;
解密模块530,用于在满足设定公开延时条件时,将延时事务数据进行解密处理。
本申请实施例提供的技术方案,区块链节点在执行获取的延时事务请求的过程中,通过引入同态加密,对确定的待延时公开数据进行处理,在不影响数据校验的情况下,可保证所得到的加密延时数据的安全性;之后将包括加密延时数据的延时事务数据上链存储,并在确定满足设定公开延时条件时,对存储于区块链中的延时事务数据进行解密,实现了对区块链中上链数据的延时公开,为上链数据的延时公开提供了一种新思路。
示例性的,同态加密模块520具体可以用于:
在延时事务请求的执行过程中,确定待延时公开的读数据;
对读数据进行同态加密;
基于加密的读数据执行延时事务请求,以产生加密的写数据;
将加密延时数据添加到产生的延时事务数据中,其中,加密延时数据包括加密的写数据,或加密延时数据包括加密的读数据和写数据。
示例性的,上述装置还可以包括:
待延时公开数据确定单元,用于在延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密之前,在延时事务请求的执行过程中,确定待延时公开数据;
加密算法确定单元,用于根据延时公开数据的执行操作类型,确定对应的加密算法。
示例性的,加密算法确定单元具体可以用于:
如果待延时公开数据为进行四则运算的数字数据,则选择全同态加密算法;
如果待延时公开数据为进行加法运算的数字数据,则选择加法同态加密算法;
如果待延时公开数据为进行乘法运算的数字数据,则选择乘法同态加密算法;
如果待延时公开数据为无需进行运算的文本数据,则选择非对称加密算法。
示例性的,解密模块530具体可以用于:
在延时事务请求指定的公开延时条件满足时,将延时事务数据进行解密处理;或
在接收到延时事务请求的发起用户发出的公开指示时,确定为满足设定公开延时条件,将延时事务数据进行解密处理。
示例性的,同态加密模块520具体还可以用于:
在延时事务请求的执行过程中,采用延时事务请求的发起用户提供的加密密钥,对确定的待延时公开数据进行同态加密。
示例性的,上述装置还可以包括:
公开事务请求获取模块,用于将延时事务数据进行解密处理之前,获取发起用户发起的公开事务请求,并从公开事务请求中获取解密密钥。
示例性的,解密模块530可以包括:
解密密钥提供单元,用于在满足设定公开延时条件时,将发起用户提供的解密密钥提供给延时事务数据的查询用户,以进行解密处理。
示例性的,解密密钥提供单元具体可以用于:
将发起用户提供的解密密钥发起上链存储以进行公开;或
将发起用户提供的解密密钥对应于延时事务请求进行本地关联存储,以用于查询延时事务数据时进行解密处理。
示例性的,上述装置还可以包括:
索引建立模块,用于对确定的待延时公开数据进行同态加密之后,建立加密密钥与加密延时数据之间的对应关系,并建立双向索引。
示例性的,同态加密模块520具体还可以用于:
在延时事务请求的执行过程中,确定待延时公开的读数据和写数据,其中,读数据和写数据采用键值对形式进行存储;
采用非同态加密算法对键值对的键域进行加密,并采用同态加密算法对键值对的值域进行加密,以得到包括加密延时数据的延时事务数据。
示例性的,如果区块链节点包括应用层、逻辑存储层和物理存储层,则同态加密模块520用于在延时事务请求的执行过程中,确定待延时公开的读数据和写数据,采用非同态加密算法对键值对的键域进行加密时,具体可以用于:
在延时事务请求的执行过程中,通过逻辑存储层确定待延时公开的读数据和写数据,采用非同态加密算法对键值对的键域进行加密。
示例性的,上述装置还可以包括:
待延时公开数据确定模块,用于获取延时事务请求之后,根据延时事务请求中的指示,确定全部或部分事务请求的数据为待延时公开数据。
示例性的,同态加密模块520具体还可以用于:
如果本机节点为延时事务请求的预执行节点,则对明文状态的读数据执行延时事务请求,确定明文状态的写数据;
将读数据和写数据进行同态加密,作为待延时公开数据的加密延时数据,添加到延时事务数据中。
示例性的,解密模块530具体还可以用于:
在满足设定公开延时条件时,如果接收到针对延时事务数据的查询请求;
将包括加密延时数据的延时事务数据进行解密,并反馈给查询方。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的基于区块链的数据处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作,例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的基于区块链的数据处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的基于区块链的数据处理方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的基于区块链的数据处理方法对应的程序指令/模块,例如,附图5所示的事务请求获取模块510、同态加密模块520和解密模块530。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于区块链的数据处理方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用来实现基于区块链的数据处理方法的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至用来实现基于区块链的数据处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、区块链网络、局域网、移动通信网及其组合。
用来实现基于区块链的数据处理方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与用来实现基于区块链的数据处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置和触觉反馈装置等,其中,辅助照明装置例如发光二极管(Light Emitting Diode,LED),触觉反馈装置例如振动电机等。该显示设备可以包括但不限于,液晶显示器(Liquid Crystal Display,LCD)、LED显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用专用集成电路(Application Specific Integrated Circuit,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序也称作程序、软件、软件应用、或者代码,包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置,例如,磁盘、光盘、存储器、可编程逻辑装置(Programmable Logic Device,PLD),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置,例如,阴极射线管(Cathode Ray Tube,CRT)或者LCD监视器;以及键盘和指向装置,例如,鼠标或者轨迹球,用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈例如,视觉反馈、听觉反馈、或者触觉反馈;并且可以用任何形式,包括声输入、语音输入或者、触觉输入,来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统例如,作为数据服务器;或者实施在包括中间件部件的计算系统例如,应用服务器;或者实施在包括前端部件的计算系统例如具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互,或者实施在包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信,例如,通信网络,来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,区块链节点在执行获取的延时事务请求的过程中,通过引入同态加密,对确定的待延时公开数据进行处理,在不影响数据校验的情况下,可保证所得到的加密延时数据的安全性;之后将包括加密延时数据的延时事务数据上链存储,并在确定满足设定公开延时条件时,对存储于区块链中的延时事务数据进行解密,实现了对区块链中上链数据的延时公开,为上链数据的延时公开提供了一种新思路。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (17)

1.一种基于区块链的数据处理方法,其特征在于,由区块链节点执行,所述方法包括:
获取延时事务请求,并触发执行所述延时事务请求;
在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,并上链存储;
在满足设定公开延时条件时,将所述延时事务数据进行解密处理;
其中,所述在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,包括:
在所述延时事务请求的执行过程中,确定待延时公开的读数据;
对所述读数据进行同态加密;
基于加密的读数据执行所述延时事务请求,以产生加密的写数据;
将加密延时数据添加到产生的延时事务数据中,其中,所述加密延时数据包括加密的写数据,或所述加密延时数据包括加密的读数据和写数据。
2.根据权利要求1所述的方法,其特征在于,在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密之前,还包括:
在所述延时事务请求的执行过程中,确定待延时公开数据;
根据所述延时公开数据的执行操作类型,确定对应的加密算法。
3.根据权利要求2所述的方法,其特征在于,根据所述延时公开数据的执行操作类型,确定对应的加密算法,包括:
如果所述待延时公开数据为进行四则运算的数字数据,则选择全同态加密算法;
如果所述待延时公开数据为进行加法运算的数字数据,则选择加法同态加密算法;
如果所述待延时公开数据为进行乘法运算的数字数据,则选择乘法同态加密算法;
如果所述待延时公开数据为无需进行运算的文本数据,则选择非对称加密算法。
4.根据权利要求1所述的方法,其特征在于,在满足设定公开延时条件时,将所述延时事务数据进行解密处理,包括:
在所述延时事务请求指定的公开延时条件满足时,将所述延时事务数据进行解密处理;或
在接收到所述延时事务请求的发起用户发出的公开指示时,确定为满足设定公开延时条件,将所述延时事务数据进行解密处理。
5.根据权利要求1所述的方法,其特征在于,在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,包括:
在所述延时事务请求的执行过程中,采用所述延时事务请求的发起用户提供的加密密钥,对确定的待延时公开数据进行同态加密。
6.根据权利要求5所述的方法,其特征在于,将所述延时事务数据进行解密处理之前,还包括:
获取所述发起用户发起的公开事务请求,并从所述公开事务请求中获取解密密钥。
7.根据权利要求5所述的方法,其特征在于,在满足设定公开延时条件时,将所述延时事务数据进行解密处理,包括:
在满足设定公开延时条件时,将所述发起用户提供的解密密钥提供给所述延时事务数据的查询用户,以进行解密处理。
8.根据权利要求7所述的方法,其特征在于,将所述发起用户提供的解密密钥提供给所述延时事务数据的查询用户,包括:
将所述发起用户提供的解密密钥发起上链存储以进行公开;或
将所述发起用户提供的解密密钥对应于所述延时事务请求进行本地关联存储,以用于查询所述延时事务数据时进行解密处理。
9.根据权利要求5所述的方法,其特征在于,对确定的待延时公开数据进行同态加密之后,还包括:
建立所述加密密钥与所述加密延时数据之间的对应关系,并建立双向索引。
10.根据权利要求1所述的方法,其特征在于,在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,包括:
在所述延时事务请求的执行过程中,确定待延时公开的读数据和写数据,其中,所述读数据和写数据采用键值对形式进行存储;
采用非同态加密算法对键值对的键域进行加密,并采用同态加密算法对键值对的值域进行加密,以得到包括加密延时数据的延时事务数据。
11.根据权利要求10所述的方法,其特征在于,所述区块链节点包括应用层、逻辑存储层和物理存储层,在所述延时事务请求的执行过程中,确定待延时公开的读数据和写数据,采用非同态加密算法对键值对的键域进行加密,包括:
在所述延时事务请求的执行过程中,通过所述逻辑存储层确定待延时公开的读数据和写数据,采用非同态加密算法对键值对的键域进行加密。
12.根据权利要求1所述的方法,其特征在于,获取延时事务请求之后,还包括:
根据所述延时事务请求中的指示,确定全部或部分事务请求的数据为待延时公开数据。
13.根据权利要求1所述的方法,其特征在于,在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,包括:
如果本机节点为所述延时事务请求的预执行节点,则对明文状态的读数据执行所述延时事务请求,确定明文状态的写数据;
将所述读数据和写数据进行同态加密,作为所述待延时公开数据的加密延时数据,添加到延时事务数据中。
14.根据权利要求1所述的方法,其特征在于,在满足设定公开延时条件时,将所述延时事务数据进行解密处理,包括:
在满足设定公开延时条件时,如果接收到针对所述延时事务数据的查询请求;
将包括所述加密延时数据的延时事务数据进行解密,并反馈给查询方。
15.一种基于区块链的数据处理装置,其特征在于,配置于区块链节点中,所述装置包括:
延时事务请求获取模块,用于获取延时事务请求,并触发执行所述延时事务请求;
同态加密模块,用于在所述延时事务请求的执行过程中,对确定的待延时公开数据进行同态加密,以得到包括加密延时数据的延时事务数据,并上链存储;
解密模块,用于在满足设定公开延时条件时,将所述延时事务数据进行解密处理;
所述同态加密模块具体可以用于:
在延时事务请求的执行过程中,确定待延时公开的读数据;
对读数据进行同态加密;
基于加密的读数据执行延时事务请求,以产生加密的写数据;
将加密延时数据添加到产生的延时事务数据中,其中,加密延时数据包括加密的写数据,或加密延时数据包括加密的读数据和写数据。
16.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-14中任一项所述的基于区块链的数据处理方法。
17.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-14中任一项所述的基于区块链的数据处理方法。
CN201911420985.2A 2019-12-31 2019-12-31 一种基于区块链的数据处理方法、装置、设备和介质 Active CN111131317B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201911420985.2A CN111131317B (zh) 2019-12-31 2019-12-31 一种基于区块链的数据处理方法、装置、设备和介质
US17/016,161 US11418320B2 (en) 2019-12-31 2020-09-09 Blockchain-based data processing methods, devices, and media
JP2020205937A JP7058710B2 (ja) 2019-12-31 2020-12-11 ブロックチェーンに基づくデータ処理方法、装置、機器及び媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911420985.2A CN111131317B (zh) 2019-12-31 2019-12-31 一种基于区块链的数据处理方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN111131317A CN111131317A (zh) 2020-05-08
CN111131317B true CN111131317B (zh) 2022-04-26

Family

ID=70507513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911420985.2A Active CN111131317B (zh) 2019-12-31 2019-12-31 一种基于区块链的数据处理方法、装置、设备和介质

Country Status (3)

Country Link
US (1) US11418320B2 (zh)
JP (1) JP7058710B2 (zh)
CN (1) CN111131317B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639080B (zh) * 2020-06-01 2021-07-27 腾讯科技(深圳)有限公司 一种数据处理方法、装置、节点设备及存储介质
US11750363B2 (en) * 2020-11-04 2023-09-05 Bitdefender IPR Management Ltd. Privacy-preserving domain name service (DNS)
CN112953960B (zh) * 2021-03-10 2023-02-03 东软集团股份有限公司 一种区块链访问的身份认证方法、装置及设备
CN113591162B (zh) * 2021-09-29 2022-02-15 金蝶软件(中国)有限公司 区块链存证方法、装置和计算机设备
US20230136446A1 (en) * 2021-11-01 2023-05-04 Goldman Sachs & Co. LLC Fast robust oracles via decentralized autonomous organizations
US20230421351A1 (en) * 2022-06-27 2023-12-28 Nec Corporation Of America Homomorphic encryption using smart contracts
CN115271736B (zh) * 2022-07-11 2023-06-16 中电金信软件有限公司 验证事务一致性的方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549749A (zh) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
CN108199842A (zh) * 2018-02-13 2018-06-22 克洛斯比尔有限公司 延迟公布信息的方法和系统
KR20190035056A (ko) * 2017-09-26 2019-04-03 한양대학교 산학협력단 이동체 기기 및 이의 데이터 전송 방법
CN109598506A (zh) * 2018-11-02 2019-04-09 克洛斯比尔有限公司 区块链精确延迟加密的方法、系统、计算设备及计算机可读存储介质
CN110034917A (zh) * 2019-04-11 2019-07-19 鸿秦(北京)科技有限公司 一种基于同态加密算法的联盟链数据处理方法及装置
CN110147994A (zh) * 2019-04-13 2019-08-20 山东公链信息科技有限公司 一种基于同态加密的区块链的即时执行方法
CN110348231A (zh) * 2019-06-18 2019-10-18 阿里巴巴集团控股有限公司 实现隐私保护的数据同态加解密方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313022B2 (en) * 2013-12-27 2016-04-12 Xerox Corporation Homomorphic cryptography modeling in support of privacy policies
US10075288B1 (en) * 2014-02-28 2018-09-11 The Governing Council Of The University Of Toronto Systems, devices, and processes for homomorphic encryption
US9973334B2 (en) * 2015-09-03 2018-05-15 Cisco Technology, Inc. Homomorphically-created symmetric key
JP7174977B2 (ja) * 2017-05-17 2022-11-18 株式会社 エヌティーアイ 決済装置、方法、コンピュータプログラム
US10951394B2 (en) 2017-08-15 2021-03-16 Acronis International Gmbh System and method for publication of private data using a blockchain network
US10715317B2 (en) * 2017-12-12 2020-07-14 International Business Machines Corporation Protection of confidentiality, privacy and financial fairness in a blockchain based decentralized identity management system
US20190296907A1 (en) * 2018-03-23 2019-09-26 Ca, Inc. Blockchain for time-based release of information
US10990691B2 (en) * 2018-05-11 2021-04-27 Arris Enterprises Llc Secure deferred file decryption
US11165756B2 (en) * 2018-06-11 2021-11-02 Fujitsu Limited Delayed-access encryption for blockchain field
GB201811773D0 (en) * 2018-07-19 2018-09-05 Nchain Holdings Ltd Computer-implemented system and method
US10721217B2 (en) 2018-11-08 2020-07-21 Accenture Global Solutions Limited Cryptographic datashare control for blockchain

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549749A (zh) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
KR20190035056A (ko) * 2017-09-26 2019-04-03 한양대학교 산학협력단 이동체 기기 및 이의 데이터 전송 방법
CN108199842A (zh) * 2018-02-13 2018-06-22 克洛斯比尔有限公司 延迟公布信息的方法和系统
CN109598506A (zh) * 2018-11-02 2019-04-09 克洛斯比尔有限公司 区块链精确延迟加密的方法、系统、计算设备及计算机可读存储介质
CN110034917A (zh) * 2019-04-11 2019-07-19 鸿秦(北京)科技有限公司 一种基于同态加密算法的联盟链数据处理方法及装置
CN110147994A (zh) * 2019-04-13 2019-08-20 山东公链信息科技有限公司 一种基于同态加密的区块链的即时执行方法
CN110348231A (zh) * 2019-06-18 2019-10-18 阿里巴巴集团控股有限公司 实现隐私保护的数据同态加解密方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Information Sharing for Supply Chain Management Based on Block Chain Technology;Mitsuaki Nakasumi;《2017 IEEE 19th Conference on Business Informatics (CBI)》;20170821;全文 *
区块链数据隐私保护研究;王宗慧等;《物联网学报》;20180930(第03期);全文 *

Also Published As

Publication number Publication date
US11418320B2 (en) 2022-08-16
CN111131317A (zh) 2020-05-08
JP7058710B2 (ja) 2022-04-22
US20210203475A1 (en) 2021-07-01
JP2021111370A (ja) 2021-08-02

Similar Documents

Publication Publication Date Title
CN111131317B (zh) 一种基于区块链的数据处理方法、装置、设备和介质
CN111683071B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
CN111737366B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
US11750396B2 (en) Private data processing method, device and medium
CN111934872B (zh) 密钥处理方法、装置、电子设备以及存储介质
CN112989400B (zh) 一种隐私事务处理方法、装置、电子设备和介质
CN110909372A (zh) 数据处理方法、装置、设备和介质
CN111274591A (zh) 一种访问Kubernetes集群的方法、装置、电子设备和介质
CN112016068A (zh) 账户控制方法、装置、设备和计算机可读存储介质
CN111552934A (zh) 数据库访问方法以及装置
CN111464297A (zh) 基于区块链的事务处理方法、装置、电子设备和介质
CN111400743B (zh) 基于区块链网络的事务处理方法、装置、电子设备和介质
CN111193741A (zh) 一种信息发送方法、信息获取方法、装置及设备
CN110968856B (zh) 登录方法、装置、电子设备和存储介质
CN113132304B (zh) 一种权益服务处理方法、装置、电子设备和存储介质
CN113794706B (zh) 数据的处理方法、装置、电子设备及可读存储介质
CN111371773A (zh) 一种信息发送和显示方法、装置、设备及存储介质
CN114422237B (zh) 数据传输方法及装置、电子设备和介质
CN115858914A (zh) 一种匿踪查询方法、装置、系统、终端设备及存储介质
CN115834113A (zh) Ot通信方法、装置、电子设备和存储介质
CN112417326A (zh) Url的转换方法和装置、电子设备和存储介质
CN112995205B (zh) 基于区块链的查询方法、装置、设备和存储介质
CN111782422B (zh) 分布式消息处理方法、装置、电子设备及存储介质
CN113986940A (zh) 基于区块链公链的合约处理方法和装置
CN111339197A (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
GR01 Patent grant
GR01 Patent grant