CN112039893A - 私密交易处理方法、装置、电子设备及可读存储介质 - Google Patents
私密交易处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112039893A CN112039893A CN202010899288.6A CN202010899288A CN112039893A CN 112039893 A CN112039893 A CN 112039893A CN 202010899288 A CN202010899288 A CN 202010899288A CN 112039893 A CN112039893 A CN 112039893A
- Authority
- CN
- China
- Prior art keywords
- private
- transaction
- node
- hash value
- group
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例提供一种私密交易处理方法、装置、电子设备及可读存储介质,旨在确保私密交易数据的私密性。其中,所述私密交易处理方法应用于公链网络中的私密群组中的私密节点,该方法包括:接收私密群组中的第一指定节点发送的多个私密交易;执行所述多个私密交易,以获得多个执行结果;为所述多个执行结果计算总hash值,并与所述私密群组中的其他私密节点,对所述总hash值进行共识;获得并执行存证交易,所述存证交易是在所述总hash值通过共识的情况下,由所述私密群组中的一个私密节点生成的,所述存证交易是在所述公链网络内执行的交易,所述存证交易携带所述总hash值,所述存证交易用于使所述公链网络的区块链记录所述总hash值。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种私密交易处理方法、装置、电子设备及可读存储介质。
背景技术
区块链技术构建在传输网络(也可称为区块链网络)之上,传输网络中的分布式节点设备(以下简称为节点)通过运行区块链程序,实现以预设共识策略生成区块数据,并利用链式数据结构验证与存储区块数据,最终实现了数据防篡改机制,为业务开展提供了安全可信的技术思路。
区块链技术可应用至多种业务场景,例如金融领域、电子商务领域、商品或原材料溯源领域、电子存证领域等,由于区块链技术实现了数据防篡改机制,因此利用区块链技术开展业务,能解决业务参与各方之间的信任危机。
相关技术中,在利用区块链技术开展业务时,与业务相关的交易数据会被记录至区块链中,以便于后期可根据区块链记录的交易数据,对业务进行溯源和追踪。然而对于私密交易(例如涉及商业秘密的交易),业务方并不希望私密交易的交易数据被记录在区块链中,导致数据泄露。可见,如何在区块链技术中进一步确保交易数据私密性,是当前亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种私密交易处理方法、装置、电子设备及可读存储介质,旨在确保私密交易数据的私密性。具体技术方案如下:
在本发明实施例的第一方面,提供一种私密交易处理方法,所述方法应用于公链网络中的私密群组中的私密节点,所述私密节点是所述公链网络的多个节点中的部分节点,所述方法包括:
接收所述私密群组中的第一指定节点发送的多个私密交易,所述多个私密交易之间具有顺序关系,每个私密交易是在所述私密群组内执行的交易;
按照所述多个私密交易的顺序关系,依次执行所述多个私密交易,以获得具有顺序关系的多个执行结果;
为所述多个执行结果计算总hash值,并与所述私密群组中的其他私密节点,对所述总hash值进行共识,以及在所述总hash值通过共识的情况下,记录所述多个执行结果与所述总hash值之间的对应关系;
获得并执行存证交易,所述存证交易是在所述总hash值通过共识的情况下,由所述私密群组中的一个私密节点生成的,所述存证交易是在所述公链网络内执行的交易,所述存证交易携带所述总hash值,所述存证交易用于使所述公链网络的区块链记录所述总hash值。
在本发明实施例的第二方面,提供另一种私密交易处理方法,所述方法应用于公链网络中的私密群组中的第一指定节点,所述私密群组中包括多个私密节点,所述多个私密节点是所述公链网络的多个节点中的部分节点,所述方法包括:
向所述私密群组中的各私密节点发送具有顺序关系的多个私密交易,以使得各私密节点按照所述顺序关系依次执行所述多个私密交易并获得具有顺序关系的多个执行结果,其中,每个私密交易是在所述私密群组内执行的交易;
在各私密节点为各自获得的多个执行结果计算出总hash值,且某一总hash值通过共识之后,生成存证交易,所述存证交易携带该通过共识的总hash值,所述存证交易是在所述公链网络内执行的交易,所述存证交易用于使所述公链网络的区块链记录该通过共识的总hash值;
将所述存证交易提交给所述公链网络中的第二指定节点,以使得所述第二指定节点将所述存证交易分发给所述公链网络中的每个节点执行。
在本发明实施例的第三方面,提供一种私密交易处理装置,所述装置应用于公链网络中的私密群组中的私密节点,所述私密节点是所述公链网络的多个节点中的部分节点,所述装置包括:
私密交易接收模块,用于接收所述私密群组中的第一指定节点发送的多个私密交易,所述多个私密交易之间具有顺序关系,每个私密交易是在所述私密群组内执行的交易;
私密交易执行模块,用于按照所述多个私密交易的顺序关系,依次执行所述多个私密交易,以获得具有顺序关系的多个执行结果;
共识模块,用于为所述多个执行结果计算总hash值,并与所述私密群组中的其他私密节点,对所述总hash值进行共识,以及在所述总hash值通过共识的情况下,记录所述多个执行结果与所述总hash值之间的对应关系;
存证交易执行模块,用于获得并执行存证交易,所述存证交易是在所述总hash值通过共识的情况下,由所述私密群组中的一个私密节点生成的,所述存证交易是在所述公链网络内执行的交易,所述存证交易携带所述总hash值,所述存证交易用于使所述公链网络的区块链记录所述总hash值。
在本发明实施例的第四方面,提供另一种私密交易处理装置,所述装置应用于公链网络中的私密群组中的第一指定节点,所述私密群组中包括多个私密节点,所述多个私密节点是所述公链网络的多个节点中的部分节点,所述装置包括:
私密交易发送模块,用于向所述私密群组中的各私密节点发送具有顺序关系的多个私密交易,以使得各私密节点按照所述顺序关系依次执行所述多个私密交易并获得具有顺序关系的多个执行结果,其中,每个私密交易是在所述私密群组内执行的交易;
存证交易生成模块,用于在各私密节点为各自获得的多个执行结果计算出总hash值,且某一总hash值通过共识之后,生成存证交易,所述存证交易携带该通过共识的总hash值,所述存证交易是在所述公链网络内执行的交易,所述存证交易用于使所述公链网络的区块链记录该通过共识的总hash值;
存证交易提交模块,用于将所述存证交易提交给所述公链网络中的第二指定节点,以使得所述第二指定节点将所述存证交易分发给所述公链网络中的每个节点执行。
在本发明实施例的第五方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于在执行存储器上所存放的程序时,实现本发明任一实施例所提供的私密交易处理方法。
在本发明实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的私密交易处理方法。
本发明中,公链网络的多个节点中的部分节点组成私密群组,私密群组内可执行私密交易。具体地,私密群组内的每个私密节点接收私密群组中的第一指定节点发送的多个私密交易。每个私密节点执行其接收到的多个私密交易,以获得多个交易执行结果,并为这些交易执行结果计算出一个总hash值。多个私密节点之间对总hash值进行共识,并在共识通过的情况下,某一私密节点(例如上述第一指定节点)为共识通过的总hash值生成存证交易。该存证交易是需要在公链网络中执行的公共交易,公链网络的各节点(包括私密节点)执行该存证交易,最终使得上述多个交易执行结果的总hash值被记录至公链网络的区块链中,以达到存证的目的。
一方面,由于多个私密交易的执行结果的总hash值作为存证,被记录在公链网络的区块链中,又由于根据hash值不能反推出相应的明文,因此确保了私密交易执行结果的私密性。此外,由于私密节点还记录了多个私密交易执行结果与总hash之间的对应关系,因此后期可根据公链网络的区块链中记录的总hash值,验证多个私密交易执行结果是否被篡改。
另一方面,由于私密节点一次性针对多个私密交易的多个交易结果,计算一个总hash值,并将该总hash值作为存证记录至公链网络的区块链中。又由于总hash值的数据量通常小于多个执行结果的数据总量,因此可以减少区块链的数据存储量,提高存储资源使用率。
再一方面,由于各私密节点接收到的多个私密交易具有顺序关系,因此各私密节点按照该顺序关系依次执行各私密交易后获得的多个执行结果,也具有同样的顺序关系。如此,有利于确保各私密节点分别计算出的总hash值一致,从而提高总hash值的共识成功率,进而提高私密交易的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明一实施例提出的公链网络的示意图;
图2是本发明另一实施例提出的公链网络的示意图;
图3是本发明一实施例提出的私密交易处理方法的流程图;
图4是本发明另一实施例提出的私密交易处理方法的流程图;
图5是本发明一实施例提出的私密交易处理装置的示意图;
图6是本发明另一实施例提出的私密交易处理装置的示意图;
图7是本发明一实施例提出的电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
区块链技术构建在传输网络(也可称为区块链网络)之上,传输网络中的分布式节点设备(以下简称为节点)通过运行区块链程序,实现以预设共识策略生成区块数据,并利用链式数据结构验证与存储区块数据,最终实现了数据防篡改机制,为业务开展提供了安全可信的技术思路。
相关技术中,在利用区块链技术开展业务时,与业务相关的交易数据会被记录至区块链中,以便于后期可根据区块链记录的交易数据,对业务进行溯源和追踪。然而对于私密交易(例如涉及商业秘密的交易),业务方并不希望私密交易的交易数据被记录在区块链中,导致数据泄露。可见,如何在区块链技术中进一步确保交易数据私密性,是当前亟待解决的问题。
为此,本发明通过以下实施例提出私密交易处理方法、装置、电子设备及可读存储介质,旨在确保私密交易数据的私密性。
参考图1,图1是本发明一实施例提出的公链网络的示意图。如图1所示,该公链网络包括多个分布式节点设备(以下简称为节点),每个节点用于运行区块链程序。多个节点中的部分节点可以被配置为私密节点,私密节点除了用于运行区块链程序,还用于运行私密交易处理程序。私密节点组成私密群组,私密群组内可执行私密交易。需要说明的是,由于每个私密节点也属于公链网络的节点,因此每个私密节点也会参与公链网络内的公共交易,并维护公链网络的区块链。
其中,公共交易是与私密交易相对的概念,私密交易是在私密群组内由私密节点执行的交易,公共交易是在公链网络内由全体节点(包括私密节点)执行的交易。私密交易相比公共交易,具有更高的私密性要求。
需要说明的是,公链网络是一种区块链网络,但所谓“公链网络”,并不是限定该区块链网络必须是公共区块链网络,该区块链网络也可以是联盟区块链网络,或者该区块链网络还可以是私有区块链网络。实际上本发明中的“公链网络”,是与“私密群组”相对的概念,在公链网络内执行的交易对私密性的要求,低于在私密群组内执行的交易对私密性的要求。
可选地,在一些具体实施方式中,可以在构建公链网络时,将某些节点配置为私密节点,并将多个私密节点组成私密群组。具体地,可以配置私密群组成员表,该私密群组成员表中记录有组成该私密群组的各个私密节点信息,每个私密节点中存储有该私密群组成员表。私密节点可以通过查询该私密群组成员表,以确定其所属的私密群组,并确定该私密群组中包括的其他私密节点。
基于图1所示的公链网络及其中的私密群组,可以实现对私密交易的处理,以确保私密交易数据的私密性。如图1所示,私密节点接收到客户端侧发来的私密交易后,或者私密节点自身生成私密交易后,将私密交易提交给私密群组中的指定节点。为了将该指定节点与公链网络中的指定节点区分,下文将该指定节点称为第一指定节点。
可选地,在一些具体实施方式中,第一指定节点可以是:在组建私密群组时指定的一个私密节点。或者可选地,在另一些具体实施方式中,第一指定节点也可以是:在组建私密群组后由多个私密节点定期选举出的一个私密节点。
如图1所示,第一指定节点陆续接收到各个私密节点提交的私密交易,第一指定节点可以按照各个私密交易达到的时间顺序,对各个私密交易进行排序,并将排序后的多个私密交易发送给私密群组中的每个私密节点(包括第一指定节点自身)。
为简化附图,图1中仅示意性地示出了部分私密节点接收到第一指定节点发送的多个私密交易。本发明实际实现时,正常情况下,每个私密节点(包括第一指定节点)均会接收到第一指定节点发送的多个私密交易,并执行。
可选地,在一些具体实施方式中,第一指定节点每接收到一个私密交易后,将该私密交易排列至上一个接收到的私密交易之后。当第一指定节点中排列的私密交易的数量达到预设数量时,第一指定节点将该预设数量个私密交易发送给私密群组内的每个私密节点。如此,每个私密节点接收到具有顺序关系的预设数量个私密交易。
如图1所示,每个私密节点在接收到第一指定节点发送的多个私密交易(即上述具有顺序关系的预设数量个私密交易)后,按照多个私密交易的顺序关系,依次执行多个私密交易,从而获得具有顺序关系的多个执行结果。此外,每个私密节点为其所获得的多个执行结果,计算一个总hash值。各个私密节点之间,基于预设共识策略,对各自计算出的总hash值进行共识。为简化附图,图1中未示出各私密节点对总hash值进行共识的节点交互过程。
可选地,在一些具体实施方式中,上述预设共识策略具体可以是:各私密节点相互比较各自计算的总hash值是否相等,如果所有总hash值中超过预设比例(例如80%)的总hash值一致,则这些一致的总hash值通过共识。
应当理解的,由于每个私密节点接收到的多个私密交易相同,每个私密节点接收到的多个私密交易的顺序关系也相同,因此每个私密节点基于同样的私密交易处理程序依次执行各个私密交易后,得到的多个执行结果彼此相同,多个执行结果的顺序关系也彼此相同。进而,每个私密节点计算出的总hash值,正常情况下也彼此相同。而如果某一私密节点计算出的总hash值与其他私密节点计算出的总hash值不相同,则该私密节点可能出现故障,或者该私密节点接收到的私密交易可能被篡改,再或者该私密节点的私密交易处理程序可能被篡改。在此情况下,可以考虑将该私密节点做下线处理。
如图1所示,对于每个私密节点,当该私密节点计算出的总hash值通过共识后,该私密节点可以记录多个执行结果与其总hash值之间的对应关系。如此,私密群组中的多个私密节点,各自记录有多个执行结果与总hash值之间的对应关系。各私密节点通过记录上述对应关系,以便于后续对私密交易执行结果进行溯源和追踪。
可选地,在一些具体实施方式中,每个私密节点内运行有私密数据库。所谓私密数据库,是指需要具有一定权限才能查询的数据库。每个私密节点可以将上述对应关系记录在其运行的私密数据库中。
如图1所示,私密群组中的第一指定节点可以为通过共识的总hash值生成存证交易,该存证交易中携带该通过共识的总hash值,该存证交易属于公共交易,需要在整个公链网络内执行,该存证交易用于使公链网络的区块链记录该通过共识的总hash值。
可选地,在一些具体实施方式中,当私密节点的总hash值通过共识后,该私密节点可以利用其私钥对其总hash值进行签名,得到其总hash值的数字签名,之后该私密节点将其总hash值及相应数字签名发送给第一指定节点。第一指定节点陆续接收到各私密节点发送的总hash值及相应数字签名,第一指定节点针对每个私密节点发送的总hash值及相应数字签名,至少利用该私密节点的公钥对相应数字签名进行签名验证。如果第一指定节点接收的所有数字签名中,超过预设数量(例如预设数量等于私密节点总数的80%)个数字签名通过签名验证,则第一指定节点为通过共识的总hash值(即第一指定节点接收到的总hash值)生成存证交易,该存证交易除了携带该通过共识的总hash值,还携带各个私密交易发送的数字签名。
上述具体实施方式中,通过进行签名及签名验证,以提高信息交互安全性,防止作恶者对私密群组内传递的总hash值进行篡改。
如图1所示,私密群组中的第一指定节点在生成存证交易后,将该存证交易提交给公链网络中的指定节点。为了将该指定节点与私密群组中的第一指定节点区分,下文将该指定节点称为第二指定节点。
如图1所示,公链网络中的第二指定节点用于接收公链网络中的各节点(包括私密节点)陆续提交的公共交易,并对多个公共交易进行排序,以及将排序后的多个公共交易发送给公链网络中的每个节点(包括私密节点)。第一指定节点提交的存证交易作为一个公共交易,也被排列在多个公共交易之中,并被分发给公链网络中的每个节点。如此,公链网络中的每个节点接收到第二指定节点发送的多个公共交易,多个公共交易中包括上述存证交易,多个公共交易之间具有顺序关系。
为简化附图,图1中仅示意性地示出了部分节点接收到第二指定节点发送的多个公共交易。本发明实际实现时,正常情况下,每个节点(包括私密节点)均会接收到第二指定节点发送的多个公共交易,并执行。
可选地,在一些具体实施方式中,第二指定节点每接收到一个公共交易后,将该公共交易排列至上一个接收到的公共交易之后。当第二指定节点中排列的公共交易的数量达到预设数量时,第二指定节点将该预设数量个公共交易发送给公链网络内的每个节点。如此,每个节点接收到具有顺序关系的预设数量个公共交易,其中包括上述存证交易。
如图1所示,每个节点在接收到第二指定节点发送的多个公共交易(即上述具有顺序关系的预设数量个公共交易)后,按照多个公共交易的顺序关系,依次执行多个公共交易,从而获得具有顺序关系的多个执行结果。每个节点将这些具有顺序关系的多个执行结果记入其区块中,并后续对区块进行共识和上链。为简化附图,图1中未示出各节点对区块进行共识和上链的过程。
可选地,在一些具体实施方式中,每个节点在执行上述存证交易之前,可以首先从该存证交易中提取出数字签名,然后针对每个数字签名,至少利用相应私密节点的公钥,对该数字签名进行签名验证。如果所有数字签名中,超过预设数量(例如预设数量等于相应私密群组的私密节点总数的80%)个数字签名通过签名验证,则该节点执行该存证交易。否则,该节点可以不执行该存证交易,并直接得到交易失败的执行结果。其中,如果节点正常执行了上述存证交易,则该节点将存证交易携带的总hash值记录至该节点的区块中。换言之,正常执行上述存证交易后得到的执行结果是:存证结果携带的总hash值,节点将该执行结果记入其区块中。
上述具体实施方式中,通过进行签名及签名验证,以提高信息交互安全性,防止作恶者对公链网络内传递的总hash值进行篡改。
此外,如图1所示,私密节点不仅用于执行第一指定节点发送的多个私密交易,还用于执行第二指定节点发送的多个公共交易。可选地,在一些具体实施方式中,私密节点内至少运行有两个交易执行线程,私密节点利用不同的交易执行线程,分别处理私密交易和公共交易。如前所述,私密节点可利用私密数据库存储私密交易的执行结果。此外,私密节点可利用另一数据库(区别于该私密数据库的数据库)存储公共交易的执行结果。如此,可进一步避免私密交易与公共交易相互干扰和混淆。
此外,如图1所示,私密节点除了用于接收或生成私密交易,并将私密交易提交给所属私密群组中的第一指定节点,私密节点还可以接收用户端侧发送的公共交易。私密节点在接收到公共交易后,将公共交易提交给公链网络中的第二指定节点。如前所述,第二指定节点陆续接收到公链网络的各节点(包括私密节点)提交的公共交易,并对这些公共交易进行排序,已经将排序后的多个公共交易发送给公链网络的每个节点(包括私密节点)执行。
可选地,在一些具体实施方式中,每个交易携带预设标识,该预设标识用于表征该交易是否属于私密交易。私密节点在获得一个交易后,首先根据该交易携带的预设标识,判断该交易是否属于私密交易。如果该交易属于私密交易,则将该交易提交给私密群组中的第一指定节点。如果该交易不属于私密交易,则说明该交易属于公共交易,则将该交易提交给公链网络中的第二指定节点。
本发明中,如前所述,私密群组的多个私密交易执行结果的总hash值作为存证,被记录在公链网络的区块链中。当需要对私密交易进行溯源追踪时,一种可选的方式为:具有权限的用户可以从私密节点的私密数据库中,查询私密交易执行结果对应的hash值,然后再查询公链网络的区块链中是否记录有该hash值,以验证该私密节点记录的私密交易执行结果是否被篡改。如果公链网络的区块链中记录有该hash值,则说明私密交易执行结果未被篡改。
通过以图1所示的方式处理私密交易,一方面由于多个私密交易的执行结果的总hash值作为存证,被记录在公链网络的区块链中,又由于根据hash值不能反推出相应的明文,因此确保了私密交易执行结果的私密性。此外,由于私密节点还记录了多个私密交易执行结果与总hash之间的对应关系,因此后期可根据公链网络的区块链中记录的总hash值,验证多个私密交易执行结果是否被篡改。
另一方面,由于私密节点一次性针对多个私密交易的多个交易结果,计算一个总hash值,并将该总hash值作为存证记录至公链网络的区块链中。又由于总hash值的数据量通常小于多个执行结果的数据总量,因此可以减少区块链的数据存储量,提高存储资源使用率。
再一方面,由于各私密节点接收到的多个私密交易具有顺序关系,因此各私密节点按照该顺序关系依次执行各私密交易后获得的多个执行结果,也具有同样的顺序关系。如此,有利于确保各私密节点分别计算出的总hash值一致,从而提高总hash值的共识成功率,进而提高私密交易的处理效率。
参考图2,图2是本发明另一实施例提出的公链网络的示意图。如图2所示,该公链网络包括多个分布式节点设备(以下简称为节点),每个节点用于运行区块链程序。多个节点中的部分节点可以被配置为私密节点,私密节点除了用于运行区块链程序,还用于运行私密交易处理程序。私密节点组成私密群组,私密群组内可执行私密交易。需要说明的是,由于每个私密节点也属于公链网络的节点,因此每个私密节点也会参与公链网络内的公共交易,并维护公链网络的区块链。
如图2所示,公链网络中可以包括多个私密群组,不同的私密群组分别对应有不同的群组标识,例如图2中的三个私密群组各自对应的群组标识分别为PN1、PN2以及PN3。此外,公链网络中存在同时属于多个私密群组的私密节点,例如图2中的私密节点5和私密节点6同时属于私密群组PN1和私密群组PN2。
可选地,在一些具体实施方式中,每个私密节点中存储有至少一份私密群组成员表。为便于理解,如图2所示,私密节点7属于私密群组PN1,则私密节点7中至少存储有私密群组PN1的私密群组成员表,私密群组PN1的私密群组成员表中记录有:私密节点4、私密节点5、私密节点6、私密节点7以及私密节点8的信息。
如图2所示,私密节点5同时属于私密群组PN1和私密群组PN2,则私密节点5中至少存储有私密群组PN1的私密群组成员表和私密群组PN2的私密群组成员表。其中,私密群组PN1的私密群组成员表中记录有:私密节点4、私密节点5、私密节点6、私密节点7以及私密节点8的信息。私密群组PN2的私密群组成员表中记录有:私密节点5、私密节点6、私密节点10以及私密节点11的信息。
每个私密节点可以通过查询其存储的私密群组成员表,以确定其所属的私密群组,并确定该私密群组中包括的其他私密节点。
基于图2所示的公链网络和私密群组处理私密交易时,每个私密交易携带群组标识。当某一私密节点获得一个私密交易后,可根据该私密交易携带的群组标识,确定该私密交易所属的目标私密群组。其中,该私密交易可以是客户端侧发送给该私密节点的,或者该私密交易也可以是该私密节点自身生成的。需要说明的是,本发明对于私密节点如何获得私密交易,不作限定。
为便于理解,假设私密节点5获得一个私密交易,该私密交易携带的群组标识为PN2。私密节点5根据该私密交易携带的群组标识PN2,确定该私密交易所属的目标私密群组为私密群组PN2。换言之,确定该私密交易需要在私密群组PN2内执行。
如图2所示,私密节点确定出私密交易所属的目标私密群组后,将该私密交易提交给该目标私密群组中的第一指定节点。同样地,该目标私密群组中的其他私密节点也会将其获得的且属于该目标私密群组的私密交易,提交给该目标私密群组中的第一指定节点。如此,该第一指定节点会陆续接收到多个属于该目标私密群组的私密交易。如前所述,第一指定节点会对陆续接收的多个私密交易进行排序,并将排序后的多个私密交易发送给该目标私密群组中的每个私密节点。
为简化附图,图2中仅示意性地示出了部分私密节点接收到第一指定节点发送的多个私密交易。本发明实际实现时,正常情况下,每个私密节点(包括第一指定节点)均会接收到第一指定节点发送的多个私密交易,并执行。
本发明中,由于公链网络中可以包括多个不同的私密群组,且不同私密群组之间可存在共有的私密节点。换言之,一个私密节点可同时属于两个或多个私密群组。并且,私密交易携带群组标识,私密节点可以根据私密交易携带的群组标识,选择在相应私密群组内处理该私密交易。如此,本发明在处理私密交易时具有更高的灵活性,更能满足用户对私密交易处理的多样性需求。
此外,如前所述,每个私密节点运行有私密数据库,该私密数据库至少用于存储多个私密交易执行结果与总hash值之间的对应关系。具体地,如果一个私密节点同时属于多个私密群组,则该私密节点运行有多个私密数据库,每个私密数据库分别对应不同的私密群组,各个私密数据库相互隔离。
如此,当一个私密节点在接收到第一指定节点发送的多个私密交易,且按照多个私密交易的顺序关系依次执行多个私密交易,以获得具有顺序关系的多个执行结果后,由于多个私密交易均属于同一私密群组,因此多个私密交易均携带相同的群组标识。进而,该私密节点可以根据多个私密交易中的任一私密交易所携带的群组标识,确定多个私密交易所属的目标私密群组。
此外,如前所述,该私密节点还会为具有顺序关系的多个执行结果计算一个总hash值。该私密节点在计算出总hash值、且确定出多个私密交易所属的目标私密群组后,该私密节点与该目标私密群组中的其他私密节点,对该总hash值进行共识。并在该总hash值通过共识的情况下,利用该目标私密群组所对应的私密数据库,记录上述多个执行结果与该总hash值之间的对应关系。其中,对于具体的共识策略,可参见上文,为避免重复,此处不再赘述。
此外,在总hash值通过共识的情况下,图2所示的私密节点还可以执行图1所示的私密节点所执行的步骤,为避免重复,此处不再赘述。
本发明中,由于在每个私密节点中,该私密节点所属的每个私密群组,分别对应一个私密数据库,每个私密数据库分别用于记录该私密数据库对应的私密群组的私密交易数据。如此,可以实现不同私密群组的私密交易数据相互隔离,从而进一步降低私密交易数据的泄露风险。
以上,本发明通过一些实施例提出了公链网络、私密群组以及基于这些公链网络和私密群组处理私密交易的方式。以下,本发明通过实施例提出私密交易处理方法,以下实施例可以包括以上实施例中的部分或全部技术特征,详细情况,请参见下文。
参考图3,图3是本发明一实施例提出的私密交易处理方法的流程图,该私密交易处理方法应用于公链网络中的私密群组中的任一私密节点。私密群组中的私密节点是公链网络的多个节点中的部分节点。如图3所示,该私密交易处理方法包括以下步骤:
步骤S31:接收所述私密群组中的第一指定节点发送的多个私密交易,所述多个私密交易之间具有顺序关系,每个私密交易是在所述私密群组内执行的交易。
步骤S32:按照所述多个私密交易的顺序关系,依次执行所述多个私密交易,以获得具有顺序关系的多个执行结果。
步骤S33:为所述多个执行结果计算总hash值,并与所述私密群组中的其他私密节点,对所述总hash值进行共识,以及在所述总hash值通过共识的情况下,记录所述多个执行结果与所述总hash值之间的对应关系。
步骤S34:获得并执行存证交易,所述存证交易是在所述总hash值通过共识的情况下,由所述私密群组中的一个私密节点生成的,所述存证交易是在所述公链网络内执行的交易,所述存证交易携带所述总hash值,所述存证交易用于使所述公链网络的区块链记录所述总hash值。
通过以上述步骤S31至步骤S34的方式处理私密交易,一方面由于多个私密交易的执行结果的总hash值作为存证,被记录在公链网络的区块链中,又由于根据hash值不能反推出相应的明文,因此确保了私密交易执行结果的私密性。此外,由于私密节点还记录了多个私密交易执行结果与总hash之间的对应关系,因此后期可根据公链网络的区块链中记录的总hash值,验证多个私密交易执行结果是否被篡改。
另一方面,由于私密节点一次性针对多个私密交易的多个交易结果,计算一个总hash值,并将该总hash值作为存证记录至公链网络的区块链中。又由于总hash值的数据量通常小于多个执行结果的数据总量,因此可以减少区块链的数据存储量,提高存储资源使用率。
再一方面,由于各私密节点接收到的多个私密交易具有顺序关系,因此各私密节点按照该顺序关系依次执行各私密交易后获得的多个执行结果,也具有同样的顺序关系。如此,有利于确保各私密节点分别计算出的总hash值一致,从而提高总hash值的共识成功率,进而提高私密交易的处理效率。
可选地,在一些具体实施方式中,私密节点在执行上述步骤S33时,具体地,可以基于预设共识策略,与私密群组中的其他私密节点,对计算出的总hash值进行共识。对于具体的预设共识策略,可参见上文,本发明在此不做赘述。
可选地,在一些具体实施方式中,私密节点在执行上述步骤S33时,具体地,可以通过私密节点自身运行的私密数据库,记录所述多个执行结果与相应总hash值之间的对应关系。
可选地,在一些具体实施方式中,私密节点在其总hash值通过共识后,私密节点还可以利用其私钥对其总hash值进行签名,得到该总hash值的数字签名。私密节点将该总hash值及相应数字签名发送给私密群组中的第一指定节点,以使得第一指定节点为该总hash值生成存证交易。对于第一指定节点如何生成存证交易,可参见上文,此处不再赘述。
可选地,在一些具体实施方式中,在上述步骤S34中,存证交易可以是公链网络中的第二指定节点发送给私密节点的。具体地,私密节点接收该公链网络中的第二指定节点发送的多个公共交易,所述多个公共交易中包括所述存证交易,所述多个公共交易之间具有顺序关系,每个公共交易是在所述公链网络内执行的交易。
其中,所述存证交易是所述私密群组中的一个私密节点发送给所述第二指定节点的。如前所述,例如该存证交易可以是私密群组中的第一指定节点生成并发送给第二指定节点的。需要说明的是,在一些比较巧合的具体实施方式中,私密群组中的第一指定节点可能刚好是公链网络中的第二指定节点。换言之,私密群组中的第一指定节点与公链网络中的第二指定节点,刚好是同一节点。
本发明中,通过公链网络中的第二指定节点对公共交易进行排序和分发,使得公链网络中的每个节点各自接收到的多个公共交易,具有相同的顺序关系。如此,每个节点在执行这些公共交易后各自获得的多个执行结果,也具有相同的顺序关系。如此,各节点在对这些执行结果进行共识时,由于各执行结果具有相同的顺序关系,因此更容易通过共识,从而有利于提高公链网络的共识通过率,进而提高公链网络的运行效率。
可选地,在一些具体实施方式中,私密节点除了用于接收或生成私密交易,并将私密交易提交给所属私密群组中的第一指定节点,私密节点还可以接收用户端侧发送的公共交易。私密节点在接收到公共交易后,将公共交易提交给公链网络中的第二指定节点,以使得第二指定节点对属于该公链网络的公共交易进行排序。对于第二指定节点如何排序公共交易,可参见上文,本发明在此不做赘述。
如前所述,具体实现时,每个交易可携带预设标识,该预设标识用于表征该交易是否属于私密交易。私密节点在获得一个交易后,首先根据该交易携带的预设标识,判断该交易是否属于私密交易。如果该交易属于私密交易,则将该交易提交给私密群组中的第一指定节点。如果该交易不属于私密交易,则说明该交易属于公共交易,则将该交易提交给公链网络中的第二指定节点。
可选地,在一些具体实施方式中,私密节点内至少运行有两个交易执行线程,私密节点利用不同的交易执行线程,分别处理私密交易和公共交易。如前所述,私密节点可利用私密数据库存储私密交易的执行结果。此外,私密节点可利用另一数据库(区别于该私密数据库的数据库)存储公共交易的执行结果。如此,可进一步避免私密交易与公共交易相互干扰和混淆。
可选地,在一些具体实施方式中,公链网络中可以包括多个私密群组,不同的私密群组分别对应有不同的群组标识,所述公链网络中存在同时属于多个私密群组的私密节点。每个私密交易携带群组标识,用于表示该私密交易属于哪个私密群组。在这些具体实施方式中,私密节点还会获得获得私密交易,例如私密节点接收到客户端侧发来的私密交易,或者私密节点自身生成私密交易。私密节点在获得私密交易后,根据该私密交易携带的群组标识,确定该私密交易所属的目标私密群组。私密节点将该私密交易提交给该目标私密群组中的第一指定节点,以使得该第一指定节点对属于该目标私密群组的私密交易进行排序。如此,第一指定节点在对私密交易排序后,可以将多个具有顺序关系的私密交易发送给该目标私密群组中的各个私密节点。
进一步地,每个私密节点运行有私密数据库,如果一个私密节点同时属于多个私密群组,则该私密节点运行有多个私密数据库,每个私密数据库分别对应不同的私密群组。私密节点在执行上述步骤S33时,具体地:
私密节点为所述多个执行结果计算总hash值;私密节点根据所述多个私密交易所携带的群组标识,确定所述多个私密交易所属的目标私密群组;私密节点与该目标私密群组中的其他私密节点,对所述总hash值进行共识;私密节点在所述总hash值通过共识的情况下,利用该目标私密群组所对应的私密数据库,记录所述多个执行结果与所述总hash值之间的对应关系。
本发明中,由于公链网络中可以包括多个不同的私密群组,且不同私密群组之间可存在共有的私密节点。换言之,一个私密节点可同时属于两个或多个私密群组。并且,私密交易携带群组标识,私密节点可以根据私密交易携带的群组标识,选择在相应私密群组内处理该私密交易。如此,本发明在处理私密交易时具有更高的灵活性,更能满足用户对私密交易处理的多样性需求。
并且,由于在每个私密节点中,该私密节点所属的每个私密群组,分别对应一个私密数据库,每个私密数据库分别用于记录该私密数据库对应的私密群组的私密交易数据。如此,可以实现不同私密群组的私密交易数据相互隔离,进一步有利于降低私密交易数据的泄露风险。
参考图4,图4是本发明另一实施例提出的私密交易处理方法的流程图,该私密交易处理方法应用于公链网络中的私密群组中的第一指定节点,所述私密群组中包括多个私密节点,所述多个私密节点是所述公链网络的多个节点中的部分节点。如图4所示,该私密交易处理方法包括以下步骤:
步骤S41:向所述私密群组中的各私密节点发送具有顺序关系的多个私密交易,以使得各私密节点按照所述顺序关系依次执行所述多个私密交易并获得具有顺序关系的多个执行结果,其中,每个私密交易是在所述私密群组内执行的交易;
步骤S42:在各私密节点为各自获得的多个执行结果计算出总hash值,且某一总hash值通过共识之后,生成存证交易,所述存证交易携带该通过共识的总hash值,所述存证交易是在所述公链网络内执行的交易,所述存证交易用于使所述公链网络的区块链记录该通过共识的总hash值;
步骤S43:将所述存证交易提交给所述公链网络中的第二指定节点,以使得所述第二指定节点将所述存证交易分发给所述公链网络中的每个节点执行。
对于上述步骤S41至步骤S43的具体实施方式,可参见上文,为避免重复,本发明在此不做赘述。
对于上述步骤S41至步骤S43的有益效果,可参见上文,为避免重复,本发明在此不做赘述。
基于同一发明构思,本发明实施例还提供一种私密交易处理装置。参考图5,图5是本发明一实施例提出的私密交易处理装置的示意图,该装置应用于公链网络中的私密群组中的私密节点,所述私密节点是所述公链网络的多个节点中的部分节点。如图5所示,该装置包括:
私密交易接收模块51,用于接收所述私密群组中的第一指定节点发送的多个私密交易,所述多个私密交易之间具有顺序关系,每个私密交易是在所述私密群组内执行的交易;
私密交易执行模块52,用于按照所述多个私密交易的顺序关系,依次执行所述多个私密交易,以获得具有顺序关系的多个执行结果;
共识模块53,用于为所述多个执行结果计算总hash值,并与所述私密群组中的其他私密节点,对所述总hash值进行共识,以及在所述总hash值通过共识的情况下,记录所述多个执行结果与所述总hash值之间的对应关系;
存证交易执行模块54,用于获得并执行存证交易,所述存证交易是在所述总hash值通过共识的情况下,由所述私密群组中的一个私密节点生成的,所述存证交易是在所述公链网络内执行的交易,所述存证交易携带所述总hash值,所述存证交易用于使所述公链网络的区块链记录所述总hash值。
可选地,所述公链网络中包括多个私密群组,不同的私密群组分别对应有不同的群组标识,所述公链网络中存在同时属于多个私密群组的私密节点;
所述装置还包括:
私密交易获得模块,用于获得私密交易,该私密交易携带群组标识;
目标私密群组确定模块,用于根据该私密交易携带的群组标识,确定该私密交易所属的目标私密群组;
私密交易提交模块,用于将该私密交易提交给该目标私密群组中的第一指定节点,以使得该第一指定节点对属于该目标私密群组的私密交易进行排序。
可选地,每个私密节点运行有私密数据库,如果一个私密节点同时属于多个私密群组,则该私密节点运行有多个私密数据库,每个私密数据库分别对应不同的私密群组;
所述共识模块包括:
hash计算单元,用于为所述多个执行结果计算总hash值;
目标私密群组确定单元,用于根据所述多个私密交易所携带的群组标识,确定所述多个私密交易所属的目标私密群组;
hash值共识单元,用于与该目标私密群组中的其他私密节点,对所述总hash值进行共识;
对应关系记录单元,用于在所述总hash值通过共识的情况下,利用该目标私密群组所对应的私密数据库,记录所述多个执行结果与所述总hash值之间的对应关系。
可选地,所述存证交易执行模块在用于获得存在交易时,具体用于:
接收所述公链网络中的第二指定节点发送的多个公共交易,所述多个公共交易中包括所述存证交易,所述多个公共交易之间具有顺序关系,每个公共交易是在所述公链网络内执行的交易;
其中,所述存证交易是所述私密群组中的一个私密节点发送给所述第二指定节点的。
可选地,所述装置还包括:
公共交易接收模块,用于接收客户端侧发送的公共交易;
公共交易提交模块,用于将所述公共交易提交给所述第二指定节点,以使得所述第二指定节点对属于所述公链网络的公共交易进行排序。
基于同一发明构思,本发明实施例还提供一种私密交易处理装置。参考图6,图6是本发明另一实施例提出的私密交易处理装置的示意图,该装置应用于公链网络中的私密群组中的第一指定节点,所述私密群组中包括多个私密节点,所述多个私密节点是所述公链网络的多个节点中的部分节点。如图6所示,该装置包括:
私密交易发送模块61,用于向所述私密群组中的各私密节点发送具有顺序关系的多个私密交易,以使得各私密节点按照所述顺序关系依次执行所述多个私密交易并获得具有顺序关系的多个执行结果,其中,每个私密交易是在所述私密群组内执行的交易;
存证交易生成模块62,用于在各私密节点为各自获得的多个执行结果计算出总hash值,且某一总hash值通过共识之后,生成存证交易,所述存证交易携带该通过共识的总hash值,所述存证交易是在所述公链网络内执行的交易,所述存证交易用于使所述公链网络的区块链记录该通过共识的总hash值;
存证交易提交模块63,用于将所述存证交易提交给所述公链网络中的第二指定节点,以使得所述第二指定节点将所述存证交易分发给所述公链网络中的每个节点执行。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
基于同一发明构思,本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。
所述存储器703,用于存放计算机程序;
所述处理器701,用于在执行存储器703上所存放的程序时,实现如下步骤:
接收所述私密群组中的第一指定节点发送的多个私密交易,所述多个私密交易之间具有顺序关系,每个私密交易是在所述私密群组内执行的交易;
按照所述多个私密交易的顺序关系,依次执行所述多个私密交易,以获得具有顺序关系的多个执行结果;
为所述多个执行结果计算总hash值,并与所述私密群组中的其他私密节点,对所述总hash值进行共识,以及在所述总hash值通过共识的情况下,记录所述多个执行结果与所述总hash值之间的对应关系;
获得并执行存证交易,所述存证交易是在所述总hash值通过共识的情况下,由所述私密群组中的一个私密节点生成的,所述存证交易是在所述公链网络内执行的交易,所述存证交易携带所述总hash值,所述存证交易用于使所述公链网络的区块链记录所述总hash值。
或者,处理器701在执行存储器703上所存放的程序时,实现如下步骤:
向所述私密群组中的各私密节点发送具有顺序关系的多个私密交易,以使得各私密节点按照所述顺序关系依次执行所述多个私密交易并获得具有顺序关系的多个执行结果,其中,每个私密交易是在所述私密群组内执行的交易;
在各私密节点为各自获得的多个执行结果计算出总hash值,且某一总hash值通过共识之后,生成存证交易,所述存证交易携带该通过共识的总hash值,所述存证交易是在所述公链网络内执行的交易,所述存证交易用于使所述公链网络的区块链记录该通过共识的总hash值;
将所述存证交易提交给所述公链网络中的第二指定节点,以使得所述第二指定节点将所述存证交易分发给所述公链网络中的每个节点执行。
或者,处理器701在执行存储器703上所存放的程序时,实现本发明以上其他方法实施例所提供的私密交易处理方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的私密交易处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的私密交易处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种私密交易处理方法,其特征在于,所述方法应用于公链网络中的私密群组中的私密节点,所述私密节点是所述公链网络的多个节点中的部分节点,所述方法包括:
接收所述私密群组中的第一指定节点发送的多个私密交易,所述多个私密交易之间具有顺序关系,每个私密交易是在所述私密群组内执行的交易;
按照所述多个私密交易的顺序关系,依次执行所述多个私密交易,以获得具有顺序关系的多个执行结果;
为所述多个执行结果计算总hash值,并与所述私密群组中的其他私密节点,对所述总hash值进行共识,以及在所述总hash值通过共识的情况下,记录所述多个执行结果与所述总hash值之间的对应关系;
获得并执行存证交易,所述存证交易是在所述总hash值通过共识的情况下,由所述私密群组中的一个私密节点生成的,所述存证交易是在所述公链网络内执行的交易,所述存证交易携带所述总hash值,所述存证交易用于使所述公链网络的区块链记录所述总hash值。
2.根据权利要求1所述的方法,其特征在于,所述公链网络中包括多个私密群组,不同的私密群组分别对应有不同的群组标识,所述公链网络中存在同时属于多个私密群组的私密节点;
所述方法还包括:
获得私密交易,该私密交易携带群组标识;
根据该私密交易携带的群组标识,确定该私密交易所属的目标私密群组;
将该私密交易提交给该目标私密群组中的第一指定节点,以使得该第一指定节点对属于该目标私密群组的私密交易进行排序。
3.根据权利要求2所述的方法,其特征在于,每个私密节点运行有私密数据库,如果一个私密节点同时属于多个私密群组,则该私密节点运行有多个私密数据库,每个私密数据库分别对应不同的私密群组;
所述为所述多个执行结果计算总hash值,并与所述私密群组中的其他私密节点,对所述总hash值进行共识,以及在所述总hash值通过共识的情况下,记录所述多个执行结果与所述总hash值之间的对应关系,包括:
为所述多个执行结果计算总hash值;
根据所述多个私密交易所携带的群组标识,确定所述多个私密交易所属的目标私密群组;
与该目标私密群组中的其他私密节点,对所述总hash值进行共识;
在所述总hash值通过共识的情况下,利用该目标私密群组所对应的私密数据库,记录所述多个执行结果与所述总hash值之间的对应关系。
4.根据权利要求1所述的方法,其特征在于,所述获得存证交易,包括:
接收所述公链网络中的第二指定节点发送的多个公共交易,所述多个公共交易中包括所述存证交易,所述多个公共交易之间具有顺序关系,每个公共交易是在所述公链网络内执行的交易;
其中,所述存证交易是所述私密群组中的一个私密节点发送给所述第二指定节点的。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收客户端侧发送的公共交易;
将所述公共交易提交给所述第二指定节点,以使得所述第二指定节点对属于所述公链网络的公共交易进行排序。
6.一种私密交易处理方法,其特征在于,所述方法应用于公链网络中的私密群组中的第一指定节点,所述私密群组中包括多个私密节点,所述多个私密节点是所述公链网络的多个节点中的部分节点,所述方法包括:
向所述私密群组中的各私密节点发送具有顺序关系的多个私密交易,以使得各私密节点按照所述顺序关系依次执行所述多个私密交易并获得具有顺序关系的多个执行结果,其中,每个私密交易是在所述私密群组内执行的交易;
在各私密节点为各自获得的多个执行结果计算出总hash值,且某一总hash值通过共识之后,生成存证交易,所述存证交易携带该通过共识的总hash值,所述存证交易是在所述公链网络内执行的交易,所述存证交易用于使所述公链网络的区块链记录该通过共识的总hash值;
将所述存证交易提交给所述公链网络中的第二指定节点,以使得所述第二指定节点将所述存证交易分发给所述公链网络中的每个节点执行。
7.一种私密交易处理装置,其特征在于,所述装置应用于公链网络中的私密群组中的私密节点,所述私密节点是所述公链网络的多个节点中的部分节点,所述装置包括:
私密交易接收模块,用于接收所述私密群组中的第一指定节点发送的多个私密交易,所述多个私密交易之间具有顺序关系,每个私密交易是在所述私密群组内执行的交易;
私密交易执行模块,用于按照所述多个私密交易的顺序关系,依次执行所述多个私密交易,以获得具有顺序关系的多个执行结果;
共识模块,用于为所述多个执行结果计算总hash值,并与所述私密群组中的其他私密节点,对所述总hash值进行共识,以及在所述总hash值通过共识的情况下,记录所述多个执行结果与所述总hash值之间的对应关系;
存证交易执行模块,用于获得并执行存证交易,所述存证交易是在所述总hash值通过共识的情况下,由所述私密群组中的一个私密节点生成的,所述存证交易是在所述公链网络内执行的交易,所述存证交易携带所述总hash值,所述存证交易用于使所述公链网络的区块链记录所述总hash值。
8.一种私密交易处理装置,其特征在于,所述装置应用于公链网络中的私密群组中的第一指定节点,所述私密群组中包括多个私密节点,所述多个私密节点是所述公链网络的多个节点中的部分节点,所述装置包括:
私密交易发送模块,用于向所述私密群组中的各私密节点发送具有顺序关系的多个私密交易,以使得各私密节点按照所述顺序关系依次执行所述多个私密交易并获得具有顺序关系的多个执行结果,其中,每个私密交易是在所述私密群组内执行的交易;
存证交易生成模块,用于在各私密节点为各自获得的多个执行结果计算出总hash值,且某一总hash值通过共识之后,生成存证交易,所述存证交易携带该通过共识的总hash值,所述存证交易是在所述公链网络内执行的交易,所述存证交易用于使所述公链网络的区块链记录该通过共识的总hash值;
存证交易提交模块,用于将所述存证交易提交给所述公链网络中的第二指定节点,以使得所述第二指定节点将所述存证交易分发给所述公链网络中的每个节点执行。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于在执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤,或者实现权利要求6所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1-5任一所述的方法步骤,或者实现权利要求6所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010899288.6A CN112039893B (zh) | 2020-08-31 | 2020-08-31 | 私密交易处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010899288.6A CN112039893B (zh) | 2020-08-31 | 2020-08-31 | 私密交易处理方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112039893A true CN112039893A (zh) | 2020-12-04 |
CN112039893B CN112039893B (zh) | 2023-04-18 |
Family
ID=73587010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010899288.6A Active CN112039893B (zh) | 2020-08-31 | 2020-08-31 | 私密交易处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112039893B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113067904A (zh) * | 2021-06-02 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 组建区块链子网的方法和区块链系统 |
CN113987574A (zh) * | 2021-10-27 | 2022-01-28 | 成都质数斯达克科技有限公司 | 一种区块链私密交易方法、装置、设备及可读存储介质 |
CN113987596A (zh) * | 2021-10-27 | 2022-01-28 | 成都质数斯达克科技有限公司 | 区块链隐私交易保护方法、装置、设备及可读存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911216A (zh) * | 2017-10-26 | 2018-04-13 | 矩阵元技术(深圳)有限公司 | 一种区块链交易隐私保护方法及系统 |
CN109995850A (zh) * | 2019-03-05 | 2019-07-09 | 深圳前海微众银行股份有限公司 | 一种区块链系统及区块链系统的交易处理方法 |
CN110059088A (zh) * | 2019-03-26 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种块链式账本中的数据属性标识方法、装置及设备 |
CN110415117A (zh) * | 2019-06-28 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 基于区块链的交易处理方法、装置和电子设备 |
CN110555310A (zh) * | 2018-06-01 | 2019-12-10 | 厦门本能管家科技有限公司 | 一种私有数据安全存储与共享方法及其装置 |
CN110601815A (zh) * | 2019-09-17 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种区块链数据处理方法以及设备 |
CN110602694A (zh) * | 2019-09-16 | 2019-12-20 | 广州大学 | 一种基于区块链的用户隐私保护群智感知系统 |
CN111143885A (zh) * | 2020-04-02 | 2020-05-12 | 支付宝(杭州)信息技术有限公司 | 区块链交易处理方法及装置和区块链节点 |
CN111327419A (zh) * | 2020-01-21 | 2020-06-23 | 南京如般量子科技有限公司 | 基于秘密共享的抗量子计算区块链的方法及系统 |
CN111538757A (zh) * | 2020-04-13 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 数据存储方法、查询方法、装置、服务器及介质 |
CN111556049A (zh) * | 2020-04-26 | 2020-08-18 | 苏州鸿链信息科技有限公司 | 一种基于共识节点分组隔离的区块链隐私保护方法 |
-
2020
- 2020-08-31 CN CN202010899288.6A patent/CN112039893B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911216A (zh) * | 2017-10-26 | 2018-04-13 | 矩阵元技术(深圳)有限公司 | 一种区块链交易隐私保护方法及系统 |
CN110555310A (zh) * | 2018-06-01 | 2019-12-10 | 厦门本能管家科技有限公司 | 一种私有数据安全存储与共享方法及其装置 |
CN109995850A (zh) * | 2019-03-05 | 2019-07-09 | 深圳前海微众银行股份有限公司 | 一种区块链系统及区块链系统的交易处理方法 |
CN110059088A (zh) * | 2019-03-26 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种块链式账本中的数据属性标识方法、装置及设备 |
CN110415117A (zh) * | 2019-06-28 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 基于区块链的交易处理方法、装置和电子设备 |
CN110602694A (zh) * | 2019-09-16 | 2019-12-20 | 广州大学 | 一种基于区块链的用户隐私保护群智感知系统 |
CN110601815A (zh) * | 2019-09-17 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种区块链数据处理方法以及设备 |
CN111327419A (zh) * | 2020-01-21 | 2020-06-23 | 南京如般量子科技有限公司 | 基于秘密共享的抗量子计算区块链的方法及系统 |
CN111143885A (zh) * | 2020-04-02 | 2020-05-12 | 支付宝(杭州)信息技术有限公司 | 区块链交易处理方法及装置和区块链节点 |
CN111538757A (zh) * | 2020-04-13 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 数据存储方法、查询方法、装置、服务器及介质 |
CN111556049A (zh) * | 2020-04-26 | 2020-08-18 | 苏州鸿链信息科技有限公司 | 一种基于共识节点分组隔离的区块链隐私保护方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113067904A (zh) * | 2021-06-02 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 组建区块链子网的方法和区块链系统 |
CN113987574A (zh) * | 2021-10-27 | 2022-01-28 | 成都质数斯达克科技有限公司 | 一种区块链私密交易方法、装置、设备及可读存储介质 |
CN113987596A (zh) * | 2021-10-27 | 2022-01-28 | 成都质数斯达克科技有限公司 | 区块链隐私交易保护方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112039893B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111898148B (zh) | 一种基于区块链的信息监管方法及装置 | |
CN112039893B (zh) | 私密交易处理方法、装置、电子设备及可读存储介质 | |
CN111523890B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN110633963B (zh) | 电子票据处理方法、装置、计算机可读存储介质和设备 | |
EP3959842A1 (en) | Extracting data from a blockchain network | |
CN108200208B (zh) | 基于云计算的物流区块链共识算法 | |
CN109255056B (zh) | 区块链的数据引用处理方法、装置、设备及存储介质 | |
CN110266872B (zh) | 通讯录数据的管控方法、装置及云通讯录系统、计算机设备、计算机可读存储介质 | |
CN110599331B (zh) | 基于区块链的债务催收系统、方法、设备及存储介质 | |
WO2021208762A1 (zh) | 数据存储、查询 | |
CN111899019A (zh) | 一种黑名单多方交叉验证和共享的方法及系统 | |
CN110602217A (zh) | 基于区块链的联盟管理方法、装置、设备及存储介质 | |
CN110084600B (zh) | 决议事务请求的处理、验证方法、装置、设备及介质 | |
CN112671881B (zh) | 节点组织管理方法、装置、电子设备及可读存储介质 | |
CN112612856A (zh) | 基于区块链的数据处理方法和装置 | |
CN110910143A (zh) | 身份标识生成方法、装置、相关节点及介质 | |
CN111010282A (zh) | 一种基于区块链的信息处理方法及相关装置 | |
CN112712452A (zh) | 基于区块链的审批信息处理方法和装置 | |
Garcia Bringas et al. | BlockChain platforms in financial services: current perspective | |
CN111292057A (zh) | 一种基于区块链的业务处理方法 | |
CN105096034A (zh) | 电子政务的实现方法和电子政务系统 | |
CN112581129A (zh) | 区块链交易数据治理方法及装置、计算机设备及存储介质 | |
CN112037055B (zh) | 交易处理方法、装置、电子设备及可读存储介质 | |
CN112069529B (zh) | 基于区块链的卷宗管理方法、装置、计算机以及存储介质 | |
CN112037062B (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 |