CN111464298A - 区块链中的数据处理方法、装置和区块链网络 - Google Patents

区块链中的数据处理方法、装置和区块链网络 Download PDF

Info

Publication number
CN111464298A
CN111464298A CN202010240449.0A CN202010240449A CN111464298A CN 111464298 A CN111464298 A CN 111464298A CN 202010240449 A CN202010240449 A CN 202010240449A CN 111464298 A CN111464298 A CN 111464298A
Authority
CN
China
Prior art keywords
node
target data
endorsement
data
client
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
Application number
CN202010240449.0A
Other languages
English (en)
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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202010240449.0A priority Critical patent/CN111464298A/zh
Publication of CN111464298A publication Critical patent/CN111464298A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明提供了一种区块链中的数据处理方法、装置和区块链网络,首先,具有权限查看目标数据的授权节点之间,相互协商用于查看目标数据的密钥;目标数据经密钥加密后,通过授权节点中的背书节点进行背书处理,然后根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。该方法通过目标数据的授权节点和客户端多方协商确定密钥,通过该密钥加密目标数据,只有授权节点才可以查看真实的目标数据,没有被授权的节点由于不具有密钥,因而查看不到目标数据,实现了一个通道中部分成员之间交易数据的私有化,且该方法不需要创建多个通道,也不需要额外维护多个数据库,从而降低了区块链网络的资源消耗压力。

Description

区块链中的数据处理方法、装置和区块链网络
技术领域
本发明涉及区块链技术领域,尤其是涉及一种区块链中的数据处理方法、装置和区块链网络。
背景技术
在区块链网络中,通常设置有多个通道。设置通道的目的是为了实现私密性交易。通道可以使区块链网络中部分网络成员之间拥有独立的通信渠道,因为在一个通道中发送的交易数据,只有属于该通道中的成员才可见。
同时,一个通道中部分成员也需要保证交易数据的私有,如对于某个交易数据,仅有通道中的部分成员有权限查看,其他成员没有权限查看。其中一种方式中,可以针对具有权限的部分成员另行创建一个通道,但是该方式需要区块链网络维护较多的通道,较为浪费资源。另一种方式中,可以通过私有数据的方式实现。具体而言,在一个通道中部分成员间共享交易数据的时候,被授权的成员可以通过goosip协议(一种通信协议,主要用于实现分布式节点或者进程之间的信息交换)接收数据,同时需要维护一个私有数据库,以保存上述私有数据。但是该方式也需要耗费资源去维护私有数据库。总之,不论是维护较多的通道,还是维护私有数据库,都需要耗费资源,导致区块链网络的资源消耗压力较大。
发明内容
本发明的目的在于提供一种区块链中的数据处理方法、装置和区块链网络,以降低区块链网络的资源消耗压力。
第一方面,本发明提供的一种区块链中的数据处理方法,所述方法应用于客户端;所述方法包括:通过预设的密钥加密目标数据;其中,所述目标数据的授权节点具有查看所述目标数据的权限;所述授权节点保存有所述密钥;所述密钥通过所述客户端和所述授权节点相互协商得到;所述目标数据对应的背书节点属于所述授权节点;将加密后的所述目标数据发送至所述目标数据对应的背书节点,以通过所述背书节点基于保存的所述密钥,对所述目标数据进行背书处理;接收所述背书节点返回的背书结果,根据所述背书结果,通过区块链网络中的共识节点对加密后的所述目标数据进行上链处理。
进一步的,所述密钥具体通过下述方式得到:随机生成第一备用参数;根据所述第一备用参数以及预设的全局参数,生成第一分发数据;将所述第一分发数据发送至所述授权节点;其中,所述全局参数用于所述客户端生成所述第一分发数据,还用于所述授权节点生成第二分发数据;接收所述授权节点发送的第二分发数据;其中,所述第二分发数据由所述授权节点根据随机生成的第二备用参数、所述第一分发数据以及所述全局参数生成;根据所述第一分发数据和所述第二分发数据,确定所述密钥。
进一步的,所述将所述第一分发数据发送至所述授权节点的步骤,包括:如果所述授权节点包括多个,将所述第一分发数据发送至多个所述授权节点中的一个授权节点。
进一步的,根据所述背书结果,通过区块链网络中的共识节点对加密后的所述目标数据进行上链处理的步骤,包括:判断所述背书结果是否符合所述目标数据对应的背书策略;如果所述背书结果符合所述目标数据对应的背书策略,将所述背书结果和加密后的所述目标数据发送至所述区块链上的共识节点,以通过所述共识节点将加密后的所述目标数据分发至所述目标数据对应的通道中的记账节点,并通过所述记账节点对加密后的所述目标数据进行上链处理。
第二方面,本发明提供的一种区块链中的数据处理方法,所述方法应用于区块链节点;所述区块链节点为目标数据的授权节点;所述授权节点具有查看所述目标数据的权限;所述方法包括:接收加密后的目标数据;其中,所述目标数据由预设客户端通过预设密钥加密;所述密钥通过所述客户端和所述授权节点相互协商得到;所述授权节点保存有所述密钥;通过所述密钥解密所述加密后的所述目标数据,得到所述目标数据。
进一步的,所述密钥具体通过下述方式得到:如果接收到来自所述客户端的第一分发数据,随机生成第二备用参数;其中,所述第一分发数据由所述客户端根据随机生成的第一备用参数,以及预设的全局参数生成;其中,所述全局参数用于所述客户端生成所述第一分发数据,还用于所述授权节点生成第二分发数据;根据所述第二备用参数,所述第一分发数据以及预设的全局参数,生成第二分发数据;根据所述第一分发数据和所述第二分发数据,确定所述密钥。
进一步的,生成第二分发数据的步骤之后,所述方法还包括:如果所述授权节点包括一个,将所述第二分发数据返回至所述客户端;如果所述授权节点包括多个,将所述第二分发数据发送至所述客户端或多个所述授权节点中除当前授权节点以外的授权节点。
第三方面,本发明提供的一种区块链中的数据处理方法,所述方法应用于区块链中的背书节点;所述背书节点属于目标数据的授权节点;所述授权节点具有查看所述目标数据的权限;所述授权节点保存有预设密钥;所述方法包括:接收来自客户端的加密后的目标数据;其中,所述目标数据由预设客户端通过所述密钥加密;所述密钥通过所述客户端和所述授权节点相互协商得到;通过所述密钥解密所述加密后的所述目标数据,得到所述目标数据;模拟执行所述区块链上的智能合约,以审核所述目标数据,得到审核结果;根据所述审核结果生成背书结果,将所述背书结果返回至所述客户端,以通过所述客户端,根据所述背书结果,通过所述区块链网络中的共识节点对加密后的所述目标数据进行上链处理。
第四方面,本发明提供的一种区块链中的数据处理装置,所述装置设置于客户端;所述装置包括:加密模块,用于通过预设的密钥加密目标数据;其中,所述目标数据的授权节点具有查看所述目标数据的权限;所述授权节点保存有所述密钥;所述密钥通过所述客户端和所述授权节点相互协商得到;所述目标数据对应的背书节点属于所述授权节点;发送模块,用于将加密后的所述目标数据发送至所述目标数据对应的背书节点,以通过所述背书节点基于保存的所述密钥,对所述目标数据进行背书处理;第一接收模块,用于接收所述背书节点返回的背书结果,根据所述背书结果,通过区块链网络中的共识节点对加密后的所述目标数据进行上链处理。
第五方面,本发明提供的一种区块链中的数据处理装置,所述装置设置于区块链节点;所述区块链节点为目标数据的授权节点;所述授权节点具有查看所述目标数据的权限;所述装置包括:第二接收模块,用于接收加密后的目标数据;其中,所述目标数据由预设客户端通过预设密钥加密;所述密钥通过所述客户端和所述授权节点相互协商得到;所述授权节点保存有所述密钥;第一解密模块,用于通过所述密钥解密所述加密后的所述目标数据,得到所述目标数据。
第六方面,本发明提供的一种区块链中的数据处理装置,所述装置设置于区块链中的背书节点;所述背书节点属于目标数据的授权节点;所述授权节点具有查看所述目标数据的权限;所述授权节点保存有预设密钥;所述装置包括:第三接收模块,用于接收来自客户端的加密后的目标数据;其中,所述目标数据由预设客户端通过所述密钥加密;所述密钥通过所述客户端和所述授权节点相互协商得到;第二解密模块,用于通过所述密钥解密所述加密后的所述目标数据,得到所述目标数据;审核模块,用于模拟执行所述区块链上的智能合约,以审核所述目标数据,得到审核结果;生成模块,用于根据所述审核结果生成背书结果,将所述背书结果返回至所述客户端,以通过所述客户端,根据所述背书结果,通过所述区块链网络中的共识节点对加密后的所述目标数据进行上链处理。
第七方面,本发明提供的一种区块链网络,所述区块链网络包括客户端、目标数据的授权节点、以及共识节点;所述授权节点具有查看所述目标数据的权限;所述授权节点保存有预设密钥;所述密钥通过所述客户端和所述授权节点相互协商得到;所述目标数据对应的背书节点属于所述授权节点;所述客户端用于通过所述密钥加密目标数据,将加密后的所述目标数据发送至所述目标数据对应的背书节点;所述目标数据对应的背书节点用于基于所述密钥,对所述目标数据进行背书处理;所述客户端还用于接收所述背书节点返回的背书结果,根据所述背书结果,通过区块链网络中的共识节点对加密后的所述目标数据进行上链处理。
进一步的,所述客户端还用于:随机生成第一备用参数;根据所述第一备用参数以及预设的全局参数,生成第一分发数据;将所述第一分发数据发送至所述授权节点;其中,所述全局参数用于所述客户端生成所述第一分发数据,还用于所述授权节点生成第二分发数据;所述授权节点还用于:随机生成第二备用参数;根据所述第二备用参数、所述第一分发数据以及所述全局参数,生成第二分发数据;将所述第二分发数据发送至所述客户端;所述客户端还用于:根据所述第一分发数据和所述第二分发数据,确定所述密钥。
进一步的,所述客户端还用于:如果所述授权节点包括多个,将所述第一分发数据发送至多个所述授权节点中的一个授权节点。
第八方面,本发明提供的一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现第一方面任一项所述的区块链中的数据处理方法,或者执行所述机器可执行指令以实现第二方面或第三方面任一项所述的区块链中的数据处理方法。
第八方面,本发明提供的一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使处理器实现上述第一方面、第二方面或第三方面任一项所述的区块链中的数据处理方法。
本发明提供的一种区块链中的数据处理方法、装置和区块链网络,首先,具有权限查看目标数据的授权节点之间,相互协商用于查看目标数据的密钥;目标数据经密钥加密后,通过授权节点中的背书节点进行背书处理,然后根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。该方法通过目标数据的授权节点和客户端多方协商确定密钥,通过该密钥加密目标数据,只有授权节点才可以查看真实的目标数据,没有被授权的节点由于不具有密钥,因而查看不到目标数据,实现了一个通道中部分成员之间交易数据的私有化,且该方法不需要创建多个通道,也不需要额外维护多个数据库,从而降低了区块链网络的资源消耗压力。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种区块链中的数据处理方法的流程图;
图2为本发明实施例提供的另一种区块链中的数据处理方法的流程图;
图3为本发明实施例提供的另一种区块链中的数据处理方法的流程图;
图4为本发明实施例提供的另一种区块链中的数据处理方法的流程图;
图5为本发明实施例提供的另一种区块链中的数据处理方法的流程图;
图6为本发明实施例提供的一种区块链中的数据处理装置的结构示意图;
图7为本发明实施例提供的另一种区块链中的数据处理装置的结构示意图;
图8为本发明实施例提供的另一种区块链中的数据处理装置的结构示意图;
图9为本发明实施例提供的一种区块链网络的结构示意图;
图10为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Hyperledger Fabric是专门为企业设计的区块链平台,其设计的通道(也可以称为Channel)可以对交易数据进行逻辑隔离,使得通道外的成员无法访问通道内的交易数据,从而保护通道内交易数据的隐私。通常一个通道中部分成员也需要保证交易数据的私有,如对于某个交易数据,仅有通道中的部分成员有权限查看,其他成员没有权限查看,为了解决通道的隐私粒度过大的问题,其中一种方式中,可以针对具有权限的部分成员另行创建一个通道,比如,如果有4个成员(也可以称为组织),每2个成员之间都有发生业务的需求,则需要创建6个通道,而通道需要耗费较大的系统资源,当系统的成员逐渐增多时(假设为n个成员),则需要创建n*(n-1)/2个通道,导致区块链网络的资源消耗压力较大,这在实际中是不可接受的。
另一种方式中,可以通过在Fabric(一种超级账本框架)中引入私有数据(也可以称为private data)的方式实现。具体来说,可以只创建一个通道,当该通道中部分成员间需要共享交易数据的时候,被授权的成员可以通过goosip协议接收交易数据,未授权的成员和共识节点(也可以称为Orderer节点)只可以看到交易数据的hash(哈希,是把任意长度的输入通过哈希算法变换成固定长度的输出,该输出即为哈希值),并且把该hash打包到区块中,从而实现了交易数据的隐私保护;采用私有数据的方式虽然解决了多个通道的问题,但是为了存储私有数据,需要维护一个私有数据库(也可以称为SideDB,英文全称为SideDataBase),因此采用该方式除了需要维护世界状态,还需要单独维护一个私有数据库,进而区块链网络中可能需要维护多个数据库,也会导致区块链网络的资源消耗压力较大;其中,世界状态可以理解为,Fabric里的交易数据以分布式账本的形式存储,账本由一系列有顺序和防篡改的记录组成,记录包含着交易数据的全部状态改变,账本中的数据项以键值对的形式存放,账本中所有的键值对构成了账本的状态,即为“世界状态”。
基于此,本发明实施例提供一种区块链中的数据处理方法、装置和区块链网络;该技术可以应用于区块链技术中数据上链的场景中,尤其是对区块链中的目标数据进行加密的场景。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种区块链中的数据处理方法进行详细介绍,该方法应用于客户端,该客户端可以是安装在用户的移动终端(如手机、平板电脑等)或者计算机上的应用程序,也可以是计算机上的SDK(SoftwareDevelopment Kit,软件开发工具包)。如图1所示,该方法包括如下步骤:
步骤S102,通过预设的密钥加密目标数据;其中,该目标数据的授权节点具有查看该目标数据的权限;该授权节点保存有该密钥;该密钥通过客户端和授权节点相互协商得到;该目标数据对应的背书节点属于该授权节点。
上述目标数据通常为用户想要上传的文字、图片或者视频等;上述背书节点可以理解为,每个链码在实例化时通常会设置背书策略,该背书策略所指定的可以对交易进行背书的节点;背书节点可以验证或声明目标数据是否合法;背书节点通常属于授权节点,是授权节点的子集,如果授权节点的数量为多个,则背书节点的数量可以是一个或多个;比如,授权节点的数量为三个,则可以指定三个授权节点中的一个、两个或三个为背书节点;在实际实现时,通过客户端和授权节点相互协商得到密钥,客户端和授权节点均保存有该密钥,客户端根据该密钥及预设的加密算法加密目标数据,加密后的目标数据也可以称为交易提案;目标数据所对应的授权节点接收到加密后的目标数据后,可以通过所保存的密钥查看该目标数据。
步骤S104,将加密后的目标数据发送至该目标数据对应的背书节点,以通过该背书节点基于保存的密钥,对该目标数据进行背书处理。
客户端将加密后的目标数据发送至对应的背书节点,考虑到背书节点属于授权节点,因而背书节点中也保存有上述密钥,背书节点可以通过该密钥查看该目标数据,审核验证目标数据并声明此目标数据是否合法。
步骤S106,接收上述背书节点返回的背书结果,根据该背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。
上述背书结果可以理解为背书节点根据目标数据的审核结果的合法性,所对应生成的结果;上述共识节点可以理解为排序Orderer节点,用于对加密后的目标数据进行打包、排序及上链处理等;在实际实现时,如果背书结果显示目标数据符合其对应的背书策略,则可以通过共识节点对加密后的目标数据进行上链处理;如果背书结果显示目标数据不符合其对应的背书策略,则不会通过共识节点对加密后的目标数据进行上链处理,通常会显示目标数据上链失败。
本发明实施例提供的一种区块链中的数据处理方法,该方法应用于客户端,首先,具有权限查看目标数据的授权节点之间,相互协商用于查看目标数据的密钥;目标数据经密钥加密后,通过授权节点中的背书节点进行背书处理,然后根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。该方法通过目标数据的授权节点和客户端多方协商确定密钥,通过该密钥加密目标数据,只有授权节点才可以查看真实的目标数据,没有被授权的节点由于不具有密钥,因而查看不到目标数据,实现了一个通道中部分成员之间交易数据的私有化,且该方法不需要创建多个通道,也不需要额外维护多个数据库,从而降低了区块链网络的资源消耗压力。
本发明实施例还提供另一种区块链中的数据处理方法,该方法在上述实施例所述方法的基础上实现;该方法重点描述根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理的具体过程;如图2所示,该方法包括如下步骤:
步骤S202,通过预设的密钥加密目标数据;其中,该目标数据预设有授权节点;该授权节点具有查看该目标数据的权限;该授权节点保存有该密钥;该密钥通过客户端和授权节点相互协商得到;该目标数据对应的背书节点属于授权节点。
在实际实现时,上述密钥可以通过下述步骤20-步骤24得到:
步骤20,随机生成第一备用参数。
用户通过客户端可以随机选取一个参数作为第一备用参数,在实际实现时,该第一备用参数通常为一个较大的整数。
步骤21,根据上述第一备用参数以及预设的全局参数,生成第一分发数据;其中,全局参数用于客户端生成第一分发数据,还用于授权节点生成第二分发数据。
上述全局参数可以理解为客户端和授权节点预先确定的参数,该参数可以被客户端和授权节点引用,以进行相应计算;在实际实现时,可以采用多方Diffie-Hellman算法(Diffie-Hellman是一种确保共享KEY安全穿越不安全网络的方法)协商一个对称密钥key,Diffie-Hellman算法只能用于密钥的协商,而不能进行消息的加密和解密,多方确定要用的密钥后,要使用其他对称密钥操作加密算法实现对目标数据的加密和解密;该方法既可以解决密钥分发的问题,也可以根据需求保护用户交易数据的隐私;比如,客户端随机生成的第一备用参数为一个较大的整数x,预设的全局参数为g和n,则客户端根据x、g和n这三个参数,采用Diffie-Hellman算法可以生成第一分发数据X=g^x mod n。
步骤22,将第一分发数据发送至授权节点。
在实际实现时,如果授权节点只有一个,则客户端将第一分发数据发送至该授权节点;如果授权节点包括多个,将第一分发数据发送至多个授权节点中的一个授权节点,也可以理解为,用户通过客户端将第一分发数据发送至多个授权节点中的任意一个即可。
步骤23,接收授权节点发送的第二分发数据;其中,第二分发数据由授权节点根据随机生成的第二备用参数、第一分发数据以及全局参数生成。
授权节点也可以随机选取一个参数作为第二备用参数,该第二备用参数通常为一个较大的整数;在实际实现时,如果授权节点只有一个,则需要客户端和该授权节点双方协商一个对称密钥key;该授权节点根据随机生成的第二备用参数、第一分发数据以及全局参数生成第二分发数据,并发送至客户端;比如,将该授权节点以peer1节点(peer节点是账本和智能合约的载体)表示,peer1节点随机生成的第二备用参数为一个较大的整数y,预设的全局参数为g和n,第一分发数据X=g^x mod n,则peer1节点根据y、n和第一分发数据,采用Diffie-Hellman算法可以生成第二分发数据X’=X^y mod n,并发送至客户端。
如果授权节点包括多个,此处以两个授权节点为例进行说明,则需要客户端与两个授权节点三方协商一个对称密钥key;比如,两个授权节点分别以peer1节点和peer2节点表示,peer1节点随机生成的第二备用参数为一个较大的整数y,peer2节点随机生成的第二备用参数为一个较大的整数z,预设的全局参数为g和n,第一分发数据X=g^x mod n,假设客户端将第一分发数据发送给peer1节点,peer1节点根据y、g和n,采用Diffie-Hellman算法可以生成Y=g^y mod n,并发送至peer2节点,peer2节点采用Diffie-Hellman算法可以生成第二分发数据Y’=Y^z mod n,并发送至客户端。
步骤24,根据第一分发数据和第二分发数据,确定密钥。
客户端根据上述第一分发数据和第二分发数据确定密钥;比如,如果授权节点只有一个,该授权节点以peer1节点表示,则客户端接收到第二分发数据X’=X^y mod n后,基于Diffie-Hellman算法计算k1=X’^x mod n,即为所确定的密钥;如果授权节点包括多个,仍以两个授权节点为例进行说明,则客户端接收到第二分发数据Y’=Y^z mod n后,基于Diffie-Hellman算法计算k1=Y’^x mod n,即为所确定的密钥。
步骤S204,将加密后的目标数据发送至该目标数据对应的背书节点,以通过该背书节点基于保存的密钥,对该目标数据进行背书处理。
步骤S206,接收上述背书节点返回的背书结果。
步骤S208,判断上述背书结果是否符合目标数据对应的背书策略;如果背书结果符合目标数据对应的背书策略,执行步骤S210;如果背书结果不符合目标数据对应的背书策略,执行步骤S212。
当客户端接收到背书节点返回的背书结果时,判断背书结果是否满足要求,以确定目标数据是否满足上链要求;在实际实现时,如果背书节点的数量为多个,通常背书策略中的所有背书节点都返回背书结果是最理想的情况,当然也可以根据实际需求预设指定比例的背书节点,当返回背书结果的背书节点的数量满足该指定比例即可。
步骤S210,如果背书结果符合目标数据对应的背书策略,将上述背书结果和加密后的目标数据发送至区块链上的共识节点,以通过共识节点将加密后的目标数据分发至目标数据对应的通道中的记账节点,并通过记账节点对加密后的目标数据进行上链处理。结束。
上述记账节点一般用于维护状态数据和账本的副本,通常区块链中的所有peer节点都是记账节点,被授权的记账节点即为授权节点;当上述背书结果符合背书策略时,将背书结果和加密后的目标数据发送至区块链上的共识节点,共识节点根据当前共识算法对加密后的目标数据进行排序,并根据区块生成策略将已完成排序的加密后的目标数据打包成对应的区块,然后将该区块分发至目标数据对应的记账节点,记账节点将加密后的目标数据写入区块链网络。
步骤S212,显示上述加密后的目标数据上链失败。
只有背书签名验证正确,所有背书节点或预设的指定比例的背书节点均为合法,且客户端收到了所有背书节点或预设的指定比例的背书节点的背书结果,才能确定目标数据背书成功,背书成功后,客户端可以将加密后的目标数据发送至共识节点,以完成后续的上链操作;否则显示目标数据上链失败。
本发明实施例提供的另一种区块链中的数据处理方法,详细描述了密钥的确定方式,以及根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理的具体过程;该方法首先通过预设的密钥加密目标数据;然后将加密后的目标数据发送至目标数据对应的背书节点,以通过背书节点基于保存的密钥,对目标数据进行背书处理;最后接收背书节点返回的背书结果,如果判断背书结果符合目标数据对应的背书策略,将背书结果和加密后的目标数据发送至区块链上的共识节点,以通过共识节点将加密后的目标数据分发至目标数据对应的通道中的记账节点,并通过记账节点对加密后的目标数据进行上链处理。该方法通过目标数据的授权节点和客户端多方协商确定密钥,通过该密钥加密目标数据,只有授权节点才可以查看真实的目标数据,没有被授权的节点由于不具有密钥,因而查看不到目标数据,实现了一个通道中部分成员之间交易数据的私有化,且该方法不需要创建多个通道,也不需要额外维护多个数据库,从而降低了区块链网络的资源消耗压力。
本发明实施例还提供另一种区块链中的数据处理方法,该方法应用于区块链节点;该区块链节点为目标数据的授权节点;授权节点具有查看目标数据的权限;如图3所示,该方法包括如下步骤:
步骤S302,接收加密后的目标数据;其中,该目标数据由预设客户端通过预设密钥加密;该密钥通过客户端和授权节点相互协商得到;授权节点保存有该密钥。
在实际实现时,通过客户端和授权节点相互协商得到密钥,客户端和授权节点均保存有该密钥,授权节点接收加密后的目标数据。
步骤S304,通过上述密钥解密加密后的目标数据,得到目标数据。
当授权节点接收到加密后的目标数据后,可以通过所保存的密钥,结合相应的解密算法得到该目标数据。
本发明实施例提供的另一种区块链中的数据处理方法,该方法应用于区块链节点;该区块链节点为目标数据的授权节点;首先接收加密后的目标数据;其中,目标数据由预设客户端通过预设密钥加密;密钥通过客户端和授权节点相互协商得到;授权节点保存有密钥;通过密钥解密加密后的目标数据,得到目标数据。该方法通过目标数据的授权节点和客户端多方协商确定密钥,通过该密钥加密目标数据,只有授权节点才可以查看真实的目标数据,没有被授权的节点由于不具有密钥,因而查看不到目标数据,实现了一个通道中部分成员之间交易数据的私有化,且该方法不需要创建多个通道,也不需要额外维护多个数据库,从而降低了区块链网络的资源消耗压力。
本发明实施例还提供另一种区块链中的数据处理方法,该方法在上述实施例方法的基础上实现;该方法重点描述密钥的确定方式,该方法包括如下步骤:
步骤402,接收加密后的目标数据;其中,该目标数据由预设客户端通过预设密钥加密;该密钥通过客户端和授权节点相互协商得到;授权节点保存有该密钥。
在实际实现时,上述密钥可以通过下述步骤40-步骤44得到:
步骤40,如果接收到来自客户端的第一分发数据,随机生成第二备用参数;其中,第一分发数据由客户端根据随机生成的第一备用参数,以及预设的全局参数生成;其中,全局参数用于客户端生成第一分发数据,还用于授权节点生成第二分发数据。
步骤41,根据第二备用参数,第一分发数据以及预设的全局参数,生成第二分发数据。
步骤42,如果授权节点包括一个,将第二分发数据返回至客户端。
在实际实现时,如果授权节点只有一个,则需要客户端和该授权节点双方协商一个对称密钥key;该授权节点将所生成的第二分发数据发送至客户端。
步骤43,如果授权节点包括多个,将第二分发数据发送至客户端或多个授权节点中除当前授权节点以外的授权节点。
如果授权节点包括多个,当其中一个指定授权节点接收到来自客户端的第一分发数据后,该指定授权节点随机生成对应的第二备用参数,并根据第二备用参数,第一分发数据以及预设的全局参数,生成对应的第二分发数据;该指定授权节点将所生成的第二分发数据发送至除该指定授权节点以外的任意一个授权节点,依次类推,直至最后一个授权节点生成对应的第二分发数据,并将所生成的第二分发数据发送至客户端;也可以理解为在一个通道中有几方具有查看目标数据的权限,就需要几方参与密钥的协商过程。
步骤44,根据第一分发数据和第二分发数据,确定密钥。
下面以授权节点数量为两个为例进行说明,根据多方Diffie-Hellman算法,则需要客户端和两个授权节点这三方协商一个对称私钥key,假设客户端对应的成员为Alice,两个授权节点对应的成员分别为Bob和Carol,密钥协商过程如下:
a)Alice随机选取一个大的整数x,并将X=g^x mod n发送给Bob;
b)Bob随机选取一个大的整数y,并将Y=g^y mod n发送给Carol;
c)Carol随机选取一个大的整数z,并将Z=g^z mod n发送给Alice;
d)Alice根据接收到的Z=g^z mod n,计算得到Z’=Z^x mod n,并发送给Bob;
e)Bob根据接收到的X=g^x mod n,计算得到X’=X^y mod n,并发送给Carol;
f)Carol根据接收到的Y=g^y mod n,计算得到Y’=Y^z mod n,并发送给Alice;
g)Alice根据接收到的Y’=Y^z mod n,计算k1=Y’^x mod n;
h)Bob根据接收到的计算Z’=Z^x mod n,计算k2=Z’^y mod n;
i)Carol根据接收到的X’=X^y mod n,计算k3=X’^z mod n;
通过数学转换计算可以证明k1=k2=k3,即为所确定的密钥,从而实现了在互不信任的环境下,客户端和授权节点之间密钥分发的工作。
步骤404,通过密钥解密加密后的目标数据,得到目标数据。
本发明实施例提供的另一种区块链中的数据处理方法,详细描述了密钥的确定方式,如果接收到来自客户端的第一分发数据,随机生成第二备用参数;其中,第一分发数据由客户端根据随机生成的第一备用参数,以及预设的全局参数生成;根据第二备用参数,第一分发数据以及预设的全局参数,生成第二分发数据;如果授权节点包括一个,将第二分发数据返回至客户端;如果授权节点包括多个,将第二分发数据发送至客户端或多个授权节点中除当前授权节点以外的授权节点。根据第一分发数据和第二分发数据,确定密钥。该方式通过客户端和授权节点多方协商确定出对称密钥,授权节点和客户端均保存有该密钥,这样既可以解决密钥分发问题,也可以根据需求保护目标数据。
本发明实施例还提供另一种区块链中的数据处理方法,该方法应用于区块链中的背书节点;背书节点属于目标数据的授权节点;授权节点具有查看目标数据的权限;授权节点保存有预设密钥;如图4所示,该方法包括如下步骤:
步骤S402,接收来自客户端的加密后的目标数据;其中,目标数据由预设客户端通过密钥加密;密钥通过客户端和授权节点相互协商得到。
步骤S404,通过上述密钥解密加密后的目标数据,得到目标数据。
步骤S406,模拟执行上述区块链上的智能合约,以审核目标数据,得到审核结果。
上述智能合约通常是一种以信息化方式传播、验证或执行合同的计算机协议,该智能合约通常为写在区块链上的链码,该链码可以对交易资产进行编码,其中交易指令可以修改交易资产。在实例化时,智能合约需要指定背书策略,该背书策略通常需要指定背书节点对交易进行背书,也可以理解为背书节点可以验证或声明交易是否合法。
在具体实现时,通过客户端的SDK与区块链网络进行交互,可以调用区块链上的智能合约(也可称为链码),并根据验证需求选定部分审核方的节点作为背书节点,从而可以生成相应的背书策略,背书策略中通常包括一个或者多个背书节点;当背书策略中包括多个背书节点时,则通常需要多个背书节点都背书通过,这个背书流程才算真正完成。
当背书节点得到目标数据后,模拟执行智能合约(模拟执行智能合约后目标数据通常不会将审核结果记录在区块链中),该智能合约可以对目标数据进行内容审核,以得到目标数据合法或者不合法的审核结果,该审核结果可以是读写集的形式。其中,该内容审核通常是审核目标数据是否为非法内容或者恶意造谣内容等。
步骤S408,根据上述审核结果生成背书结果,将该背书结果返回至客户端,以通过客户端,根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。
背书节点根据目标数据的审核结果的合法性,对应生成背书结果。当目标数据审核结果为合法时,对应的背书节点的背书结果为背书通过,当目标数据审核结果为非法时,对应的背书节点的背书结果为背书不通过。背书节点将背书结果返回至客户端,如果背书策略中所有的背书节点或预设的指定比例的背书节点均背书通过,客户端将所收集到的背书结果和加密后的目标数据发送至共识节点;共识节点对加密后的目标数据进行打包排序,再根据区块生成策略生成新的区块,并发送区块到通道中的记账节点;记账节点对区块中的目标数据进行验证,以确认背书策略和交易的合法性,验证完成后对目标数据进行上链操作,也可以理解为把接收到的区块加入当前账本,同时更新世界状态。如果背书策略中所有的背书节点有一个或者多个背书未通过,待上链内容将会上传失败。
本发明实施例提供的另一种区块链中的数据处理方法,该方法应用于区块链中的背书节点;首先接收来自客户端的加密后的目标数据;通过密钥解密加密后的目标数据,得到目标数据;然后模拟执行区块链上的智能合约,以审核目标数据,得到审核结果;最后根据审核结果生成背书结果,将背书结果返回至客户端,以通过客户端,根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。该方法通过区块链背书节点上的智能合约审核目标数据,以确认目标数据的合法性,从而在加密后的目标数据上链处理后,保证链上数据的安全。
为进一步理解上述实施例,下面提供另一种区块链中的数据处理方法的流程图,为方便理解,以区块链中一个通道内的数据传输为例进行说明,如图5所示,包括客户端、两个授权节点peer1和peer2,Orderer节点(相当于上述共识节点)、Peer3节点(相当于未授权的记账节点),其中peer1同时还是背书节点,peer1和peer2可以查看客户端输入的目标数据,Orderer节点和Peer3不能查看客户端输入的目标数据。
在每次开始交易之前,首先采用多方Diffie-Hellman(简称DH)算法协商一个对称私钥key;已知全局参数g和n,如图5所示,密钥协商的过程如下:
a)成员1通过客户端随机选取一个较大的整数x,并将X=g^x mod n发送给成员2所对应的Peer1节点;
b)成员2通过所对应的Peer1节点随机选取一个较大的整数y,并将Y=g^y mod n发送给成员3所对应的Peer2节点;
c)成员3通过所对应的Peer2节点随机选取一个较大的整数z,并将Z=g^z mod n发送给成员1所对应的客户端;
d)成员1通过客户端根据接收到的Z=g^z mod n,计算得到Z’=Z^x mod n,并发送给成员2所对应的Peer1节点;
e)成员2通过所对应的Peer1节点根据接收到的X=g^x mod n,计算得到X’=X^ymod n,并发送给成员3所对应的Peer2节点;
f)成员3通过所对应的Peer2节点根据接收到的Y=g^y mod n,计算得到Y’=Y^zmod n,并发送给成员1所对应的客户端;
g)成员1通过客户端根据接收到的Y’=Y^z mod n,计算k1=Y’^x mod n;
h)成员2通过Peer1节点根据接收到的Z’=Z^x mod n,计算k2=Z’^y mod n;
i)成员3通过Peer2节点根据接收到的X’=X^y mod n,计算k3=X’^z mod n
通过数学转换计算可以证明k1=k2=k3,从而得到协商结果key,相当于上述密钥,并实现了在互不信任的环境下客户端和授权节点之间密钥分发的工作。
客户端使用上述key加密成员1输入的信息(相当于上述目标数据),生成交易提案(相当于上述加密后的目标数据),并将该交易提案发送至背书节点,以通过该背书节点对该交易提案进行背书处理;背书节点接收到交易提案,验证合法后,使用key解密交易提案,得到成员1输入的信息,然后模拟执行交易(相当于上述模拟执行区块链上的智能合约),产生读写集,以审核成员1输入的信息,得到审核结果,背书节点根据该审核结果生成背书结果,并发送背书结果至客户端;客户端收集背书结果,当收集到足够的背书结果后,把背书结果和交易提案发送至Orderer节点;Orderer节点根据当前共识算法对交易提案进行排序,并根据区块生成策略将已完成排序的交易提案打包成区块,然后将该区块分发至通道中的记账节点,即Peer节点,记账节点接收到区块后,验证背书策略和交易合法性,将验证后的区块加入当前账本(将加密后的目标数据写入区块链网络),同时更新世界状态。
通过改造hyperledger fabric的交易流程,首先是通过多方DH密钥协商协议协商出对称密钥,对用户的输入进行了加密,当前通道内的所有Peer都可以接收到加密后的目标数据,但是只有授权的节点才可以看到真实的输入,如被授权的Peer1和Peer2使用所保存的密钥可以解密查看目标数据,同时该输入信息在区块中也进行了加密处理,没有密钥是无法看到的,如Orderer节点和Peer3,由于没有密钥,因而无法解密查看目标数据,从而保护用户的隐私。
对应于上述方法实施例,本发明实施例提供了一种区块链中的数据处理装置,装置设置于客户端;如图6所示,装置包括:加密模块60,用于通过预设的密钥加密目标数据;其中,目标数据的授权节点具有查看目标数据的权限;授权节点保存有密钥;密钥通过客户端和授权节点相互协商得到;目标数据对应的背书节点属于授权节点;发送模块61,用于将加密后的目标数据发送至目标数据对应的背书节点,以通过背书节点基于保存的密钥,对目标数据进行背书处理;第一接收模块62,用于接收背书节点返回的背书结果,根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。
本发明实施例提供的一种区块链中的数据处理装置,该装置设置于客户端,首先,具有权限查看目标数据的授权节点之间,相互协商用于查看目标数据的密钥;目标数据经密钥加密后,通过授权节点中的背书节点进行背书处理,然后根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。该装置通过目标数据的授权节点和客户端多方协商确定密钥,通过该密钥加密目标数据,只有授权节点才可以查看真实的目标数据,没有被授权的节点由于不具有密钥,因而查看不到目标数据,实现了一个通道中部分成员之间交易数据的私有化,且该装置不需要创建多个通道,也不需要额外维护多个数据库,从而降低了区块链网络的资源消耗压力。
进一步的,密钥具体通过下述方式得到:随机生成第一备用参数;根据第一备用参数以及预设的全局参数,生成第一分发数据;将第一分发数据发送至授权节点;其中,全局参数用于客户端生成第一分发数据,还用于授权节点生成第二分发数据;接收授权节点发送的第二分发数据;其中,第二分发数据由授权节点根据随机生成的第二备用参数、第一分发数据以及全局参数生成;根据第一分发数据和第二分发数据,确定密钥。
进一步的,密钥获取方式还包括:如果授权节点包括多个,将第一分发数据发送至多个授权节点中的一个授权节点。
进一步的,第一接收模块62还用于:判断背书结果是否符合目标数据对应的背书策略;如果背书结果符合目标数据对应的背书策略,将背书结果和加密后的目标数据发送至区块链上的共识节点,以通过共识节点将加密后的目标数据分发至目标数据对应的通道中的记账节点,并通过记账节点对加密后的目标数据进行上链处理。
本发明实施例所提供的区块链中的数据处理装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,区块链中的数据处理装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供了另一种区块链中的数据处理装置,装置设置于区块链节点;区块链节点为目标数据的授权节点;授权节点具有查看目标数据的权限;如图7所示,该装置包括:第二接收模块70,用于接收加密后的目标数据;其中,目标数据由预设客户端通过预设密钥加密;密钥通过客户端和授权节点相互协商得到;授权节点保存有密钥;第一解密模块71,用于通过密钥解密加密后的目标数据,得到目标数据。
本发明实施例提供的另一种区块链中的数据处理装置,该装置设置于区块链节点;区块链节点为目标数据的授权节点;首先接收加密后的目标数据;其中,目标数据由预设客户端通过预设密钥加密;密钥通过客户端和授权节点相互协商得到;授权节点保存有密钥;通过密钥解密加密后的目标数据,得到目标数据。该装置对目标数据预设授权节点,授权节点和客户端多方协商确定密钥,通过该密钥加密目标数据,只有授权节点才可以查看真实的目标数据,没有被授权的节点由于不具有密钥,因而查看不到目标数据,实现了一个通道中部分成员之间交易数据的私有化,且该装置不需要创建多个通道,也不需要额外维护多个数据库,从而降低了区块链网络的资源消耗压力。
进一步的,密钥具体通过下述方式得到:如果接收到来自客户端的第一分发数据,随机生成第二备用参数;其中,第一分发数据由客户端根据随机生成的第一备用参数,以及预设的全局参数生成;其中,全局参数用于客户端生成第一分发数据,还用于授权节点生成第二分发数据;根据第二备用参数,第一分发数据以及预设的全局参数,生成第二分发数据;根据第一分发数据和第二分发数据,确定密钥。
进一步的,密钥获取方式还包括:如果授权节点包括一个,将第二分发数据返回至客户端;如果授权节点包括多个,将第二分发数据发送至客户端或多个授权节点中除当前授权节点以外的授权节点。
本发明实施例所提供的区块链中的数据处理装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,区块链中的数据处理装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供了另一种区块链中的数据处理装置,装置设置于区块链中的背书节点;背书节点属于目标数据的授权节点;授权节点具有查看目标数据的权限;授权节点保存有预设密钥;如图8所示,该装置包括:第三接收模块80,用于接收来自客户端的加密后的目标数据;其中,目标数据由预设客户端通过密钥加密;密钥通过客户端和授权节点相互协商得到;第二解密模块81,用于通过密钥解密加密后的目标数据,得到目标数据;审核模块82,用于模拟执行区块链上的智能合约,以审核目标数据,得到审核结果;生成模块83,用于根据审核结果生成背书结果,将背书结果返回至客户端,以通过客户端,根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。
本发明实施例提供的另一种区块链中的数据处理装置,该装置设置于区块链中的背书节点;首先接收来自客户端的加密后的目标数据;通过密钥解密加密后的目标数据,得到目标数据;然后模拟执行区块链上的智能合约,以审核目标数据,得到审核结果;最后根据审核结果生成背书结果,将背书结果返回至客户端,以通过客户端,根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。该装置通过区块链背书节点上的智能合约审核目标数据,以确认目标数据的合法性,从而在加密后的目标数据上链处理后,保证链上数据的安全。
本发明实施例提供了一种区块链网络,如图9所示,该区块链网络包括客户端90、目标数据的授权节点91、以及共识节点92;授权节点91具有查看目标数据的权限;授权节点91保存有预设密钥;密钥通过客户端90和授权节点91相互协商得到;目标数据对应的背书节点911属于授权节点。
客户端90用于通过密钥加密目标数据,将加密后的目标数据发送至目标数据对应的背书节点911;目标数据对应的背书节点911用于基于密钥,对目标数据进行背书处理;客户端90还用于接收背书节点911返回的背书结果,根据背书结果,通过区块链网络中的共识节点92对加密后的目标数据进行上链处理。
上述区块链网络通过目标数据的授权节点和客户端多方协商确定密钥,通过该密钥加密目标数据,只有授权节点才可以查看真实的目标数据,没有被授权的节点由于不具有密钥,因而查看不到目标数据,实现了一个通道中部分成员之间交易数据的私有化,且该区块链网络不需要创建多个通道,也不需要额外维护多个数据库,从而降低了区块链网络的资源消耗压力。
进一步的,客户端90还用于:随机生成第一备用参数;根据第一备用参数以及预设的全局参数,生成第一分发数据;将第一分发数据发送至授权节点;授权节点91还用于:随机生成第二备用参数;根据第二备用参数、第一分发数据以及全局参数,生成第二分发数据;将第二分发数据发送至客户端;客户端90还用于:根据第一分发数据和第二分发数据,确定密钥。
进一步的,客户端90还用于:如果授权节点91包括多个,将第一分发数据发送至多个授权节点中的一个授权节点。
本发明实施例所提供的区块链网络,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,区块链网络实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例还提供了一种电子设备,用于运行区块链中的数据处理方法;参见图10所示,包括处理器131和存储器130,该存储器130存储有能够被处理器131执行的机器可执行指令,该处理器131执行机器可执行指令以实现上述实施例所示的区块链中的数据处理方法。
进一步地,图10所示的电子设备还包括总线132和通信接口133,处理器131、通信接口133和存储器130通过总线132连接。
其中,存储器130可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器131可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器131中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器131可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器130,处理器131读取存储器130中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述区块链中的数据处理方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的区块链中的数据处理方法、装置和区块链网络的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (16)

1.一种区块链中的数据处理方法,其特征在于,所述方法应用于客户端;所述方法包括:
通过预设的密钥加密目标数据;其中,所述目标数据的授权节点具有查看所述目标数据的权限;所述授权节点保存有所述密钥;所述密钥通过所述客户端和所述授权节点相互协商得到;所述目标数据对应的背书节点属于所述授权节点;
将加密后的所述目标数据发送至所述目标数据对应的背书节点,以通过所述背书节点基于保存的所述密钥,对所述目标数据进行背书处理;
接收所述背书节点返回的背书结果,根据所述背书结果,通过区块链网络中的共识节点对加密后的所述目标数据进行上链处理。
2.根据权利要求1所述的方法,其特征在于,所述密钥具体通过下述方式得到:
随机生成第一备用参数;
根据所述第一备用参数以及预设的全局参数,生成第一分发数据;将所述第一分发数据发送至所述授权节点;其中,所述全局参数用于所述客户端生成所述第一分发数据,还用于所述授权节点生成第二分发数据;
接收所述授权节点发送的第二分发数据;其中,所述第二分发数据由所述授权节点根据随机生成的第二备用参数、所述第一分发数据以及所述全局参数生成;
根据所述第一分发数据和所述第二分发数据,确定所述密钥。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一分发数据发送至所述授权节点的步骤,包括:如果所述授权节点包括多个,将所述第一分发数据发送至多个所述授权节点中的一个授权节点。
4.根据权利要求1所述的方法,其特征在于,根据所述背书结果,通过区块链网络中的共识节点对加密后的所述目标数据进行上链处理的步骤,包括:
判断所述背书结果是否符合所述目标数据对应的背书策略;
如果所述背书结果符合所述目标数据对应的背书策略,将所述背书结果和加密后的所述目标数据发送至所述区块链上的共识节点,以通过所述共识节点将加密后的所述目标数据分发至所述目标数据对应的通道中的记账节点,并通过所述记账节点对加密后的所述目标数据进行上链处理。
5.一种区块链中的数据处理方法,其特征在于,所述方法应用于区块链节点;所述区块链节点为目标数据的授权节点;所述授权节点具有查看所述目标数据的权限;所述方法包括:
接收加密后的目标数据;其中,所述目标数据由预设客户端通过预设密钥加密;所述密钥通过所述客户端和所述授权节点相互协商得到;所述授权节点保存有所述密钥;
通过所述密钥解密所述加密后的所述目标数据,得到所述目标数据。
6.根据权利要求5所述的方法,其特征在于,所述密钥具体通过下述方式得到:
如果接收到来自所述客户端的第一分发数据,随机生成第二备用参数;其中,所述第一分发数据由所述客户端根据随机生成的第一备用参数,以及预设的全局参数生成;其中,所述全局参数用于所述客户端生成所述第一分发数据,还用于所述授权节点生成第二分发数据;
根据所述第二备用参数,所述第一分发数据以及预设的全局参数,生成第二分发数据;
根据所述第一分发数据和所述第二分发数据,确定所述密钥。
7.根据权利要求6所述的方法,其特征在于,生成第二分发数据的步骤之后,所述方法还包括:如果所述授权节点包括一个,将所述第二分发数据返回至所述客户端;
如果所述授权节点包括多个,将所述第二分发数据发送至所述客户端或多个所述授权节点中除当前授权节点以外的授权节点。
8.一种区块链中的数据处理方法,其特征在于,所述方法应用于区块链中的背书节点;所述背书节点属于目标数据的授权节点;所述授权节点具有查看所述目标数据的权限;所述授权节点保存有预设密钥;所述方法包括:
接收来自客户端的加密后的目标数据;其中,所述目标数据由预设客户端通过所述密钥加密;所述密钥通过所述客户端和所述授权节点相互协商得到;
通过所述密钥解密所述加密后的所述目标数据,得到所述目标数据;
模拟执行所述区块链上的智能合约,以审核所述目标数据,得到审核结果;
根据所述审核结果生成背书结果,将所述背书结果返回至所述客户端,以通过所述客户端,根据所述背书结果,通过所述区块链网络中的共识节点对加密后的所述目标数据进行上链处理。
9.一种区块链中的数据处理装置,其特征在于,所述装置设置于客户端;所述装置包括:
加密模块,用于通过预设的密钥加密目标数据;其中,所述目标数据的授权节点具有查看所述目标数据的权限;所述授权节点保存有所述密钥;所述密钥通过所述客户端和所述授权节点相互协商得到;所述目标数据对应的背书节点属于所述授权节点;
发送模块,用于将加密后的所述目标数据发送至所述目标数据对应的背书节点,以通过所述背书节点基于保存的所述密钥,对所述目标数据进行背书处理;
第一接收模块,用于接收所述背书节点返回的背书结果,根据所述背书结果,通过区块链网络中的共识节点对加密后的所述目标数据进行上链处理。
10.一种区块链中的数据处理装置,其特征在于,所述装置设置于区块链节点;所述区块链节点为目标数据的授权节点;所述授权节点具有查看所述目标数据的权限;所述装置包括:
第二接收模块,用于接收加密后的目标数据;其中,所述目标数据由预设客户端通过预设密钥加密;所述密钥通过所述客户端和所述授权节点相互协商得到;所述授权节点保存有所述密钥;
第一解密模块,用于通过所述密钥解密所述加密后的所述目标数据,得到所述目标数据。
11.一种区块链中的数据处理装置,其特征在于,所述装置设置于区块链中的背书节点;所述背书节点属于目标数据的授权节点;所述授权节点具有查看所述目标数据的权限;所述授权节点保存有预设密钥;所述装置包括:
第三接收模块,用于接收来自客户端的加密后的目标数据;其中,所述目标数据由预设客户端通过所述密钥加密;所述密钥通过所述客户端和所述授权节点相互协商得到;
第二解密模块,用于通过所述密钥解密所述加密后的所述目标数据,得到所述目标数据;
审核模块,用于模拟执行所述区块链上的智能合约,以审核所述目标数据,得到审核结果;
生成模块,用于根据所述审核结果生成背书结果,将所述背书结果返回至所述客户端,以通过所述客户端,根据所述背书结果,通过所述区块链网络中的共识节点对加密后的所述目标数据进行上链处理。
12.一种区块链网络,其特征在于,所述区块链网络包括客户端、目标数据的授权节点、以及共识节点;所述授权节点具有查看所述目标数据的权限;所述授权节点保存有预设密钥;所述密钥通过所述客户端和所述授权节点相互协商得到;所述目标数据对应的背书节点属于所述授权节点;
所述客户端用于通过所述密钥加密目标数据,将加密后的所述目标数据发送至所述目标数据对应的背书节点;
所述目标数据对应的背书节点用于基于所述密钥,对所述目标数据进行背书处理;
所述客户端还用于接收所述背书节点返回的背书结果,根据所述背书结果,通过区块链网络中的共识节点对加密后的所述目标数据进行上链处理。
13.根据权利要求12所述的区块链网络,其特征在于,
所述客户端还用于:随机生成第一备用参数;根据所述第一备用参数以及预设的全局参数,生成第一分发数据;将所述第一分发数据发送至所述授权节点;其中,所述全局参数用于所述客户端生成所述第一分发数据,还用于所述授权节点生成第二分发数据;
所述授权节点还用于:随机生成第二备用参数;根据所述第二备用参数、所述第一分发数据以及所述全局参数,生成第二分发数据;将所述第二分发数据发送至所述客户端;
所述客户端还用于:根据所述第一分发数据和所述第二分发数据,确定所述密钥。
14.根据权利要求13所述的区块链网络,其特征在于,所述客户端还用于:如果所述授权节点包括多个,将所述第一分发数据发送至多个所述授权节点中的一个授权节点。
15.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至4任一项所述的区块链中的数据处理方法,或者执行所述机器可执行指令以实现权利要求5至8任一项所述的区块链中的数据处理方法。
16.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使处理器实现权利要求1至8任一项所述的区块链中的数据处理方法。
CN202010240449.0A 2020-03-30 2020-03-30 区块链中的数据处理方法、装置和区块链网络 Pending CN111464298A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010240449.0A CN111464298A (zh) 2020-03-30 2020-03-30 区块链中的数据处理方法、装置和区块链网络

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010240449.0A CN111464298A (zh) 2020-03-30 2020-03-30 区块链中的数据处理方法、装置和区块链网络

Publications (1)

Publication Number Publication Date
CN111464298A true CN111464298A (zh) 2020-07-28

Family

ID=71680591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010240449.0A Pending CN111464298A (zh) 2020-03-30 2020-03-30 区块链中的数据处理方法、装置和区块链网络

Country Status (1)

Country Link
CN (1) CN111464298A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112150146A (zh) * 2020-09-22 2020-12-29 京东数字科技控股股份有限公司 区块链的区块处理方法、装置、设备及存储介质
CN113112354A (zh) * 2021-03-04 2021-07-13 卓尔智联(武汉)研究院有限公司 一种区块链网络的交易处理方法、区块链网络及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101116281A (zh) * 2005-02-10 2008-01-30 国际商业机器公司 询问-应答签名和安全迪菲-海尔曼协议
CN107979466A (zh) * 2016-07-27 2018-05-01 北京计算机技术及应用研究所 基于Diffie-Hellman协议的iSCSI协议安全增强方法
CN110162992A (zh) * 2019-05-31 2019-08-23 联想(北京)有限公司 数据处理方法、数据处理装置和计算机系统
CN110197082A (zh) * 2019-05-31 2019-09-03 联想(北京)有限公司 数据处理方法、数据处理装置和计算机系统
CN110533429A (zh) * 2019-08-30 2019-12-03 北京金山云网络技术有限公司 区块链中的交易背书方法、装置和区块链网络

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101116281A (zh) * 2005-02-10 2008-01-30 国际商业机器公司 询问-应答签名和安全迪菲-海尔曼协议
CN107979466A (zh) * 2016-07-27 2018-05-01 北京计算机技术及应用研究所 基于Diffie-Hellman协议的iSCSI协议安全增强方法
CN110162992A (zh) * 2019-05-31 2019-08-23 联想(北京)有限公司 数据处理方法、数据处理装置和计算机系统
CN110197082A (zh) * 2019-05-31 2019-09-03 联想(北京)有限公司 数据处理方法、数据处理装置和计算机系统
CN110533429A (zh) * 2019-08-30 2019-12-03 北京金山云网络技术有限公司 区块链中的交易背书方法、装置和区块链网络

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112150146A (zh) * 2020-09-22 2020-12-29 京东数字科技控股股份有限公司 区块链的区块处理方法、装置、设备及存储介质
CN112150146B (zh) * 2020-09-22 2023-11-03 京东科技控股股份有限公司 区块链的区块处理方法、装置、设备及存储介质
CN113112354A (zh) * 2021-03-04 2021-07-13 卓尔智联(武汉)研究院有限公司 一种区块链网络的交易处理方法、区块链网络及存储介质

Similar Documents

Publication Publication Date Title
Das et al. Securing interim payments in construction projects through a blockchain-based framework
CN102355351B (zh) 一种基于可信计算的密钥生成、备份和迁移方法及系统
CN110061845A (zh) 区块链数据加密方法、装置、计算机设备及存储介质
WO2019191378A1 (en) Threshold secret share authentication proof and secure blockchain voting with hardware security modules
Awadallah et al. An integrated architecture for maintaining security in cloud computing based on blockchain
CN111200589A (zh) 一种联盟链的数据保护方法及系统
Shen et al. Blockchain for transparent data management toward 6G
CN105164692A (zh) 数据管理
CN104836776A (zh) 数据交互方法和装置
CN111859446A (zh) 一种农产品溯源信息共享-隐私保护的方法及系统
CN111292041A (zh) 一种电子合同生成方法、装置、设备及存储介质
CN112332975A (zh) 物联网设备安全通信方法及系统
CN109478214A (zh) 用于证书注册的装置和方法
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
CN111737715A (zh) 一种去中心化的电子合同在线签署的方法及系统
CN115242553B (zh) 一种支持安全多方计算的数据交换方法及系统
Qi et al. Scalable decentralized privacy-preserving usage-based insurance for vehicles
CN104052592B (zh) 一种基于可信计算的密钥备份和迁移方法及系统
CN110708162A (zh) 资源的获取方法、装置、计算机可读介质及电子设备
CN115345618A (zh) 基于混合后量子数字签名的区块链交易验证方法及系统
CN111464298A (zh) 区块链中的数据处理方法、装置和区块链网络
CN104160651A (zh) 拜占庭式容错和阈值硬币投掷
CN111080300A (zh) 基于区块链的资产转移方法、装置及硬件设备
CN115705601A (zh) 数据处理方法、装置、计算机设备及存储介质
CN115409511B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200728

RJ01 Rejection of invention patent application after publication