用于处理区块链交易数据的方法和设备及存储介质与流程

文档序号:31663251发布日期:2022-09-27 23:27阅读:29来源:国知局
用于处理区块链交易数据的方法和设备及存储介质与流程

1.本公开涉及信息处理领域,并且具体地涉及区块链交易数据的处理。


背景技术:

2.随着区块链技术的成熟,应用的规模逐渐扩大,区块链账本存储的可扩展性问题迫在眉睫。
3.对于区块链网络中的每个节点,需要保存相同的账本数据,以达成整个区块链网络的数据一致性。不同于传统的分布式网络,基于区块链的去中心化网络应用,其存储规模不会随着新节点的加入而增加,必须要每个节点都扩展自己的存储大小。伴随着应用中交易规模的扩大,区块账本的大小也逐渐增大,节点存储负担也会越来越重。


技术实现要素:

4.在下文中给出了关于本公开的简要概述,以便提供关于本公开的某些方面的基本理解。但是,应当理解,这个概述并不是关于本公开的穷举性概述。它并不是意图用来确定本公开的关键性部分或重要部分,也不是意图用来限定本公开的范围。其目的仅仅是以简化的形式给出关于本公开的某些概念,以此作为稍后给出的更详细描述的前序。
5.根据本公开的一个方面,提供了一种用于处理区块链交易数据的方法,包括:用户向对等节点发起交易的请求;所述对等节点对所述交易进行背书和加密,并且将经背书和加密的交易发送至排序节点;所述排序节点对所述经背书和加密的交易排序、基于经排序的交易产生原始区块及其证明以及对所述原始区块的第一承诺、并且将所述原始区块及其证明发送至远端存储单元;和所述对等节点基于所述第一承诺和所述原始区块产生对所述交易的验证结果及其证明以及对所述验证结果的第二承诺,并且将所述验证结果及其证明发送至所述远端存储单元。
6.优选地,所述对等节点产生所述验证结果及其证明以及所述第二承诺包括:从所述排序节点取回所述第一承诺并且从所述远端存储单元取回所述原始区块中与所述对等节点相关联的交易的数据及其证明;对与所述对等节点相关联的交易进行解密;和产生对与所述对等节点相关联的交易的所述验证结果及其证明以及对所述验证结果的所述第二承诺。
7.优选地,所述对等节点与所述原始区块中的交易数据及其证明的关联性的标签由所述对等节点在对所述交易进行加密时设置,或者由所述对等节点提供给所述排序节点并且由所述排序节点设置到所述原始区块中。
8.优选地,所述对等节点包括多个对等节点,并且所述方法还包括对所述多个对等节点分组,其中,属于同一个组的对等节点遵循相同的加密和解密规则。
9.优选地,按照组织、用户、通道、合约或用户指定的规则来对所述多个对等节点进行分组。
10.优选地,一个组中的对等节点所处理的交易与其他组中的对等节点所处理的交易
不同。
11.优选地,所述排序节点本地保存所述第一承诺,并且所述对等节点本地保存所述第二承诺。
12.优选地,基于向量承诺来产生所述原始区块的证明、所述验证结果的证明以及所述第一承诺和所述第二承诺,以及其中,基于所述原始区块的证明以及所述第一承诺验证所述原始区块中的交易的完整性,并且基于所述验证结果的证明和所述第二承诺来验证所述交易的结果有效性和所述结果有效性的完整性。
13.根据本公开的另一方面,提供了一种用于处理区块链交易数据的设备,包括:请求装置,其被配置成通过用户向对等节点发起交易的请求;加密装置,其被配置成通过所述对等节点对所述交易进行背书和加密,并且将经背书和加密的交易发送至排序节点;第一承诺生成装置,其被配置成通过所述排序节点对所述经背书和加密的交易排序、基于经排序的交易产生原始区块及其证明以及对所述原始区块的第一承诺、并且将所述原始区块及其证明发送至远端存储单元;和第二承诺生成装置,其被配置成通过所述对等节点基于所述第一承诺和所述原始区块产生对所述交易的验证结果及其证明以及对所述验证结果的第二承诺,并且将所述验证结果及其证明发送至所述远端存储单元。
14.根据本公开的其它方面,还提供了用于实现上述根据本公开的方法的计算机程序代码和计算机程序产品,以及其上记录有该用于实现上述根据本公开的方法的计算机程序代码的计算机可读存储介质。
15.通过本发明的用于处理区块链交易数据的方法和设备,使得能够减轻节点的存储负担,同时保证数据的机密性。
16.通过以下结合附图对本发明的优选实施方式的详细说明,本发明的这些以及其他优点将更加明显。
附图说明
17.本公开可以通过参考下文中结合附图所给出的详细描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并形成说明书的一部分,用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。其中:
18.图1是示出根据本公开的方案的系统架构图;
19.图2a示意性地示出了优化前的数据流向;
20.图2b示意性地示出了优化后的数据流向;
21.图3是示出根据本公开的实施方式的用于处理区块链交易数据的方法的流程图;
22.图4是示出根据本公开的实施方式的对等节点如何产生对交易的验证结果及其证明以及对验证结果的第二承诺的流程图;
23.图5示意性地示出了对对等节点进行分组的示例;
24.图6是示出根据本公开的实施方式的用于处理区块链交易数据的设备的框图;
25.图7是示出作为本公开的实施例中可采用的个人计算机的示例结构的框图。
具体实施方式
26.在下文中将结合附图对本公开的示范性实施方式进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施方式的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
27.在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本公开,在附图中仅仅示出了与根据本公开的方案密切相关的设备结构和/或处理步骤,而省略了与本公开关系不大的其他细节。
28.如前文所述,随着区块账本的大小逐渐增大,节点存储负担也越来越重。为了解决该问题,已经提出一种可扩展的区块链账本数据存储的方案。该方案将节点下的区块数据都保存在远端的可扩展的数据服务器上,但利用区块的哈希承诺及交易的成员证明保证远端存储数据的正确性,以此缩减每个节点的存储压力。
29.然而,该方案还存在以下缺陷:首先,网络负载过大,每个节点都需要跟远程数据库连接以传输区块,并且区块的内容大部分相似;其次,排序(ordering)节点的存储压力过大,它需要存储所有区块以待验证;最后,所有节点都可以访问远程服务器上的数据,容易泄露隐私。
30.基于此,本公开提出了一种优化方案:一方面改进节点与远程数据库的数据流,将排序节点的存储迁移到远程数据库上;另一方面,可以对节点进行分组,对同一组内的交易采用相同的密钥加密,保证不同组之间的数据的机密性。
31.图1示出了本公开的方案的系统架构图,其中,通过减小排序节点的存储压力,构造一个更轻量级、更灵活可控的区块链网络。图1的左侧是轻量级的区块链网络10的架构,其包括例如四个组织5、6、7、8。组织5中的对等节点1、对等节点2和对等节点3及排序节点100上的账本数据都被迁移到了远程数据库200中,但在排序节点100及对等节点1、对等节点2和对等节点3保留了对其所属账本数据的承诺哈希,用于验证远端数据的完整性。在远程数据库200中,数据存储也更加细粒度,将原始区块的交易数据与其验证信息进行分离,并支持原始区块的交易数据的加密处理。
32.已知地,在诸如超级账本(hyperledger fabric)这样的区块链架构下,交易会经过以下几个过程到达排序节点100:
33.客户端向例如对等(背书)节点1提交交易请求;
34.在对等节点1上,按照交易请求执行链码(chaincode)完成背书,并把交易的初步结果返回给客户端;
35.客户端将交易的初步结果发给排序节点100,排序节点100对收集到的多个交易进行排序,并打包成原始区块。
36.在本公开的优化方案中,在对所有提交到排序节点100的交易进行排序之后,通过优化排序节点100与远程数据库200之间的数据流来减小排序节点100的存储压力,同时缩减网络间的数据传输压力。下面结合图2a和图2b详细说明优化前后的数据流向变化。
37.图2a示出了优化前的数据流向。如图2a所示,当排序节点100对接收到的交易进行
排序并打包成原始区块之后,会执行以下操作:
38.例如对等(peer)节点1从排序节点100或其他已有数据的对等节点2或3上获取原始区块;
39.对等节点1对原始区块中的每个交易进行验证并且判断交易的有效性,然后对验证后的区块构造承诺哈希并将该承诺存储在本地;以及
40.对等节点1将验证后的区块以及这些区块的证明发送到远程数据库200。
41.图2b示出了优化后的数据流向。如图2b所示,当排序节点100已经将排序后的交易打包成原始区块之后,执行以下的操作:
42.排序节点100对原始区块构造承诺哈希,并将该承诺哈希保存在排序节点100本地;
43.排序节点100将原始区块以及与该原始区块对应的证明,发送到远程数据库200保存;
44.对等节点1提取原始区块数据,并进行如下验证操作:
45.对等节点1从排序节点100获取第一承诺哈希;
46.对等节点1从远程数据库200或是已有原始区块的对等节点2或3上,获取原始区块及对应的证明;
47.对等节点1根据原始区块的第一承诺哈希以及对应的证明,验证原始区块的完整性,并且然后对原始区块中的每个交易进行验证、确定交易的有效性并且对交易的有效性结果构造第二承诺哈希,并将该第二承诺保存在本地;以及
48.对等节点1将交易的有效性结果及对应的证明发送到远程数据库200中存储。
49.从以上结合图2a和图2b介绍的优化前后的对比中可以看出,在未优化的情况下,所有打包好的原始区块都保存在排序节点100本地,导致其存储压力较大;而在优化后,原始区块的内容被保存在远程数据库200,排序节点100本地只保存相应的承诺哈希,从而缩减了排序节点100的存储负荷。
50.根据本公开的方案还包括网络传输方面的优化。具体地,优化后,在排序节点100及对等节点1、对等节点2和对等节点3之间只需要传送原始区块的承诺哈希;并且在对等节点1、对等节点2和对等节点3及远程数据库200之间只需要传送交易的验证结果以及验证结果的证明。
51.另外,在未优化的情况下,对于同一个原始区块,如果对等节点1、对等节点2和对等节点3对这个区块中的交易的有效性判断结果不一致,那么在远程数据库200中就会保存多份原始区块的拷贝;而优化后,由于原始区块的内容以及原始区块中交易的有效性是分开存储的,因此即使对同一个原始区块有不同的验证结果,也只需要分开存储不同的验证结果,而不再需要保存多份原始区块的拷贝。也就是说,远程数据库200仅存储原始区块的一个拷贝以及与该原始区块相对应的一个或更多个验证结果。因此,优化后,远程数据库200的存储颗粒度更细。
52.下面结合图3至图5来描述根据本公开的实施方式的用于处理区块链交易数据的方法300。
53.首先,在步骤301中,用户向对等节点发起交易的请求。具体地,在本实施方式中,例如,图5中的客户端11和/或客户端12的用户向组织5中的对等节点1、对等节点2和/或对
等节点3发起交易请求。
54.接着,在步骤302中,对等节点对交易进行背书和加密,并且将经背书和加密的交易发送至排序节点。例如,图5中的对等节点1对交易{tx1,tx5}进行背书和加密,并且将经背书和加密的交易{tx1,tx5}发送至排序节点100。
55.应理解,如何对交易进行背书和加密是本领域公知常识,并且因此在此不再赘述。
56.根据实施方式,对等节点与原始区块中的交易数据及其证明的关联性的标签可以由该对等节点在对交易进行加密时设置,或者由该对等节点提供给排序节点并且由排序节点设置到原始区块中。
57.接着,在步骤303中,排序节点对经背书和加密的交易排序、基于经排序的交易产生原始区块及其证明以及对原始区块的第一承诺、并且将原始区块及其证明发送至远端存储单元。例如,图5中的排序节点100对交易{tx1,tx5}和{tx2,tx3}进行排序、产生原始区块及其证明以及对原始区块的第一承诺、并且将原始区块及其证明发送至远程数据库200。
58.优选地,由排序节点本地保存第一承诺。
59.应理解,如何对交易排序、产生原始区块及其证明以及对原始区块的第一承诺是本领域公知常识,并且因此在此不再赘述。
60.最后,在步骤304中,对等节点基于第一承诺和原始区块产生对交易的验证结果及其证明以及对验证结果的第二承诺,并且将验证结果及其证明发送至远端存储单元。
61.图4是对等节点如何产生对交易的验证结果及其证明以及对验证结果的第二承诺的流程图。
62.如图4所示,在步骤3041中,对等节点从排序节点取回第一承诺并且从远端存储单元取回原始区块中与对等节点相关联的交易的数据及其证明。例如,图5中的对等节点1从排序节点100取回第一承诺并且从远程数据库200取回原始区块中与对等节点1相关联的交易{tx1,tx5}的数据及其证明
15

63.应理解,图5中的对等节点2由于同时存在于两个组中,因此可以从远程数据库200取回原始区块中的与对等节点2相关联的交易{tx1,tx2,tx3,tx5}的数据及其证明
1235

64.接着,在步骤3042中,对与对等节点相关联的交易进行解密。例如,图5中的对等节点1对与其关联的交易{tx1,tx5}进行解密。
65.接着,在步骤3403中,产生对与对等节点相关联的交易的验证结果及其证明以及对验证结果的第二承诺。例如,图5中的对等节点1产生与其关联的交易{tx1,tx5}的验证结果及其证明以及对验证结果的第二承诺。
66.优选地,由对等节点本地保存第二承诺。
67.最后,在步骤3404中,将验证结果及其证明发送至远端存储单元。例如,图5中的对等节点1将验证结果及其证明发送至远程数据库200。
68.应理解,如何对交易解密、产生对交易的验证结果及其证明以及对验证结果的第二承诺是本领域公知常识,并且因此在此不再赘述。
69.根据实施方式,可以基于向量承诺来产生原始区块的证明、验证结果的证明以及第一承诺和第二承诺。向量承诺可以是例如默克尔树、rsa累加器、多项式承诺等等。
70.根据实施方式,可以基于原始区块的证明以及第一承诺来验证原始区块中的交易的完整性,并且基于验证结果的证明和第二承诺来验证交易的结果有效性和结果有效性的
完整性。
71.优选地,在存在多个对等节点的情况下,例如图5中的对等节点1、对等节点2和对等节点3,方法300还包括在步骤301之后的对多个对等节点分组的步骤302’,其中,属于同一个组的对等节点遵循相同的加密和解密规则。也就是说,同一组内的对等节点享有相同的密钥。
72.优选地,可以例如按照组织、用户、通道、合约或用户指定的规则来对多个对等节点进行分组。
73.图5示出了对对等节点1、对等节点2和对等节点3进行分组的示例。如图5所示,对等节点1、对等节点2和对等节点3属于同一个组织,而对等节点1和对等节点2属于通道1和智能合约1,并且对等节点2和对等节点3属于通道2和智能合约2。通道1/智能合约1的节点组处理交易tx1和交易tx5,而通道2/智能合约2的节点组处理交易tx2和交易tx3。
74.应理解,如果同一个区块内的交易来自不同组的对等节点,则由于采用了不同的密钥加密,因此即使整个区块被一个对等节点获取,也无法解析其内容,这保证了数据的机密性。例如,如图5所示,如果交易tx1,tx5是由客户端11提交的,而交易tx2,tx3是由客户端12提交的,那么即使这些交易被打包在一个区块中,也是被不同地加密处理的,从而确保了客户端11的交易内容不会被客户端12看到。
75.还应理解,进行分组后,不同组的对等节点负责不同的交易,而每个组中的每个对等节点负责同一交易的一整套流程,包括背书、加密解密、验证等等。
76.例如,如图5所示,对等节点1和对等节点2处理交易{tx1,tx5},而对等节点2和对等节点3处理交易{tx2,tx3}。下面以对等节点1为例详细介绍对等节点1所负责的交易{tx1,tx5}的完整操作流程:
77.对交易{tx1,tx5}进行背书、加密处理;
78.将交易{tx1,tx5}发送到排序节点100;
79.排序节点100将收到的所有交易打包成原始区块,并构造承诺哈希,并且然后将该原始区块及其证明发送到远程数据库200保存;
80.对等节点1从远程数据库200获取{tx1,tx
5,
证明
15
},并且结合从排序节点100得到的承诺1来验证交易{tx1,tx5}的完整性;
81.对交易{tx1,tx5}进行解密,并进行交易的有效性判断,并且将有效性的结果及相应的证明发送到远程数据库200存储。
82.通过以上结合图3至图5描述的用于处理区块链交易数据的方法300,使得改进了对等节点与远程数据库的数据流,并且通过将排序节点的存储迁移到远程数据库上而减轻了排序节点的存储负荷。另外,通过对对等节点进行分组并且对同一组内的交易采用相同的密钥加密,确保了不同组之间的数据的机密性。
83.以上所讨论的方法可以完全由计算机可执行的程序来实现,也可以部分地或完全地使用硬件和/或固件来实现。当其用硬件和/或固件实现时,或者将计算机可执行的程序载入可运行程序的硬件设备时,则实现了下文将要描述的用于处理区块链交易数据的设备。下文中,在不重复上文中已经讨论的一些细节的情况下给出这些设备的概要,但是应当注意,虽然这些设备可以执行前文所描述的方法,但是所述方法不一定采用所描述的设备的那些部件或不一定由那些部件执行。
84.图6示出了根据一个实施方式的用于处理区块链交易数据的设备600,其包括请求装置601、加密装置602、第一承诺生成装置603和第二承诺生成装置604。请求装置601用于通过用户向对等节点发起交易的请求。加密装置602用于通过对等节点对交易进行背书和加密,并且将经背书和加密的交易发送至排序节点。第一承诺生成装置603用于通过排序节点对经背书和加密的交易排序、基于经排序的交易产生原始区块及其证明以及对原始区块的第一承诺、并且将原始区块及其证明发送至远端存储单元。第二承诺生成装置604用于通过对等节点基于第一承诺和原始区块产生对交易的验证结果及其证明以及对验证结果的第二承诺,并且将验证结果及其证明发送至远端存储单元。
85.根据一个优选的实施方式,用于处理区块链交易数据的设备600还包括分组装置602’,其用于对多个对等节点分组,其中,属于同一个组的对等节点遵循相同的加密和解密规则。
86.图6所示的用于处理区块链交易数据的设备600对应于图3所示的用于处理区块链交易数据的方法300。因此,用于处理区块链交易数据的设备600中的各装置的相关细节已经在对图3的用于处理区块链交易数据的方法300的描述中详细给出,在此不再赘述。
87.上述装置中各个组成模块、单元可通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机(例如图7所示的通用计算机700)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
88.图7是其中可以实现根据本发明的实施方式的方法和/或设备的通用个人计算机的示例性结构的框图。如图7所示,中央处理单元(cpu)701根据只读存储器(rom)702中存储的程序或从存储部分708加载到随机存取存储器(ram)703的程序执行各种处理。在ram 703中,也根据需要存储当cpu 701执行各种处理等等时所需的数据。cpu 701、rom 702和ram 703经由总线704彼此连接。输入/输出接口705也连接到总线704。
89.下述部件连接到输入/输出接口705:输入部分706(包括键盘、鼠标等等)、输出部分707(包括显示器,比如阴极射线管(crt)、液晶显示器(lcd)等,和扬声器等)、存储部分708(包括硬盘等)、通信部分709(包括网络接口卡比如lan卡、调制解调器等)。通信部分709经由网络比如因特网执行通信处理。根据需要,驱动器710也可连接到输入/输出接口705。可移除介质711比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器710上,使得从中读出的计算机程序根据需要被安装到存储部分708中。
90.在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可移除介质711安装构成软件的程序。
91.本领域的技术人员应当理解,这种存储介质不局限于图7所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可移除介质711。可移除介质711的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(cd-rom)和数字通用盘(dvd))、磁光盘(包含迷你盘(md)(注册商标))和半导体存储器。或者,存储介质可以是rom 702、存储部分708中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
92.本发明还提出了相应的计算机程序代码、一种存储有机器可读取的指令代码的计算机程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明实施方式的方法。
93.相应地,被配置为承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的公开中。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
94.通过以上描述,本公开的实施方式提供了以下的技术方案,但不限于此。
95.附记1.一种用于处理区块链交易数据的方法,包括:
96.用户向对等节点发起交易的请求;
97.所述对等节点对所述交易进行背书和加密,并且将经背书和加密的交易发送至排序节点;
98.所述排序节点对所述经背书和加密的交易排序、基于经排序的交易产生原始区块及其证明以及对所述原始区块的第一承诺、并且将所述原始区块及其证明发送至远端存储单元;和
99.所述对等节点基于所述第一承诺和所述原始区块产生对所述交易的验证结果及其证明以及对所述验证结果的第二承诺,并且将所述验证结果及其证明发送至所述远端存储单元。
100.附记2.根据附记1的方法,其中,所述对等节点产生所述验证结果及其证明以及所述第二承诺包括:
101.从所述排序节点取回所述第一承诺并且从所述远端存储单元取回所述原始区块中与所述对等节点相关联的交易的数据及其证明;
102.对与所述对等节点相关联的交易进行解密;和
103.产生对与所述对等节点相关联的交易的所述验证结果及其证明以及对所述验证结果的所述第二承诺。
104.附记3.根据附记2的方法,其中,所述对等节点与所述原始区块中的交易数据及其证明的关联性的标签由所述对等节点在对所述交易进行加密时设置,或者由所述对等节点提供给所述排序节点并且由所述排序节点设置到所述原始区块中。
105.附记4.根据附记2的方法,其中,所述对等节点包括多个对等节点,并且所述方法还包括对所述多个对等节点分组,其中,属于同一个组的对等节点遵循相同的加密和解密规则。
106.附记5.根据附记4的方法,其中,按照组织、用户、通道、合约或用户指定的规则来对所述多个对等节点进行分组。
107.附记6.根据附记5的方法,其中,一个组中的对等节点所处理的交易与其他组中的对等节点所处理的交易不同。
108.附记7.根据附记1至6中任一项的方法,其中,所述排序节点本地保存所述第一承诺,并且所述对等节点本地保存所述第二承诺。
109.附记8.根据附记1至6中任一项的方法,其中,对所述交易的验证包括验证所述交易的完整性和有效性。
110.附记9.根据附记8的方法,其中,基于向量承诺来产生所述原始区块的证明、所述验证结果的证明以及所述第一承诺和所述第二承诺,以及其中,基于所述原始区块的证明以及所述第一承诺验证所述原始区块中的交易的完整性,并且基于所述验证结果的证明和所述第二承诺来验证所述交易的结果有效性和所述结果有效性的完整性。
111.附记10.根据附记9的方法,其中,所述向量承诺包括默克尔树、rsa累加器和多项式承诺。
112.附记11.根据附记1至6中任一项的方法,其中,所述远端存储单元仅存储所述原始区块的一个拷贝以及与该原始区块相对应的一个或更多个验证结果。
113.附记12.根据附记11的方法,其中,所述远端存储单元是远端数据库服务器。
114.附记13.一种用于处理区块链交易数据的设备,包括:
115.请求装置,其被配置成通过用户向对等节点发起交易的请求;
116.加密装置,其被配置成通过所述对等节点对所述交易进行背书和加密,并且将经背书和加密的交易发送至排序节点;
117.第一承诺生成装置,其被配置成通过所述排序节点对所述经背书和加密的交易排序、基于经排序的交易产生原始区块及其证明以及对所述原始区块的第一承诺、并且将所述原始区块及其证明发送至远端存储单元;和
118.第二承诺生成装置,其被配置成通过所述对等节点基于所述第一承诺和所述原始区块产生对所述交易的验证结果及其证明以及对所述验证结果的第二承诺,并且将所述验证结果及其证明发送至所述远端存储单元。
119.附记14.根据附记13的设备,其中,所述第二承诺生成装置还被配置成:
120.从所述排序节点取回所述第一承诺并且从所述远端存储单元取回所述原始区块中与所述对等节点相关联的交易的数据及其证明;
121.对与所述对等节点相关联的交易进行解密;和
122.产生对与所述对等节点相关联的交易的所述验证结果及其证明以及对所述验证结果的所述第二承诺。
123.附记15.根据附记14的设备,其中,所述对等节点与所述原始区块中的交易数据及其证明的关联性的标签由所述对等节点在对所述交易进行加密时设置,或者由所述对等节点提供给所述排序节点并且由所述排序节点设置到所述原始区块中。
124.附记16.根据附记14的设备,其中,所述对等节点包括多个对等节点,并且所述设备还包括分组装置,其被配置成对所述多个对等节点分组,其中,属于同一个组的对等节点遵循相同的加密和解密规则。
125.附记17.根据附记16的设备,其中,按照组织、用户、通道、合约或用户指定的规则来对所述多个对等节点进行分组。
126.附记18.根据附记17的设备,其中,一个组中的对等节点所处理的交易与其他组中的对等节点所处理的交易不同。
127.附记19.根据附记13至18中任一项的方法,其中,所述排序节点本地保存所述第一承诺,并且所述对等节点本地保存所述第二承诺。
128.附记20.一种计算机可读存储介质,所述计算机可读存储介质存储有能够由处理器运行来执行以下操作的程序:
129.用户向对等节点发起交易的请求;
130.所述对等节点对所述交易进行背书和加密,并且将经背书和加密的交易发送至排序节点;
131.所述排序节点对所述经背书和加密的交易排序、基于经排序的交易产生原始区块
及其证明以及对所述原始区块的第一承诺、并且将所述原始区块及其证明发送至远端存储单元;和
132.所述对等节点基于所述第一承诺和所述原始区块产生对所述交易的验证结果及其证明以及对所述验证结果的第二承诺,并且将所述验证结果及其证明发送至所述远端存储单元。
133.最后,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。此外,在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
134.以上虽然结合附图详细描述了本发明的实施方式,但是应当明白,上面所描述的实施方式只是被配置为说明本发明,而并不构成对本发明的限制。对于本领域的技术人员来说,可以对上述实施方式作出各种修改和变更而没有背离本发明的实质和范围。因此,本发明的范围仅由所附的权利要求及其等效含义来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1