CN111489159A - 数据处理方法、装置、计算机设备及介质 - Google Patents

数据处理方法、装置、计算机设备及介质 Download PDF

Info

Publication number
CN111489159A
CN111489159A CN202010277117.XA CN202010277117A CN111489159A CN 111489159 A CN111489159 A CN 111489159A CN 202010277117 A CN202010277117 A CN 202010277117A CN 111489159 A CN111489159 A CN 111489159A
Authority
CN
China
Prior art keywords
node
certificate
client
consensus
transaction data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010277117.XA
Other languages
English (en)
Other versions
CN111489159B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010277117.XA priority Critical patent/CN111489159B/zh
Publication of CN111489159A publication Critical patent/CN111489159A/zh
Application granted granted Critical
Publication of CN111489159B publication Critical patent/CN111489159B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures

Abstract

本发明实施例公开了一种数据处理方法、装置、计算机设备及介质,其中方法包括:获取关于业务数据的目标签名信息,所述目标签名信息是由代理节点和客户端对业务数据进行协同签名得到的;获取客户端的客户端证书及代理节点的节点证书;节点证书和客户端证书中包含同一个共享公钥,共享公钥用于验证目标签名信息的有效性;采用业务数据、目标签名信息、节点证书以及客户端证书,生成交易数据;将交易数据广播至区块链网络中的共识节点,使得共识节点对交易数据进行共识,并在交易数据通过共识之后,将交易数据添加至区块链网络的区块链中。采用本发明实施例,可以有效提高数据上传的可靠性和安全性。

Description

数据处理方法、装置、计算机设备及介质
技术领域
本发明涉及互联网技术领域,具体涉及通信计算技术领域,尤其涉及一种基于区块链网络的数据处理方法、一种数据处理装置、一种计算机设备及一种计算机存储介质。
背景技术
随着互联网技术的发展,区块链网络凭借其安全可靠的性能受到了广泛关注。越来越多的个人或企业选择利用客户端将业务数据存储至区块链网络的区块链中,以避免该业务数据被恶意用户盗取。目前,当客户端想要上传业务数据至区块链网络时,通常是先采用客户端的私钥对业务数据进行签名,然后将签名后的业务数据发送给区块链网络中的共识节点;使得共识节点采用客户端的公钥对签名后的业务数据进行验证,并在验证通过后,将该业务数据打包成区块以添加至区块链。经研究表明,现有的数据处理方式较为简单,其可靠性和安全性较低。
发明内容
本发明实施例提供了一种基于区块链网络的数据处理方法、装置、计算机设备及介质,可以有效提高数据上传的可靠性和安全性。
一方面,本发明实施例提供了一种基于区块链网络的数据处理方法,所述方法由所述区块链网络中的代理节点执行,所述代理节点与所述区块链网络外的客户端进行通信;所述方法包括:
获取关于业务数据的目标签名信息,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;
获取所述客户端的客户端证书及所述代理节点的节点证书;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
采用所述业务数据、所述目标签名信息、所述节点证书以及所述客户端证书,生成交易数据;
将所述交易数据广播至所述区块链网络中的共识节点,使得所述共识节点对所述交易数据进行共识,并在所述交易数据通过共识之后,将所述交易数据添加至所述区块链网络的区块链中。
一方面,本发明实施例提供了一种基于区块链网络的数据处理方法,所述区块链网络包括共识节点和代理节点,所述代理节点与所述区块链网络外的客户端进行通信;所述方法由所述共识节点执行,所述方法包括:
接收所述区块链网络中的代理节点发送的交易数据,所述交易数据包括:业务数据、目标签名信息、所述代理节点的节点证书以及所述客户端的客户端证书;其中,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
对所述交易数据进行共识;
若所述交易数据通过共识,则将所述交易数据添加至所述区块链网络的区块链中。
一方面,本发明实施例提供了一种数据处理装置,所述数据处理装置运行于区块链网络中的代理节点中,所述代理节点与所述区块链网络外的客户端进行通信;所述装置包括:
获取单元,用于获取关于业务数据的目标签名信息,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;
所述获取单元,还用于获取所述客户端的客户端证书及所述代理节点的节点证书;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
处理单元,用于采用所述业务数据、所述目标签名信息、所述节点证书以及所述客户端证书,生成交易数据;
广播单元,用于将所述交易数据广播至所述区块链网络中的共识节点,使得所述共识节点对所述交易数据进行共识,并在所述交易数据通过共识之后,将所述交易数据添加至所述区块链网络的区块链中。
一方面,本发明实施例提供了一种数据处理装置,所述数据处理装置运行于区块链网络中的共识节点中;所述区块链网络还包括代理节点,所述代理节点与所述区块链网络外的客户端进行通信;所述装置包括:
接收单元,用于接收所述区块链网络中的代理节点发送的交易数据,所述交易数据包括:业务数据、目标签名信息、所述代理节点的节点证书以及所述客户端的客户端证书;其中,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
共识单元,用于对所述交易数据进行共识;
处理单元,用于若所述交易数据通过共识,则将所述交易数据添加至所述区块链网络的区块链中。
一方面,本发明实施例提供了一种计算机设备,所述计算机设备包括输入接口和输出接口,所述计算机设备还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由所述处理器加载并执行如下步骤:
获取关于业务数据的目标签名信息,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;
获取所述客户端的客户端证书及所述代理节点的节点证书;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
采用所述业务数据、所述目标签名信息、所述节点证书以及所述客户端证书,生成交易数据;
将所述交易数据广播至所述区块链网络中的共识节点,使得所述共识节点对所述交易数据进行共识,并在所述交易数据通过共识之后,将所述交易数据添加至所述区块链网络的区块链中。
或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如下步骤:
接收所述区块链网络中的代理节点发送的交易数据,所述交易数据包括:业务数据、目标签名信息、所述代理节点的节点证书以及所述客户端的客户端证书;其中,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
对所述交易数据进行共识;
若所述交易数据通过共识,则将所述交易数据添加至所述区块链网络的区块链中。
一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行上述的由代理节点所执行的数据处理方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行上述的由共识节点所执行的数据处理方法。
本发明实施例无需进行完整私钥的托管,而是由客户端和代理节点分别保存一部分私钥分量。在提交业务数据至区块链中时,需要客户端和代理节点先采用各自的私钥分量对该业务数据进行协同签名,得到目标签名信息;这样可使得任一方均无法独立完成对业务数据的签名,可有效提高私钥使用的安全性,从而提高数据上传的可靠性和安全性。然后,代理节点可采用业务数据、目标签名信息、节点证书以及客户端证书,生成交易数据;并将交易数据广播至区块链网络中的共识节点,使得共识节点对交易数据进行共识,并在交易数据通过共识之后,将交易数据添加至区块链网络的区块链中。由此可见,本发明实施例中的交易数据中不仅包括了业务数据和目标签名信息,还包括了节点证书和客户端证书;这样可使得共识节点从多个维度(如证书的合法性维度、目标签名信息的有效性维度)对交易数据进行共识,可提高共识结果的准确性,从而进一步提高数据上传的可靠性和安全性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种区块链的结构示意图;
图1b是本发明实施例提供的一种数据处理系统的系统架构图;
图2是本发明实施例提供的一种数据处理方法的流程示意图;
图3是本发明实施例提供的一种数据处理方法的流程示意图;
图4a是本发明实施例提供的一种将交易数据打包成目标区块的示意图;
图4b是本发明实施例提供的一种将目标区块添加至区块链中的示意图;
图5是本发明实施例提供的一种数据处理方法的流程示意图;
图6是本发明实施例提供的一种数据处理装置的结构示意图;
图7是本发明实施例提供的一种数据处理装置的结构示意图;
图8是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
区块链网络是一种由点对点网络(P2P网络)和区块链所构成的网络,其内部可包括多个节点设备(简称节点);所谓的节点是指区块链网络中进行数据处理的计算机设备,其可以包括但不限于:智能终端、平板电脑以及台式计算机等终端设备、运行于终端设备中的APP(application,应用程序)、服务设备(如数据服务器、云服务器)等等。每个节点的内部均存储有一条相同的区块链,此处的区块链是一种分布式数据存储、点对点传输(P2P传输)、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库。
参见图1a所示,一条区块链可由多个区块组成;此处的区块是指用于记录输入信息(如交易数据)的数据结构,所谓的交易数据是指需上传至区块链网络中的任意数据,其并不是指商业化的数据。其中,创始块(即第一个区块)中包括区块头和区块主体,区块头中存储有输入信息的哈希值、随机数、版本号、当前时间戳和当前难度值,区块主体中存储有创世块的输入信息。创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体;其区块头中存储有当前区块的输入信息的哈希值、父区块哈希值、随机数、版本号、当前时间戳和当前难度值,其区块主体中存储有当前区块的输入信息。以此类推,区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,可有效保证区块中输入信息的安全性。其中,版本号是指区块链中相关区块协议的版本信息;父区块哈希值是指上一区块的区块头部的哈希值;当前时间戳是指组成区块头部时的系统时间;当前难度值是指计算的难度值,该难度值在固定时间段内为定值,并在超出固定时间段后再次进行确定。
本发明实施例基于区块链网络提出了一种数据处理系统,如图1b所示。具体的,该数据处理系统可至少包括区块链网络11以及位于区块链网络外的客户端12。其中,区块链网络11中可包括共识节点和代理节点;所谓的共识节点是指区块链网络中可参与共识的节点,代理节点是指区块链网络中可与客户端12进行通信的节点。客户端12可用于和用户进行人机交互,其具体可包括以下任一项:智能终端、平板电脑或台式计算机等终端设备、或者运行于终端设备中的APP,等等。需要说明的是,图1b只是示例性地表征本发明实施例所提出的数据处理系统的系统架构,其并不对该数据处理系统的具体架构进行限定。例如,在图1b中,客户端12与代理节点进行通信;而在实际应用中,客户端12也可与区块链网络11中的共识节点进行通信。又如,区块链网络中除了包括代理节点和共识节点以外,还可包括其他节点(如只提供存储服务的SPV(Simplified Payment Verification,简单支付验证)节点、提供业务处理服务的业务节点),等等。
基于上述的数据处理系统,本发明实施例还提出了一种数据处理方案,以提高将业务数据上传至区块链网络的可靠性和安全性。该数据处理方案的大致原理如下:区块链网络中的代理节点和位于区块链网络外的客户端保留一个相同的共享公钥,并各自保留自身所对应的部分私钥分量。客户端在上传业务数据时,客户端需要先和代理节点采用各自的私钥分量对该业务数据进行协同签名,得到目标签名信息;所谓的协同签名是指由两个或两个以上的参与者采用各自的私钥分量,协同一致地完成对某个数据进行签名的过程。然后,客户端可将自己的客户端证书提供给代理节点;代理节点则可将业务数据、目标签名信息、客户端证书以及节点证书一并提交给共识节点。其中,证书是指一种数字身份标识。相应的,共识节点可对分别采用客户端证书和节点证书对客户端和代理节点进行身份验证,以及采用共享公钥对目标签名信息进行验证;若均验证成功,则将业务数据提交至区块链网络中的区块链中进行存储。
由此可见,在本发明实施例中,客户端只保留一个私钥分量,而不保留完整的私钥,可无需进行完整私钥的托管,可提高私钥的安全性。并且,通过协同签名的方式,可使得任一方均无法独立完成对业务数据的签名,可有效提高私钥使用的安全性,从而提高数据上传的可靠性和安全性。另外,通过将业务数据、目标签名信息、客户端证书以及节点证书一并提交给共识节点,可使得共识节点从多个维度(如证书的合法性维度、目标签名信息的有效性维度)对交易数据进行共识,可提高共识结果的准确性,从而进一步提高数据上传的可靠性和安全性。
基于上述的描述,本发明实施例提出一种基于区块链网络的数据处理方法;该数据处理方法可以由上述所提及区块链网络中的代理节点执行,该代理节点可与区块链网络外的客户端进行通信。请参见图2,该数据处理方法可包括以下步骤S201-S204:
S201,获取关于业务数据的目标签名信息。
其中,目标签名信息是由代理节点和客户端对业务数据进行协同签名得到的。在具体实现中,代理节点和客户端共用一个协同密钥对;协同密钥对可包括第一私钥分量、第二私钥分量以及共享公钥。其中,客户端可持有协同密钥对中的第一私钥分量和共享公钥,代理节点可持有协同密钥对中的第二私钥分量和共享公钥。相应的,步骤S201可至少包括如下两种实施方式:
在一种实施方式中,代理节点可接收客户端发送的业务请求,该业务请求可包括第一签名分量和待处理的业务处理;此处的第一签名分量是由客户端采用第一私钥分量对业务数据进行签名得到的。其次,代理节点可采用第二私钥对该业务数据进行签名。若签名成功,则表明发送业务请求的客户端是预先和代理节点协商过协同密钥对的客户端;在此情况下,代理节点采用第二私钥分量进行签名后可得到一个第二签名分量,即代理节点可获得该第二签名分量;然后,代理节点可整合第一签名分量和第二签名分量,得到关于业务数据的目标签名信息。若签名失败,则表明发送业务请求的客户端不是预先和代理节点协商过协同密钥对的客户端;在此情况下,代理节点可将客户端确定为可疑的客户端,并可向客户端发送提示信息,该提示信息可用于提示以下至少一项内容:协同签名失败,以及客户端需进行身份验证。
应理解的是,当提示信息提示客户端需进行身份认证时,代理节点还可接收客户端发送的认证信息,并采用该认证信息对客户端进行身份认证。此处的认证信息可包括但不限于:客户端的身份标识、使用该客户端的用户的身份标识,等等。若认证通过,则代理节点可和该客户端重新协商一个协同密钥对,并重新接收客户端发送的新的业务请求。其中,新的业务请求包括:业务数据,以及由客户端采用新的协同密钥对中的第一私钥分量对业务数据进行签名所得到的新的第一签名分量。相应的,代理节点可采用新的协同密钥对中的第二私钥分量对该业务数据进行协同签名,得到新的第二签名分量;然后,可整合新的第一签名分量和新的第二签名分量,得到关于业务数据的目标签名信息。
在一种实施方式中,代理节点可先采用第二私钥分量对业务数据进行签名,得到第二签名分量。其次,根据第二签名分量和业务数据生成业务请求,并将业务请求发送至客户端;使得客户端采用第一私钥分量对业务数据进行签名,得到第一签名分量,并整合第一签名分量和第二签名分量得到目标签名信息,以及返回目标签名信息至代理节点。相应的,代理节点可接收客户端返回的目标签名信息。
需要说明的是,协同密钥对可以是由代理节点预先和客户端协商的。那么在执行步骤S201之前,代理节点还可和客户端进行协同密钥对的协商,得到第二私钥分量和共享公钥;相应的,客户端可得到第一私钥分量和共享公钥。另外,代理节点在得到第二私钥分量和共享公钥之后,还可根据共享公钥和代理节点的身份信息,获取代理节点的节点证书,以便于后续可根据该节点证书生成交易数据。在一种实施方式中,代理节点可根据共享公钥和代理节点的身份信息,从证书签发机构申请获取此节点证书;具体如下:代理节点可先根据共享公钥和代理节点的身份信息生成证书签发请求;其次,可将证书签发请求发送至证书签发机构,以请求证书签发机构为代理节点签发节点证书;然后,可接收证书签发机构返回的代理节点的节点证书。在一种实施方式中,代理节点可根据共享公钥和代理节点的身份信息,从区块链网络中申请获取此节点证书;具体如下:代理节点可先根据共享公钥和代理节点的身份信息生成初始证书,并生成携带初始证书的证书共识请求;其次,可将证书共识请求广播至区块链网络中的共识节点,以请求共识节点对初始证书进行共识校验;然后,可接收共识节点返回的共识校验结果;若共识校验结果指示初始证书通过共识,则可将初始证书作为代理节点的节点证书。需要说明的是,在初始证书通过共识后,共识节点便可将此初始证书作为节点证书添加至区块链中进行记录。同理,客户端也可根据共享公钥和客户端的身份信息,从证书签发机构或区块链网络申请获取客户端的客户端证书。
S202,获取客户端的客户端证书及代理节点的节点证书。
其中,节点证书和客户端证书中包含同一个共享公钥,共享公钥用于验证目标签名信息的有效性。在具体实现中,代理节点可预先采用共享公钥和代理节点的身份信息向证书签发机构(如CA中心)或区块链网络申请节点证书,并将申请得到的节点证书存储在代理节点的本地空间中;其中,节点证书可包括共享公钥和代理节点的身份信息。那么,代理节点在通过步骤S202获取代理节点的节点证书时,可直接从代理节点的本地空间中获取该节点证书。同理,客户端也可预先采用共享公钥和客户端的身份信息向证书签发机构或区块链网络申请客户端证书,并将申请得到的客户端证书存储在客户端的本地空间中;其中,客户端证书可包括共享公钥和客户端的身份信息。那么,代理节点在获取客户端的客户端证书时,代理节点可向客户端发送证书获取请求,该证书获取请求用于请求客户端发送客户端的客户端证书;相应的,代理节点可接收客户端发送的客户端证书。
S203,采用业务数据、目标签名信息、节点证书以及客户端证书,生成交易数据。
S204,将交易数据广播至区块链网络中的共识节点。
在步骤S203-S204中,代理节点可先将业务数据、目标签名信息、节点证书以及客户端证书封装成一个交易数据。然后,可将该交易数据广播至区块链网络中的共识节点,使得共识节点对交易数据进行共识,并在交易数据通过共识之后,将交易数据添加至区块链网络的区块链中。
本发明实施例无需进行完整私钥的托管,而是由客户端和代理节点分别保存一部分私钥分量。在提交业务数据至区块链中时,需要客户端和代理节点先采用各自的私钥分量对该业务数据进行协同签名,得到目标签名信息;这样可使得任一方均无法独立完成对业务数据的签名,可有效提高私钥使用的安全性,从而提高数据上传的可靠性和安全性。然后,代理节点可采用业务数据、目标签名信息、节点证书以及客户端证书,生成交易数据;并将交易数据广播至区块链网络中的共识节点,使得共识节点对交易数据进行共识,并在交易数据通过共识之后,将交易数据添加至区块链网络的区块链中。由此可见,本发明实施例中的交易数据中不仅包括了业务数据和目标签名信息,还包括了节点证书和客户端证书;这样可使得共识节点从多个维度(如证书的合法性维度、目标签名信息的有效性维度)对交易数据进行共识,可提高共识结果的准确性,从而进一步提高数据上传的可靠性和安全性。
请参见图3,是本发明实施例提供的一种基于区块链网络的数据处理方法的流程示意图。该数据处理方法可以由上述所提及的区块链网络中的共识节点执行。请参见图3,该数据处理方法可包括以下步骤S301-S303:
S301,接收区块链网络中的代理节点发送的交易数据。
由前述可知,该交易数据可包括:业务数据、目标签名信息、代理节点的节点证书以及客户端的客户端证书。其中,目标签名信息是由代理节点和客户端对业务数据进行协同签名得到的;节点证书和客户端证书中包含同一个共享公钥,共享公钥用于验证目标签名信息的有效性。
S302,对交易数据进行共识。
共识节点在接收到代理节点发送的交易数据后,便可对该交易数据进行共识。在具体实现中,共识节点可先校验交易数据中的节点证书的合法性,以及客户端证书的合法性。由于校验节点证书的合法性的原理和校验客户端证书的合法性的原理类似,因此本发明实施例以校验节点证书的合法性为例进行阐述。具体的,若节点证书是代理节点从区块链网络处申请的,则共识节点可检测区块链中是否记录有此节点证书;若记录了,则确定节点证书通过合法性校验;否则,则确定节点证书未通过合法性校验。若节点证书是代理节点从证书签发机构处申请的,则由于证书签发机构在签发该节点证书时,会采用根证书对该节点证书进行签名;所谓的根证书是指证书签发机构通过自签名的方式为自己(即证书签发机构)所签发的证书。那么共识节点可获取根证书,并采用根证书对该节点证书进行验证;若验证成功,则确定节点证书通过合法性校验;否则,则确定节点证书未通过合法性校验。
若节点证书和客户端证书均通过合法性校验,则共识节点可从节点证书或者客户端证书中提取出共享公钥,并采用共享公钥对目标签名信息的有效性进行验证。具体的,可调用密钥算法根据共享公钥对目标签名信息进行解密,若解密成功,则可确定目标签名信息通过有效性验证;否则,则可确定目标签名信息未通过有效性验证。相应的,若目标签名信息通过验证,则可确定交易数据通过共识;否则,则确定交易数据未通过共识。应理解的是,若区块链网络中只包含一个共识节点,则该共识节点在确定目标签名信息通过验证后,便可直接确定交易数据通过共识。若区块链网络中包含多个共识节点,则这多个共识节点可根据自身对目标签名信息的有效性校验结果,先对该交易数据是否通过共识进行投票;然后,根据各个共识节点的投票结果(如“支持此交易数据通过共识”或“反对此交易数据通过共识”)来最终确定交易数据是否通过共识。若大部分的共识节点(如2/3的共识节点)的投票结果均为“支持此交易数据通过共识”,则可确定交易数据通过共识。
S303,若交易数据通过共识,则将交易数据添加至区块链网络的区块链中。
在具体实施过程中,若交易数据通过共识,则可先将交易数据打包成目标区块。其中,将交易数据打包成目标区块的具体流程如下:共识节点可将交易数据添加至目标区块的区块主体中,如图4a所示。可选的,共识节点还可对交易数据进行签名,得到共识节点的签名信息;并将共识节点的签名信息和交易数据一并添加至目标区块的区块主体中。其次,共识节点可采用默克尔树算法(Merkle Tree算法)对区块主体中的交易数据进行哈希运算,得到交易数据的哈希值。然后,共识节点可采用随机算法生成一个随机数,并采用计算得到的交易数据的哈希值、随机数、版本号、父区块哈希值、当前时间戳以及当前难度值组成目标区块的区块头部。并可采用特征值算法(如SHA256算法)对区块头部所包含的内容进行多次哈希运算,得到目标区块的区块头部的哈希值;此处的哈希运算的次数可根据计算难度确定,计算难度越大,哈希运算的次数越多。若目标区块的区块头部的哈希值小于预设阈值,则表明目标区块的区块头部是有效的,此时便可得到有效的目标区块。若目标区块的区块头部的特征值不小于预设阈值,则表明目标区块的区块头部是无效的;此时需要跳转至“采用随机算法生成一个随机数”的步骤,直至生成有效的区块头部。在得到目标区块之后,共识节点可将目标区块添加至区块链网络的区块链中,如图4b所示。
本发明实施例无需进行完整私钥的托管,而是由客户端和代理节点分别保存一部分私钥分量。在提交业务数据至区块链中时,需要客户端和代理节点先采用各自的私钥分量对该业务数据进行协同签名,得到目标签名信息;这样可使得任一方均无法独立完成对业务数据的签名,可有效提高私钥使用的安全性,从而提高数据上传的可靠性和安全性。然后,代理节点可采用业务数据、目标签名信息、节点证书以及客户端证书,生成交易数据;并将交易数据广播至区块链网络中的共识节点,使得共识节点对交易数据进行共识,并在交易数据通过共识之后,将交易数据添加至区块链网络的区块链中。由此可见,本发明实施例中的交易数据中不仅包括了业务数据和目标签名信息,还包括了节点证书和客户端证书;这样可使得共识节点从多个维度(如证书的合法性维度、目标签名信息的有效性维度)对交易数据进行共识,可提高共识结果的准确性,从而进一步提高数据上传的可靠性和安全性。
基于上述描述,本发明实施例还提供了一种基于区块链网络的数据处理方法的流程示意图。请参见图5,该数据处理方法可包括以下步骤S501-S511:
S501,代理节点获取关于业务数据的目标签名信息,该目标签名信息是由代理节点和客户端对业务数据进行协同签名得到的。
S502,代理节点获取客户端的客户端证书及代理节点的节点证书。
S503,代理节点采用业务数据、目标签名信息、节点证书以及客户端证书,生成交易数据。
S504,代理节点将交易数据广播至区块链网络中的共识节点。
需要说明的是,步骤S501-S504的具体实施方式可以参见上述发明实施例中的步骤S201-S204,本发明实施例在此不再赘述。代理节点将交易数据广播给共识节点后,共识节点便可接收区块链网络中的代理节点发送的交易数据,并执行如下步骤S505-S508:
S505,共识节点对交易数据进行共识。
S506,若交易数据通过共识,则共识节点将交易数据添加至区块链网络的区块链中。
S507,若交易数据未通过共识,则共识节点根据客户端证书和节点证书确定出责任方。
其中,责任方可包括:客户端、代理节点,或者客户端和代理节点。在具体实现中,若交易数据未通过共识,则可能存在以下两种情况:第一种情况是节点证书和/或客户端证书未通过合法性校验;第二种情况是目标签名信息未通过有效性验证。那么,共识节点在根据客户端证书和节点证书确定出责任方时,可先确定交易数据未通过共识的原因。若是由于第一种情况而导致交易数据未通过共识的,则共识节点可进一步从客户端证书和节点证书中确定出未通过合法性校验的目标证书,并根据目标证书确定出责任方。具体的,若目标证书包括客户端证书,则可将客户端确定为责任方;若目标证书包括节点证书,则可将代理节点确定为责任方;若目标证书包括客户端证书和节点证书,则可将客户端和代理节点均作为责任方。若是由于第二种情况而导致交易数据未通过共识的,则共识节点可直接将客户端和代理节点均作为责任方。
S508,共识节点采用惩罚措施对责任方进行惩罚处理,并向责任方发送惩罚通知。
其中,惩罚通知可携带惩罚措施,该惩罚措施可包括以下至少一项:在预设时间段内拒绝接收责任方所发送的任一数据,或者对责任方的惩罚标记进行加一处理,使得当惩罚标记的数值大于预设数值时,则可将责任方添加至区块链网络的黑名单中。可选的,若责任方包括代理节点,则代理节点还可执行步骤S509-S511:
S509,代理节点接收共识节点返回的惩罚通知,惩罚通知是由共识节点在确定交易数据未通过共识,且确定责任方包括代理节点后发送的。
S510,当欲向共识节点发送新的交易数据时,代理节点根据惩罚措施确定代理节点的当前状态。
此处的当前状态可包括:仍处于被惩罚的惩罚状态,或者已结束惩罚的非惩罚状态。具体的,若惩罚措施包括:对责任方的惩罚标记进行加一处理;则步骤S510的具体实施方式可以是:代理节点可检测惩罚标记的数值是否大于预设数值;若大于,则可确定代理节点的当前状态为仍处于被惩罚的惩罚状态;否则,则可确定代理节点的当前状态为已结束惩罚的非惩罚状态。若惩罚措施包括:在预设时间段内拒绝接收责任方所发送的任一数据;则步骤S510的具体实施方式可包括以下任一种实施方式:
实施方式一:预设时间段包括惩罚开始时间(即共识节点执行惩罚处理的时间)和惩罚结束时间;则代理节点可确定欲发送新的交易数据的当前时间;若当前时间晚于惩罚结束时间,则可确定代理节点的当前状态为已结束惩罚的非惩罚状态;否则,则确定代理节点的当前状态为仍处于被惩罚的惩罚状态。实施方式二:预设时间段为一个惩罚时长,则代理节点可确定接收到惩罚通知时的历史时间,以及欲发送新的交易数据的当前时间;然后计算当前时间和历史时间之间的间隔时长,若该间隔时长大于惩罚时长,则可确定代理节点的当前状态为已结束惩罚的非惩罚状态;否则,则确定代理节点的当前状态为仍处于被惩罚的惩罚状态。当确定当前状态为非惩罚状态时,代理节点可执行步骤S511,向共识节点发送新的交易数据。当确定当前状态为惩罚状态时,代理节点便可取消新的交易数据的发送,以节省处理资源的浪费。S511,若当前状态为非惩罚状态,则向共识节点发送新的交易数据。
本发明实施例无需进行完整私钥的托管,而是由客户端和代理节点分别保存一部分私钥分量。在提交业务数据至区块链中时,需要客户端和代理节点先采用各自的私钥分量对该业务数据进行协同签名,得到目标签名信息;这样可使得任一方均无法独立完成对业务数据的签名,可有效提高私钥使用的安全性,从而提高数据上传的可靠性和安全性。然后,代理节点可采用业务数据、目标签名信息、节点证书以及客户端证书,生成交易数据;并将交易数据广播至区块链网络中的共识节点,使得共识节点对交易数据进行共识,并在交易数据通过共识之后,将交易数据添加至区块链网络的区块链中。由此可见,本发明实施例中的交易数据中不仅包括了业务数据和目标签名信息,还包括了节点证书和客户端证书;这样可使得共识节点从多个维度(如证书的合法性维度、目标签名信息的有效性维度)对交易数据进行共识,可提高共识结果的准确性,从而进一步提高数据上传的可靠性和安全性。
基于上述数据处理方法实施例的描述,本发明实施例还公开了一种数据处理装置;所述数据处理装置可以是运行于区块链网络中的代理节点中的一个计算机程序(包括程序代码),所述代理节点与所述区块链网络外的客户端进行通信。该数据处理装置可以执行图2或图5所示的部分方法步骤;请参见图6,所述数据处理装置可以运行如下单元:
获取单元601,用于获取关于业务数据的目标签名信息,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;
所述获取单元601,还用于获取所述客户端的客户端证书及所述代理节点的节点证书;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
处理单元602,用于采用所述业务数据、所述目标签名信息、所述节点证书以及所述客户端证书,生成交易数据;
广播单元603,用于将所述交易数据广播至所述区块链网络中的共识节点,使得所述共识节点对所述交易数据进行共识,并在所述交易数据通过共识之后,将所述交易数据添加至所述区块链网络的区块链中。
在一种实施方式中,所述代理节点和所述客户端共用一个协同密钥对,所述协同密钥对包括第一私钥分量、第二私钥分量以及所述共享公钥;相应的,获取单元601在用于获取关于业务数据的目标签名信息时,可具体用于:接收所述客户端发送的业务请求,所述业务请求包括第一签名分量和待处理的业务数据,所述第一签名分量是由所述客户端采用所述第一私钥分量对所述业务数据进行签名得到的;采用所述第二私钥分量对所述业务数据进行签名;若签名成功,则获得第二签名分量;整合所述第一签名分量和所述第二签名分量,得到关于所述业务数据的目标签名信息。
在一种实施方式中,处理单元602还可用于:若签名失败,则将所述客户端确定为可疑的客户端;向所述客户端发送提示信息,所述提示信息用于提示以下至少一项内容:协同签名失败,以及所述客户端需进行身份验证。
在一种实施方式中,处理单元602还可用于:和所述客户端进行协同密钥对的协商,得到所述第二私钥分量和所述共享公钥;获取单元601还可用于:根据所述共享公钥和所述代理节点的身份信息,获取所述代理节点的节点证书;其中,所述节点证书包括所述共享公钥和所述代理节点的身份信息。
在一种实施方式中,获取单元601在用于根据所述共享公钥和所述代理节点的身份信息,获取所述代理节点的节点证书时,可具体用于:根据所述共享公钥和所述代理节点的身份信息生成证书签发请求;将所述证书签发请求发送至证书签发机构,以请求所述证书签发机构为所述代理节点签发节点证书;接收所述证书签发机构返回的所述代理节点的节点证书。
在一种实施方式中,获取单元601在用于根据所述共享公钥和所述代理节点的身份信息,获取所述代理节点的节点证书时,可具体用于:根据所述共享公钥和所述代理节点的身份信息生成初始证书,并生成携带所述初始证书的证书共识请求;将所述证书共识请求广播至所述区块链网络中的共识节点,以请求所述共识节点对所述初始证书进行共识校验;接收所述共识节点返回的共识校验结果;若所述共识校验结果指示所述初始证书通过共识,则将所述初始证书作为所述代理节点的节点证书。
在一种实施方式中,获取单元601在用于获取所述客户端的客户端证书时,可具体用于:向客户端发送证书获取请求,所述证书获取请求用于请求所述客户端发送所述客户端的客户端证书;接收所述客户端发送的客户端证书,所述客户端证书包括所述客户端的身份信息和所述共享公钥。
在一种实施方式中,处理单元602还可用于:接收所述共识节点返回的惩罚通知,所述惩罚通知是由所述共识节点在确定所述交易数据未通过共识,且确定责任方包括所述代理节点后发送的;所述惩罚通知携带惩罚措施;当欲向所述共识节点发送新的交易数据时,根据所述惩罚措施确定所述代理节点的当前状态,所述当前状态包括:仍处于被惩罚的惩罚状态,或者已结束惩罚的非惩罚状态;若所述当前状态为所述非惩罚状态,则向所述共识节点发送所述新的交易数据。
根据本发明的一个实施例,图2或图5所示的方法所涉及的部分步骤可以是由图6所示的数据处理装置中的各个单元来执行的。例如,图2中所示的步骤S201和S202可由图6中所示的获取单元601来执行,步骤S203和S204可由图6中所示的处理单元602和广播单元603来执行;又如,图5中所示的步骤S501和S502可由图6中所示的获取单元601来执行,步骤S503和步骤S509-S511可由图6中所示的处理单元602来执行,步骤S504可由图6中所示的广播单元603来执行。
根据本发明的另一个实施例,图6所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图5中所示的相应方法所涉及的部分步骤的计算机程序(包括程序代码),来构造如图6中所示的数据处理装置设备,以及来实现本发明实施例的数据处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例无需进行完整私钥的托管,而是由客户端和代理节点分别保存一部分私钥分量。在提交业务数据至区块链中时,需要客户端和代理节点先采用各自的私钥分量对该业务数据进行协同签名,得到目标签名信息;这样可使得任一方均无法独立完成对业务数据的签名,可有效提高私钥使用的安全性,从而提高数据上传的可靠性和安全性。然后,代理节点可采用业务数据、目标签名信息、节点证书以及客户端证书,生成交易数据;并将交易数据广播至区块链网络中的共识节点,使得共识节点对交易数据进行共识,并在交易数据通过共识之后,将交易数据添加至区块链网络的区块链中。由此可见,本发明实施例中的交易数据中不仅包括了业务数据和目标签名信息,还包括了节点证书和客户端证书;这样可使得共识节点从多个维度(如证书的合法性维度、目标签名信息的有效性维度)对交易数据进行共识,可提高共识结果的准确性,从而进一步提高数据上传的可靠性和安全性。
基于上述数据处理方法实施例的描述,本发明实施例还公开了一种数据处理装置;所述数据处理装置可以是运行于区块链网络中的共识节点中的一个计算机程序(包括程序代码),所述区块链网络还包括代理节点,所述代理节点与所述区块链网络外的客户端进行通信。该数据处理装置可以执行图3或图5所示的部分方法步骤;请参见图7,所述数据处理装置可以运行如下单元:
接收单元701,用于接收所述区块链网络中的代理节点发送的交易数据,所述交易数据包括:业务数据、目标签名信息、所述代理节点的节点证书以及所述客户端的客户端证书;其中,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
共识单元702,用于对所述交易数据进行共识;
处理单元703,用于若所述交易数据通过共识,则将所述交易数据添加至所述区块链网络的区块链中。
在一种实施方式中,共识单元702在用于对所述交易数据进行共识时,可具体用于:校验所述交易数据中的所述节点证书的合法性,以及所述客户端证书的合法性;若所述节点证书和所述客户端证书均通过合法性校验,则从所述节点证书或者所述客户端证书中提取出所述共享公钥,并采用所述共享公钥对所述目标签名信息的有效性进行验证;若所述目标签名信息通过有效性验证,则确定所述交易数据通过共识;否则,则确定所述交易数据未通过共识。
在一种实施方式中,处理单元703还可用于:若所述交易数据未通过共识,则根据所述客户端证书和所述节点证书确定出责任方;所述责任方包括:所述客户端、所述代理节点,或者所述客户端和所述代理节点;采用惩罚措施对所述责任方进行惩罚处理,并向所述责任方发送惩罚通知;其中,所述惩罚通知携带所述惩罚措施,所述惩罚措施包括以下至少一项:在预设时间段内拒绝接收所述责任方所发送的任一数据,或者对所述责任方的惩罚标记进行加一处理。
根据本发明的一个实施例,图3或图5所示的方法所涉及的部分步骤可以是由图7所示的数据处理装置中的各个单元来执行的。例如,图3中所示的步骤S301和S303可分别由图7中所示的接收单元701、共识单元702以及处理单元703来执行;又如,图5中所示的步骤S505可由图7中所示的共识单元702来执行,图5中所示的步骤S506-S508可由图7中所示的处理单元703来执行。
根据本发明的另一个实施例,图7所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图3或图5中所示的相应方法所涉及的部分步骤的计算机程序(包括程序代码),来构造如图7中所示的数据处理装置设备,以及来实现本发明实施例的数据处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例无需进行完整私钥的托管,而是由客户端和代理节点分别保存一部分私钥分量。在提交业务数据至区块链中时,需要客户端和代理节点先采用各自的私钥分量对该业务数据进行协同签名,得到目标签名信息;这样可使得任一方均无法独立完成对业务数据的签名,可有效提高私钥使用的安全性,从而提高数据上传的可靠性和安全性。然后,代理节点可采用业务数据、目标签名信息、节点证书以及客户端证书,生成交易数据;并将交易数据广播至区块链网络中的共识节点,使得共识节点对交易数据进行共识,并在交易数据通过共识之后,将交易数据添加至区块链网络的区块链中。由此可见,本发明实施例中的交易数据中不仅包括了业务数据和目标签名信息,还包括了节点证书和客户端证书;这样可使得共识节点从多个维度(如证书的合法性维度、目标签名信息的有效性维度)对交易数据进行共识,可提高共识结果的准确性,从而进一步提高数据上传的可靠性和安全性。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种计算机设备;该计算机设备可以是上述所提及的区块链网络中的代理节点,或者可以是上述所提及的区块链网络中的共识节点。请参见图8,该计算机设备至少包括处理器801、输入接口802、输出接口803以及计算机存储介质804。其中,计算机设备内的处理器801、输入接口802、输出接口803以及计算机存储介质804可通过总线或其他方式连接。
计算机存储介质804可以存储在计算机设备的存储器中,所述计算机存储介质804用于存储计算机程序,所述计算机程序包括程序指令,所述处理器201用于执行所述计算机存储介质804存储的程序指令。处理器801(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。在一个实施例中,本发明实施例所述的处理器801可以用于被代理节点控制进行一系列的数据处理,包括:获取关于业务数据的目标签名信息;获取所述客户端的客户端证书及所述代理节点的节点证书;所述节点证书和所述客户端证书中包含同一个共享公钥;采用所述业务数据、所述目标签名信息、所述节点证书以及所述客户端证书,生成交易数据;将所述交易数据广播至所述区块链网络中的共识节点,使得所述共识节点对所述交易数据进行共识,并在所述交易数据通过共识之后,将所述交易数据添加至所述区块链网络的区块链中,等等。
再一个实施例中,本发明实施例所述的处理器801可以用于被共识节点控制进行一系列的数据处理,包括:接收所述区块链网络中的代理节点发送的交易数据,所述交易数据包括:业务数据、目标签名信息、所述代理节点的节点证书以及所述客户端的客户端证书;所述节点证书和所述客户端证书中包含同一个共享公钥;对所述交易数据进行共识;若所述交易数据通过共识,则将所述交易数据添加至所述区块链网络的区块链中,等等。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器801加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,其还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,若计算机设备为上述所提及的区块链网络中的代理节点,则该计算机存储介质中可存储有一条或多条第一指令;且可由处理器801加载并执行计算机存储介质中存放的一条或多条第一指令,以实现上述有关数据处理实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多第一条指令由处理器801加载并执行如下步骤:
获取关于业务数据的目标签名信息,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;
获取所述客户端的客户端证书及所述代理节点的节点证书;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
采用所述业务数据、所述目标签名信息、所述节点证书以及所述客户端证书,生成交易数据;
将所述交易数据广播至所述区块链网络中的共识节点,使得所述共识节点对所述交易数据进行共识,并在所述交易数据通过共识之后,将所述交易数据添加至所述区块链网络的区块链中。
在一种实施方式中,所述代理节点和所述客户端共用一个协同密钥对,所述协同密钥对包括第一私钥分量、第二私钥分量以及所述共享公钥;相应的,在获取关于业务数据的目标签名信息时,所述一条或多条第一指令由处理器801加载并具体执行:接收所述客户端发送的业务请求,所述业务请求包括第一签名分量和待处理的业务数据,所述第一签名分量是由所述客户端采用所述第一私钥分量对所述业务数据进行签名得到的;采用所述第二私钥分量对所述业务数据进行签名;若签名成功,则获得第二签名分量;整合所述第一签名分量和所述第二签名分量,得到关于所述业务数据的目标签名信息。
在一种实施方式中,所述一条或多条第一指令还可由处理器801加载并具体执行:若签名失败,则将所述客户端确定为可疑的客户端;向所述客户端发送提示信息,所述提示信息用于提示以下至少一项内容:协同签名失败,以及所述客户端需进行身份验证。
在一种实施方式中,所述一条或多条第一指令还可由处理器801加载并具体执行:和所述客户端进行协同密钥对的协商,得到所述第二私钥分量和所述共享公钥;根据所述共享公钥和所述代理节点的身份信息,获取所述代理节点的节点证书;其中,所述节点证书包括所述共享公钥和所述代理节点的身份信息。
在一种实施方式中,在根据所述共享公钥和所述代理节点的身份信息,获取所述代理节点的节点证书时,所述一条或多条第一指令由处理器801加载并具体执行:根据所述共享公钥和所述代理节点的身份信息生成证书签发请求;将所述证书签发请求发送至证书签发机构,以请求所述证书签发机构为所述代理节点签发节点证书;接收所述证书签发机构返回的所述代理节点的节点证书。
在一种实施方式中,在根据所述共享公钥和所述代理节点的身份信息,获取所述代理节点的节点证书时,所述一条或多条第一指令还可由处理器801加载并具体执行:根据所述共享公钥和所述代理节点的身份信息生成初始证书,并生成携带所述初始证书的证书共识请求;将所述证书共识请求广播至所述区块链网络中的共识节点,以请求所述共识节点对所述初始证书进行共识校验;接收所述共识节点返回的共识校验结果;若所述共识校验结果指示所述初始证书通过共识,则将所述初始证书作为所述代理节点的节点证书。
在一种实施方式中,在获取所述客户端的客户端证书时,所述一条或多条第一指令由处理器801加载并具体执行:向客户端发送证书获取请求,所述证书获取请求用于请求所述客户端发送所述客户端的客户端证书;接收所述客户端发送的客户端证书,所述客户端证书包括所述客户端的身份信息和所述共享公钥。
在一种实施方式中,所述一条或多条第一指令由处理器801加载并具体执行:接收所述共识节点返回的惩罚通知,所述惩罚通知是由所述共识节点在确定所述交易数据未通过共识,且确定责任方包括所述代理节点后发送的;所述惩罚通知携带惩罚措施;当欲向所述共识节点发送新的交易数据时,根据所述惩罚措施确定所述代理节点的当前状态,所述当前状态包括:仍处于被惩罚的惩罚状态,或者已结束惩罚的非惩罚状态;若所述当前状态为所述非惩罚状态,则向所述共识节点发送所述新的交易数据。
在一个实施例中,若计算机设备为上述所提及的区块链网络中的共识节点,则该计算机存储介质中可存储有一条或多条第二指令;且可由处理器801加载并执行计算机存储介质中存放的一条或多条第二指令,以实现上述有关数据处理实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多第二条指令由处理器801加载并执行如下步骤:
接收所述区块链网络中的代理节点发送的交易数据,所述交易数据包括:业务数据、目标签名信息、所述代理节点的节点证书以及所述客户端的客户端证书;其中,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
对所述交易数据进行共识;
若所述交易数据通过共识,则将所述交易数据添加至所述区块链网络的区块链中。
在一种实施方式中,在对所述交易数据进行共识时,所述一条或多条第二指令由处理器801加载并具体执行:校验所述交易数据中的所述节点证书的合法性,以及所述客户端证书的合法性;若所述节点证书和所述客户端证书均通过合法性校验,则从所述节点证书或者所述客户端证书中提取出所述共享公钥,并采用所述共享公钥对所述目标签名信息的有效性进行验证;若所述目标签名信息通过有效性验证,则确定所述交易数据通过共识;否则,则确定所述交易数据未通过共识。
在一种实施方式中,所述一条或多条第二指令还可由处理器801加载并具体执行:若所述交易数据未通过共识,则根据所述客户端证书和所述节点证书确定出责任方;所述责任方包括:所述客户端、所述代理节点,或者所述客户端和所述代理节点;采用惩罚措施对所述责任方进行惩罚处理,并向所述责任方发送惩罚通知;其中,所述惩罚通知携带所述惩罚措施,所述惩罚措施包括以下至少一项:在预设时间段内拒绝接收所述责任方所发送的任一数据,或者对所述责任方的惩罚标记进行加一处理。
本发明实施例无需进行完整私钥的托管,而是由客户端和代理节点分别保存一部分私钥分量。在提交业务数据至区块链中时,需要客户端和代理节点先采用各自的私钥分量对该业务数据进行协同签名,得到目标签名信息;这样可使得任一方均无法独立完成对业务数据的签名,可有效提高私钥使用的安全性,从而提高数据上传的可靠性和安全性。然后,代理节点可采用业务数据、目标签名信息、节点证书以及客户端证书,生成交易数据;并将交易数据广播至区块链网络中的共识节点,使得共识节点对交易数据进行共识,并在交易数据通过共识之后,将交易数据添加至区块链网络的区块链中。由此可见,本发明实施例中的交易数据中不仅包括了业务数据和目标签名信息,还包括了节点证书和客户端证书;这样可使得共识节点从多个维度(如证书的合法性维度、目标签名信息的有效性维度)对交易数据进行共识,可提高共识结果的准确性,从而进一步提高数据上传的可靠性和安全性。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (15)

1.一种基于区块链网络的数据处理方法,其特征在于,所述方法由所述区块链网络中的代理节点执行,所述代理节点与所述区块链网络外的客户端进行通信;所述方法包括:
获取关于业务数据的目标签名信息,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;
获取所述客户端的客户端证书及所述代理节点的节点证书;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
采用所述业务数据、所述目标签名信息、所述节点证书以及所述客户端证书,生成交易数据;
将所述交易数据广播至所述区块链网络中的共识节点,使得所述共识节点对所述交易数据进行共识,并在所述交易数据通过共识之后,将所述交易数据添加至所述区块链网络的区块链中。
2.如权利要求1所述的方法,其特征在于,所述代理节点和所述客户端共用一个协同密钥对,所述协同密钥对包括第一私钥分量、第二私钥分量以及所述共享公钥;所述获取关于业务数据的目标签名信息,包括:
接收所述客户端发送的业务请求,所述业务请求包括第一签名分量和待处理的业务数据,所述第一签名分量是由所述客户端采用所述第一私钥分量对所述业务数据进行签名得到的;
采用所述第二私钥分量对所述业务数据进行签名;
若签名成功,则获得第二签名分量;
整合所述第一签名分量和所述第二签名分量,得到关于所述业务数据的目标签名信息。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
若签名失败,则将所述客户端确定为可疑的客户端;
向所述客户端发送提示信息,所述提示信息用于提示以下至少一项内容:协同签名失败,以及所述客户端需进行身份验证。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
和所述客户端进行协同密钥对的协商,得到所述第二私钥分量和所述共享公钥;
根据所述共享公钥和所述代理节点的身份信息,获取所述代理节点的节点证书;其中,所述节点证书包括所述共享公钥和所述代理节点的身份信息。
5.如权利要求4所述的方法,其特征在于,所述根据所述共享公钥和所述代理节点的身份信息,获取所述代理节点的节点证书,包括:
根据所述共享公钥和所述代理节点的身份信息生成证书签发请求;
将所述证书签发请求发送至证书签发机构,以请求所述证书签发机构为所述代理节点签发节点证书;
接收所述证书签发机构返回的所述代理节点的节点证书。
6.如权利要求5所述的方法,其特征在于,所述根据所述共享公钥和所述代理节点的身份信息,获取所述代理节点的节点证书,包括:
根据所述共享公钥和所述代理节点的身份信息生成初始证书,并生成携带所述初始证书的证书共识请求;
将所述证书共识请求广播至所述区块链网络中的共识节点,以请求所述共识节点对所述初始证书进行共识校验;
接收所述共识节点返回的共识校验结果;若所述共识校验结果指示所述初始证书通过共识,则将所述初始证书作为所述代理节点的节点证书。
7.如权利要求1所述的方法,其特征在于,所述获取所述客户端的客户端证书,包括:
向客户端发送证书获取请求,所述证书获取请求用于请求所述客户端发送所述客户端的客户端证书;
接收所述客户端发送的客户端证书,所述客户端证书包括所述客户端的身份信息和所述共享公钥。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述共识节点返回的惩罚通知,所述惩罚通知是由所述共识节点在确定所述交易数据未通过共识,且确定责任方包括所述代理节点后发送的;所述惩罚通知携带惩罚措施;
当欲向所述共识节点发送新的交易数据时,根据所述惩罚措施确定所述代理节点的当前状态,所述当前状态包括:仍处于被惩罚的惩罚状态,或者已结束惩罚的非惩罚状态;
若所述当前状态为所述非惩罚状态,则向所述共识节点发送所述新的交易数据。
9.一种基于区块链网络的数据处理方法,其特征在于,所述区块链网络包括共识节点和代理节点,所述代理节点与所述区块链网络外的客户端进行通信;所述方法由所述共识节点执行,所述方法包括:
接收所述区块链网络中的代理节点发送的交易数据,所述交易数据包括:业务数据、目标签名信息、所述代理节点的节点证书以及所述客户端的客户端证书;其中,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
对所述交易数据进行共识;
若所述交易数据通过共识,则将所述交易数据添加至所述区块链网络的区块链中。
10.如权利要求9所述的方法,其特征在于,所述对所述交易数据进行共识,包括:
校验所述交易数据中的所述节点证书的合法性,以及所述客户端证书的合法性;
若所述节点证书和所述客户端证书均通过合法性校验,则从所述节点证书或者所述客户端证书中提取出所述共享公钥,并采用所述共享公钥对所述目标签名信息的有效性进行验证;
若所述目标签名信息通过有效性验证,则确定所述交易数据通过共识;否则,则确定所述交易数据未通过共识。
11.如权利要求9或10所述的方法,其特征在于,所述方法还包括:
若所述交易数据未通过共识,则根据所述客户端证书和所述节点证书确定出责任方;所述责任方包括:所述客户端、所述代理节点,或者所述客户端和所述代理节点;
采用惩罚措施对所述责任方进行惩罚处理,并向所述责任方发送惩罚通知;其中,所述惩罚通知携带所述惩罚措施,所述惩罚措施包括以下至少一项:在预设时间段内拒绝接收所述责任方所发送的任一数据,或者对所述责任方的惩罚标记进行加一处理。
12.一种数据处理装置,其特征在于,所述数据处理装置运行于区块链网络中的代理节点中,所述代理节点与所述区块链网络外的客户端进行通信;所述装置包括:
获取单元,用于获取关于业务数据的目标签名信息,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;
所述获取单元,还用于获取所述客户端的客户端证书及所述代理节点的节点证书;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
处理单元,用于采用所述业务数据、所述目标签名信息、所述节点证书以及所述客户端证书,生成交易数据;
广播单元,用于将所述交易数据广播至所述区块链网络中的共识节点,使得所述共识节点对所述交易数据进行共识,并在所述交易数据通过共识之后,将所述交易数据添加至所述区块链网络的区块链中。
13.一种数据处理装置,其特征在于,所述数据处理装置运行于区块链网络中的共识节点中;所述区块链网络还包括代理节点,所述代理节点与所述区块链网络外的客户端进行通信;所述装置包括:
接收单元,用于接收所述区块链网络中的代理节点发送的交易数据,所述交易数据包括:业务数据、目标签名信息、所述代理节点的节点证书以及所述客户端的客户端证书;其中,所述目标签名信息是由所述代理节点和所述客户端对所述业务数据进行协同签名得到的;所述节点证书和所述客户端证书中包含同一个共享公钥,所述共享公钥用于验证所述目标签名信息的有效性;
共识单元,用于对所述交易数据进行共识;
处理单元,用于若所述交易数据通过共识,则将所述交易数据添加至所述区块链网络的区块链中。
14.一种计算机设备,包括输入接口和输出接口,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由所述处理器加载并执行如权利要求1-8任一项所述的基于区块链网络的数据处理方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如权利要求9-11任一项所述的基于区块链网络的数据处理方法。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行如权利要求1-8任一项所述的基于区块链网络的数据处理方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如权利要求9-11任一项所述的基于区块链网络的数据处理方法。
CN202010277117.XA 2020-04-09 2020-04-09 数据处理方法、装置、计算机设备及介质 Active CN111489159B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010277117.XA CN111489159B (zh) 2020-04-09 2020-04-09 数据处理方法、装置、计算机设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010277117.XA CN111489159B (zh) 2020-04-09 2020-04-09 数据处理方法、装置、计算机设备及介质

Publications (2)

Publication Number Publication Date
CN111489159A true CN111489159A (zh) 2020-08-04
CN111489159B CN111489159B (zh) 2024-03-15

Family

ID=71798738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010277117.XA Active CN111489159B (zh) 2020-04-09 2020-04-09 数据处理方法、装置、计算机设备及介质

Country Status (1)

Country Link
CN (1) CN111489159B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112529707A (zh) * 2020-12-15 2021-03-19 从法信息科技有限公司 基于实例选举共识的交易上链防错方法、装置和电子设备
CN112685505A (zh) * 2021-01-07 2021-04-20 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、计算机设备及存储介质
CN112749968A (zh) * 2021-01-29 2021-05-04 支付宝实验室(新加坡)有限公司 基于区块链的业务数据记录方法及装置
CN113206851A (zh) * 2021-05-06 2021-08-03 杭州复杂美科技有限公司 平行链共识方法、计算机设备和存储介质
CN113347182A (zh) * 2021-06-01 2021-09-03 永旗(北京)科技有限公司 一种区块链节点的交易共识方法
WO2021203853A1 (zh) * 2020-04-09 2021-10-14 腾讯科技(深圳)有限公司 密钥生成方法、装置、设备及介质
CN113746923A (zh) * 2021-09-03 2021-12-03 杭州复杂美科技有限公司 代理打包方法、计算机设备和存储介质
CN114221759A (zh) * 2021-11-29 2022-03-22 成都卫士通信息产业股份有限公司 一种远程监控部署方法、装置、电子设备及存储介质
CN117689476A (zh) * 2024-01-26 2024-03-12 北京擘盒科技有限公司 一种区块链交易处理方法、系统、计算机设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231681A (zh) * 2007-01-25 2008-07-30 乐金电子(昆山)电脑有限公司 系统认证装置及其方法
CN106533675A (zh) * 2016-12-19 2017-03-22 北京洋浦伟业科技发展有限公司 数字签名方法及系统
CN107612934A (zh) * 2017-10-24 2018-01-19 济南浪潮高新科技投资发展有限公司 一种基于密钥分割的区块链移动端计算系统和方法
CN109635585A (zh) * 2018-12-07 2019-04-16 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、代理节点和介质
CA3041159A1 (en) * 2018-11-07 2019-04-18 Alibaba Group Holding Limited Managing communications among consensus nodes and client nodes
CN109934582A (zh) * 2019-02-25 2019-06-25 矩阵元技术(深圳)有限公司 数字货币交易数据处理方法、服务器、客户端及系统
CN110138567A (zh) * 2019-05-22 2019-08-16 广州安研信息科技有限公司 一种基于ecdsa的协同签名方法
CN110233736A (zh) * 2019-06-19 2019-09-13 核芯互联(北京)科技有限公司 一种数字签名生成方法、验证方法、装置、设备、介质
CN110569668A (zh) * 2019-09-11 2019-12-13 北京邮电大学 基于区块链的数据加密存储方法、装置、设备和介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231681A (zh) * 2007-01-25 2008-07-30 乐金电子(昆山)电脑有限公司 系统认证装置及其方法
CN106533675A (zh) * 2016-12-19 2017-03-22 北京洋浦伟业科技发展有限公司 数字签名方法及系统
CN107612934A (zh) * 2017-10-24 2018-01-19 济南浪潮高新科技投资发展有限公司 一种基于密钥分割的区块链移动端计算系统和方法
CA3041159A1 (en) * 2018-11-07 2019-04-18 Alibaba Group Holding Limited Managing communications among consensus nodes and client nodes
CN109635585A (zh) * 2018-12-07 2019-04-16 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、代理节点和介质
CN109934582A (zh) * 2019-02-25 2019-06-25 矩阵元技术(深圳)有限公司 数字货币交易数据处理方法、服务器、客户端及系统
CN110138567A (zh) * 2019-05-22 2019-08-16 广州安研信息科技有限公司 一种基于ecdsa的协同签名方法
CN110233736A (zh) * 2019-06-19 2019-09-13 核芯互联(北京)科技有限公司 一种数字签名生成方法、验证方法、装置、设备、介质
CN110569668A (zh) * 2019-09-11 2019-12-13 北京邮电大学 基于区块链的数据加密存储方法、装置、设备和介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廖会敏;王栋;: "基于SM2算法的电力无介质数字认证技术研究", 供用电, no. 04 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021203853A1 (zh) * 2020-04-09 2021-10-14 腾讯科技(深圳)有限公司 密钥生成方法、装置、设备及介质
CN112529707A (zh) * 2020-12-15 2021-03-19 从法信息科技有限公司 基于实例选举共识的交易上链防错方法、装置和电子设备
CN112529707B (zh) * 2020-12-15 2022-12-13 从法信息科技有限公司 基于实例选举共识的交易上链防错方法、装置和电子设备
CN112685505B (zh) * 2021-01-07 2022-06-24 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、计算机设备及存储介质
CN112685505A (zh) * 2021-01-07 2021-04-20 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、计算机设备及存储介质
CN112749968A (zh) * 2021-01-29 2021-05-04 支付宝实验室(新加坡)有限公司 基于区块链的业务数据记录方法及装置
CN112749968B (zh) * 2021-01-29 2022-09-06 支付宝实验室(新加坡)有限公司 基于区块链的业务数据记录方法及装置
CN113206851A (zh) * 2021-05-06 2021-08-03 杭州复杂美科技有限公司 平行链共识方法、计算机设备和存储介质
CN113347182A (zh) * 2021-06-01 2021-09-03 永旗(北京)科技有限公司 一种区块链节点的交易共识方法
CN113746923A (zh) * 2021-09-03 2021-12-03 杭州复杂美科技有限公司 代理打包方法、计算机设备和存储介质
CN113746923B (zh) * 2021-09-03 2024-03-22 杭州复杂美科技有限公司 代理打包方法、计算机设备和存储介质
CN114221759A (zh) * 2021-11-29 2022-03-22 成都卫士通信息产业股份有限公司 一种远程监控部署方法、装置、电子设备及存储介质
CN114221759B (zh) * 2021-11-29 2024-04-12 成都卫士通信息产业股份有限公司 一种远程监控部署方法、装置、电子设备及存储介质
CN117689476A (zh) * 2024-01-26 2024-03-12 北京擘盒科技有限公司 一种区块链交易处理方法、系统、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111489159B (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
CN111489159B (zh) 数据处理方法、装置、计算机设备及介质
CN112214780B (zh) 一种数据处理方法、装置、智能设备及存储介质
CN111490878B (zh) 密钥生成方法、装置、设备及介质
CN112104665B (zh) 基于区块链的身份验证方法、装置、计算机以及存储介质
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
CN111211911B (zh) 一种协同签名方法、装置、设备及系统
CN111461799B (zh) 数据处理方法、装置、计算机设备及介质
CN104168563A (zh) 一种基于本地信誉存储的k-匿名激励机制
CN111046411B (zh) 电网数据安全存储方法及系统
CN110910110A (zh) 一种数据处理方法、装置及计算机存储介质
CN111259428A (zh) 基于区块链的数据处理方法、装置、节点设备及存储介质
CN114157693A (zh) 通信设备的上电认证方法、通信模块和服务器
CN116074023A (zh) 一种认证方法和通信装置
CN111597537B (zh) 基于区块链网络的证书签发方法、相关设备及介质
CN111865761B (zh) 一种基于区块链智能合约的社交聊天信息存证方法
CN116170144B (zh) 智能电网匿名认证方法、电子设备及存储介质
CN115955358B (zh) 基于点对点通信的数据流传输系统
CN113114610A (zh) 一种取流方法、装置及设备
WO2020093609A1 (zh) 区块链的区块生成方法、装置、设备及非易失性可读存储介质
CN116389504A (zh) 基于区块链的身份认证快速共识方法、系统、设备及介质
CN115622786A (zh) 账号登录方法、装置、电子设备和存储介质
CN115967508A (zh) 数据访问控制方法及装置、设备、存储介质、程序产品
CN116743377B (zh) 基于区块链密钥的数据处理方法、装置、设备及存储介质
CN115914367B (zh) 智能设备的消息推送方法与系统
CN113949508B (zh) 基于随机数共识机制的过程数据处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40027984

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant