一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的交易的方法、节点、存储介质及计算装置与流程

2022-02-24 18:18:49 来源:中国专利 TAG:


1.本公开涉及区块链领域,具体而言涉及一种基于区块链的交易的方法、节点、存储介质及计算装置。


背景技术:

2.区块链技术现在越来越为人所熟知和认同。由于区块链的去中心化的特点,区块链具备了公开透明、防篡改等特性,数据可以通过区块链在各个节点之间进行共享。
3.但是对于某些重要数据,在实现数据共享的同时,还应该实现对这些数据的隐私性的保护。例如,重要数据需要只在若干个交易参与方之间共享,而区块链网络中的其他用户不能获取具体信息。
4.而且,区块链网络中可能存在恶意节点,这带来了数据被泄露的风险。
5.因此,存在对在实现数据的安全共享的同时保障数据的隐私性和安全性的需求。


技术实现要素:

6.根据本公开的第一方面,提供了一种用于基于区块链的交易的方法,包括:交易的发起节点从位于本地的隐私数据库读取交易数据;对交易数据进行计算,以得到经加密的交易数据和交易数据的摘要;以及发送交易请求到区块链,其中,该交易请求至少包括目标节点参数、经加密的交易数据和交易数据的摘要,目标节点参数标识交易的目标节点;并且其中,如果交易为隐私交易,则该交易请求还包括隐私交易参数,隐私交易参数标识该交易为隐私交易并且包括交易的相关节点的标识符,相关节点和发起节点经由区块链参与交易的共识。
7.根据本公开的第二方面,提供了一种用于基于区块链的交易的方法,包括:节点经由区块链接收来自发起节点的交易请求,该交易请求至少包括目标节点参数、经加密的交易数据和交易数据的摘要,目标节点参数标识交易的目标节点;判断该交易请求是否包括隐私交易参数,隐私交易参数标识该交易为隐私交易;如果该交易请求中包括隐私交易参数,则判断隐私交易参数中是否包括该节点的标识符;以及如果隐私交易参数中包括该节点的标识符,则该节点为相关节点,相关节点和发起节点经由区块链参与交易的共识。
8.根据本公开的第三方面,提供了一种用于基于区块链的交易的节点,包括:区块链模块,被配置为存储交易数据的摘要,并进行交易的共识;隐私数据库,位于节点本地,并且被配置为存储交易数据;加密/解密模块,被配置为对交易数据进行加密和解密;以及交易模块,被配置为:从位于本地的隐私数据库读取交易数据;计算交易数据的摘要,并将交易数据发送到加密/解密模块,以得到经加密的交易数据和交易数据的摘要;以及发送交易请求到区块链模块;其中,该交易请求至少包括目标节点参数、经加密的交易数据和交易数据的摘要,目标节点参数标识交易的目标节点;并且其中,如果交易为隐私交易,则该交易请求还包括隐私交易参数,隐私交易参数标识该交易为隐私交易并且包括交易的相关节点的标识符,相关节点和节点经由区块链参与交易的共识。
9.根据本公开的第四方面,提供了一种用于基于区块链的交易的节点,包括:区块链模块,被配置为存储交易数据的摘要,并进行交易的共识;加密/解密模块,被配置为对交易数据进行加密和解密;隐私数据库,位于节点本地,并且被配置为存储交易数据;以及交易模块,被配置为:从区块链模块接收来自发起节点的交易请求,该交易请求至少包括目标节点参数、经加密的交易数据和交易数据的摘要,目标节点参数标识交易的目标节点;判断该交易请求是否包括隐私交易参数,隐私交易参数标识该交易为隐私交易;如果该交易请求中包括隐私交易参数,则判断隐私交易参数中是否包括该节点的标识符;以及如果隐私交易参数中包括该节点的标识符,则该节点为相关节点,相关节点和发起节点经由区块链参与交易的共识。
10.根据本公开的第五方面,提供了一种用于基于区块链的交易的非瞬态计算机可读存储介质,其上存储有程序,其特征在于,当该程序由计算机执行时,使计算机执行根据本公开的第一方面的方法。
11.根据本公开的第六方面,提供了一种用于基于区块链的交易的非瞬态计算机可读存储介质,其上存储有程序,其特征在于,当该程序由计算机执行时,使计算机执行根据本公开的第二方面的方法。
12.根据本公开的第七方面,提供了一种用于基于区块链的交易的计算装置,包括存储器和处理器,存储器与处理器通信耦合,该存储器中存储有程序,该程序当由处理器执行时,使得该处理器执行根据本公开的第一方面的方法。
13.根据本公开的第八方面,提供了一种用于基于区块链的交易的计算装置,包括存储器和处理器,存储器与处理器通信耦合,该存储器中存储有程序,该程序当由处理器执行时,使得该处理器执行根据本公开的第二方面的方法。
14.本公开能够实现区块链中的隐私交易,在实现数据安全共享的同时保障交易数据的隐私性和安全性。
15.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得更为清楚。
附图说明
16.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
17.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
18.图1是根据本公开的实施例的区块链的结构示意图。
19.图2是根据本公开的实施例的在区块链中进行全局数据共享的示意图。
20.图3是根据本公开的实施例的在区块链中进行局部数据共享的示意图。
21.图4是根据本公开的实施例的节点的数据存储模型的示意图。
22.图5是根据本公开的实施例的隐私交易的示意图。
23.图6是根据本公开的实施例的隐私交易的示意图。
24.图7是根据本公开的实施例的针对发起节点的隐私交易的方法的流程图。
25.图8是根据本公开的实施例的针对相关节点的隐私交易的方法的流程图。
26.图9是根据本公开的实施例的数据安全验证的示意图。
27.图10是可以用于实现根据本公开的实施例的基于区块链的交易的计算设备的示例性配置的示意图。
28.为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,本公开并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
29.下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
30.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的结构及方法是以示例性的方式示出,来说明本公开中的结构和方法的不同实施例。然而,本领域技术人员将会理解,它们仅仅说明可以用来实施的本公开的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
31.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
32.图1是根据本公开的实施例的区块链的结构示意图。使用区块链进行多方数据共享,首先需要构建数据共享的联盟区块链。需要参与数据共享的参与方需要作为节点加入到联盟区块链中。在加入联盟区块链之前,参与方需要通过资格审核。在资格审核通过之后,向参与方分配证书,则参与方可以加入区块链,并进行多方数据共享。通过这样的方法,可以提升联盟区块链的节点的可信度,并且多个参与方可以共同维护区块链的运行。
33.在区块链中,以交易的形式实现多方之间的数据共享。这里的交易不特指商业交易,而是涵盖了在区块链中实现的任何数据交互和相关功能。
34.图2是根据本公开的实施例的在区块链中进行全局数据共享的示意图。在进行全局数据共享时,如图2中所示,区块链中的节点2的用户可以发起交易,通过节点2将需要共享的交易数据上传到区块链网络中。根据区块链的共识机制,区块链网络中的其他节点可以同步该交易数据。该区块链的其他用户(例如,图2中的节点4的用户)可以通过其节点从区块链中获取交易数据。
35.图3是根据本公开的实施例的在区块链中进行局部数据共享的示意图。
36.在进行局部数据共享时,可以从发起节点向目标节点发送隐私交易,而区块链中的不相关的节点不会获取到隐私交易的信息。例如,在图3中所示的实施例中,节点n为隐私交易的发起节点,节点2为隐私交易的目标节点。可以通过节点n向节点2发起隐私交易,在该隐私交易中,通过节点n向节点2共享交易数据,并且区块链中的其它不相关的节点不会获取此交易数据。
37.隐私交易可以指定交易相关方,交易相关方的节点即为该隐私交易的相关节点,仅在交易相关方的节点之间进行关于交易的信息的可信共享,从而仅交易相关方可以获取关于隐私交易的信息,保障了数据的隐私性。在根据本公开的实施例中,相关节点可以至少包括交易的目标节点。在根据本公开的其他实施例中,相关节点可以包括交易的发起节点和目标节点。在图3中所示的实施例中,相关节点可以包括作为发起节点的节点n和作为目
标节点的节点2。
38.在根据本公开的实施例中,相关节点可以包括监督节点。在隐私交易中,进行交易的各方可以使用拜占庭共识算法来防止节点作恶,因此可以引入监督节点。区块链网络中所有隐私交易都可以将监督节点作为交易相关方,该监督节点可以记录关于区块链网络中的交易的信息。在根据本公开的实施例中,监督节点可以是区块链网络中的固定节点,用于记录区块链网络中发生的所有交易的信息。在根据本公开的实施例中,监督节点也可以被改变,例如,交易的发起节点可以指定区块链网络中的任意节点作为该交易的监督节点,例如,在图3中所示的交易中,节点2不是监督节点而是目标节点,在另一交易中,节点2也可以被指定为监督节点。
39.图4是根据本公开的实施例的节点的数据存储模型的示意图。如图4中所示,节点包含两个可以被用于存储的单元:区块链模块和隐私数据库。区块链模块可以存储交易数据的摘要,还可以进行交易的共识。隐私数据库位于节点本地,并且可以存储交易数据。
40.对于隐私交易,在隐私数据库中存储交易数据,在区块链模块中存储该交易数据的摘要。
41.摘要是交易数据的简短表示。可以将算法应用于交易数据,以获得交易数据的摘要,而难以反向操作,即难以基于交易数据的摘要反推出交易数据。这样可以一定程度上避免有可能获得交易数据的摘要的不相关用户基于摘要推出交易数据,从而有利于保证交易数据的隐私性。例如,获得摘要的算法可以包括哈希算法,诸如sha-256,摘要可以为交易数据的哈希值。
42.图5是根据本公开的实施例的隐私交易的示意图。如图5中所示,节点1为隐私交易的发起节点,节点2为隐私交易的目标节点,节点3为区块链中与该隐私交易不相关的节点。
43.作为隐私交易的发起节点的节点1可以包括区块链模块、隐私数据库、加密/解密模块和交易模块。区块链模块可以被配置为存储交易数据的摘要,并进行交易的共识。隐私数据库可以位于节点本地,并且被配置为存储交易数据。加密/解密模块可以被配置为对交易数据进行加密。交易模块可以被配置为执行交易中由发起节点执行的具体步骤,将在下文结合图7详述。
44.作为隐私交易的目标节点的节点2可以包括区块链模块、隐私数据库、加密/解密模块和交易模块。区块链模块可以被配置为存储交易数据的摘要,并进行交易的共识。隐私数据库可以位于节点本地,并且被配置为存储交易数据。加密/解密模块可以被配置为对交易数据进行解密。交易模块可以被配置为执行交易中由目标节点执行的具体步骤,将在下文结合图8详述。
45.作为区块链中与该隐私交易不相关的节点的节点3可以不对来自作为发起节点的节点1的交易请求做出响应,即不与节点1进行交易,并且也不参与交易的共识。
46.图6是根据本公开的实施例的隐私交易的示意图。与图5中所示的实施例类似,节点1为隐私交易的发起节点,节点2为隐私交易的目标节点。与图5中所示的实施例的不同之处在于,如图6所示的实施例包括节点4,节点4是交易的监督节点。监督节点和目标节点二者均属于交易的相关节点。
47.作为隐私交易的监督节点的节点4可以记录交易的信息。即,节点4可以将交易数据存储在本地的隐私数据库中,并且可以响应于发起节点1将交易数据的摘要上传到区块
链,参与对上传后的交易数据的摘要的共识。
48.作为隐私交易的监督节点的节点4可以至少包括区块链模块、隐私数据库、加密/解密模块和交易模块。区块链模块可以被配置为存储交易数据的摘要,并进行交易的共识。隐私数据库可以位于节点本地,并且被配置为存储交易数据。加密/解密模块可以被配置为对交易数据进行加密/解密。交易模块可以被配置为执行交易中由监督节点执行的具体步骤,将在下文结合图8详述。
49.图7是根据本公开的实施例的针对发起节点的隐私交易的方法的流程图。
50.如图7所示,在步骤s701处,对于交易的发起节点,交易模块可以从位于本地的隐私数据库读取交易数据。
51.在步骤s702处,可以对交易数据进行计算,以得到经加密的交易数据和交易数据的摘要。交易模块可以计算交易数据的摘要,并且将交易数据发送到加密/解密模块,以得到经加密的交易数据和交易数据的摘要。
52.数据的摘要可以是数据的哈希值。例如,参考图5,交易的发起节点1从自己的隐私数据库中取得需要进行共享的数据data,计算其哈希值hash=sha-256(data)作为数据的摘要。
53.经加密的交易数据可以是在加密/解密模块中通过利用发起节点的私钥对交易数据进行加密而得到的。
54.在s703处,可以发送交易请求到区块链。交易的发起节点可以将交易请求发送到区块链中的其他节点,这里的其他节点包括相关节点和不相关节点。
55.交易请求可以至少包括目标节点参数、经加密的交易数据和交易数据的摘要。目标节点参数可以标识交易的目标节点。并且,如果该交易为隐私交易,则交易请求还可以包括隐私交易参数。隐私交易参数可以标识该交易为隐私交易,并且隐私交易参数包括交易的相关节点的标识符,相关节点和发起节点经由区块链参与交易的共识。
56.例如,发起节点可以发起隐私交易请求:newtransaction(from,to,payload,privatetxfor),其中,参数from可以标识交易发起的发起节点,参数to可以标识交易的目标节点,参数payload可以包括经加密的交易数据,参数privatetxfor可以是隐私交易参数。例如,privatetxfor可以是交易的相关节点的公钥的集合,诸如:[publickey1,publickey2,

,publickeyn]。例如,在图5所示的实施例中,publickey2可以被包括privatetxfor中的公钥的集合中,而publickey3不被包括privatetxfor中的公钥的集合中;而在图6所示的实施例中,publickey2和publickey4可以被包括privatetxfor中的公钥的集合中。
[0057]
在s703之后,发起节点可以响应于从目标节点接收到交易成功的响应,将交易数据的摘要上传到区块链,并参与上传后的交易数据的摘要的共识。例如,在图5所示的实施例中,节点1的交易模块将交易数据的摘要发送到区块链模块,并在区块链中进行共识。
[0058]
而且,交易的相关节点可以包括目标节点和监督节点,监督节点可以被配置为记录交易。
[0059]
图8是根据本公开的实施例的针对相关节点的隐私交易的方法的流程图。相关节点可以包括目标节点和监督节点。
[0060]
在s801处,节点可以经由区块链接收来自发起节点的交易请求。交易请求可以至
少包括目标节点参数、经加密的交易数据和交易数据的摘要,目标节点参数可以标识交易的目标节点。
[0061]
在s802处,可以判断该交易请求是否包括隐私交易参数。隐私交易参数可以标识该交易为隐私交易。例如,可以判断交易请求中是否包括如上文所述的privatetxfor。
[0062]
如果交易请求不包括隐私交易参数,则该交易不属于隐私交易。
[0063]
如果交易请求包括隐私交易参数,则该交易属于隐私交易。在s803处,可以断隐私交易参数中是否包括该节点的标识符。该节点的标识符例如可以是该节点的公钥。例如,对于节点2,可以判断privatetxfor中是否包括publickey2。
[0064]
如果隐私交易参数中不包括该节点的标识符,则该节点属于该交易的不相关节点,既不参与交易,也不参与共识。
[0065]
如果隐私交易参数中包括该节点的标识符,则在s804处,确认该节点为相关节点,相关节点和发起节点可以经由区块链参与交易的共识。
[0066]
在交易请求中包括隐私交易参数的情况下,还可以基于目标节点参数判断该节点是否为交易的目标节点。
[0067]
如果隐私交易参数中包括该节点的标识符,并且该节点不是交易的目标节点,则该节点可以属于监督节点。监督节点可以将交易数据存储在本地的隐私数据库中,并且响应于发起节点将交易数据的摘要上传到区块链,参与对上传后的交易数据的摘要的共识。交易数据的摘要可以是交易数据的哈希值。监督节点可以至少包括交易模块、隐私数据库、加密/解密模块和区块链模块。例如,在如图6中所示的实施例中,在节点4接收到交易请求之后,节点4的交易模块可以进行判断,确认该节点属于监督节点。接着,节点4的交易模块可以将交易请求中的经加密的数据发送到节点4的加密/解密模块,利用发起节点的公钥对数据进行解密,并将经解密的数据返回给交易模块。节点4的交易模块可以将经解密的数据发送到节点4的隐私数据库,并存储在隐私数据库中。在目标节点2的交易成功之后,发起节点1将摘要上传到区块链以进行共识时,监督节点4的区块链模块可以参与该交易的摘要的共识。
[0068]
如果隐私交易参数中包括该节点的标识符,并且该节点是该交易的目标节点,则该目标节点可以执行以下步骤:对包括在交易请求中的经加密的交易数据进行解密;将经解密的交易数据存储到位于该节点本地的隐私数据库;向发起节点发送交易成功的响应;以及基于区块链参与对交易数据的摘要的共识。目标节点可以包括交易模块、区块链模块、加密/解密模块和隐私数据库。例如,在如图5中所示的实施例中,在节点2接收到交易请求之后,节点2的交易模块可以进行判断,确认节点2为交易的目标节点。接着,节点2的交易模块可以将交易请求中的经加密的数据发送到节点2的加密/解密模块,利用发起节点的公钥对数据进行解密,并将经解密的数据返回给交易模块。接着,节点2的交易模块可以将经解密的数据发送到节点2的隐私数据库,并存储在隐私数据库中,隐私数据库可以向交易模块反馈入库成功。在确认入库成功,交易数据已经存储在节点2的隐私数据库中之后,目标节点2可以向交易的发起节点1反馈交易成功。在发起节点1将摘要上传到区块链以进行共识时,目标节点2的区块链模块可以参与该交易的摘要的共识。
[0069]
在完成交易数据的摘要的共识之后,在交易的发起节点和相关节点的区块链模块中存储有该交易的数据的摘要。因为各节点的隐私数据库相互隔离,所以数据存在被篡改
的风险。
[0070]
为了解决这一问题,交易的发起节点和目标节点均可以利用区块链模块中存储的摘要和本地的隐私数据库中存储的数据来进行数据的安全验证,具体如图9所示。
[0071]
图9是根据本公开的实施例的数据安全验证的示意图。节点的交易模块可以从节点的隐私数据库中取得交易数据,然后对其计算摘要。交易模块可以从区块链模块得到区块链中的摘要,并将所计算的摘要与区块链中保存的相应交易数据的摘要进行比较,以判断隐私数据库中的交易数据是否被篡改。如果两个摘要是一致的,那么数据未被篡改,数据是安全的。如果两个摘要不一致,那么数据被篡改。交易的发起节点、目标节点和监督节点均可以进行数据安全验证,以判断数据的共享和存储过程是否安全。
[0072]
图10是可以用于实现根据本公开的实施例的基于区块链的交易的计算设备的示例性配置的示意图。如图10所示,计算设备1000可以包括一个或多个处理器1002。一个或多个处理器1002可以是任何种类的处理器,并且可以包括但不限于一个或多个通用处理器或专用处理器(诸如专用处理芯片)。
[0073]
计算设备1000还可以包括或被连接至非暂态存储设备1004,该非暂态存储设备1004可以是任何非暂态的并且可以实现数据存储的存储设备,并且可以包括但不限于盘驱动器、光存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁性介质、压缩盘或任何其他光学介质、缓存存储器和/或任何其他存储芯片或模块、和/或计算机可以从其中读取数据、指令和/或代码的其他任何介质。
[0074]
处理器1002和/或存储设备1004可以经由一个或多个接口与总线1006连接或通信。总线1006可以包括但不限于,工业标准架构(industry standard architecture,isa)总线、微通道架构(micro channel architecture,mca)总线、增强isa(eisa)总线、视频电子标准协会(vesa)局部总线、以及外设组件互连(pci)总线等。
[0075]
i/o设备1008可以是使得用户能够与计算设备1000交互的任何设备。i/o设备1008的示例可以包括但不限于键盘、触控板、鼠标、操纵杆或其它指示设备、麦克风、扬声器以及显示器等。
[0076]
计算设备1000还可包括网络接口1010。网络接口1010可以是能够启用与外部装置和/或网络通信的任何种类的设备或系统,并且可以包括但不限于调制解调器、网络卡、红外线通信设备、无线通信设备和/或芯片集(诸如蓝牙tm设备、wifi设备、wimax设备、蜂窝通信设施等)。
[0077]
i/o设备1008和/或网络接口1010也可以经由总线1006与处理器1002和/或存储设备1004通信地耦合。
[0078]
可单独地或以任何组合方式来使用前述实施方案的各个方面、实施方案、具体实施或特征。可由软件、硬件或硬件与软件的组合来实现前述实施方案的各个方面。
[0079]
例如,前述实施方案可体现为计算机可读介质上的计算机可读代码。计算机可读介质为可存储数据的任何数据存储设备,数据其后可由计算机系统读取。计算机可读介质的示例包括只读存储器、随机存取存储器、cd-rom、dvd、磁带、硬盘驱动器、固态驱动器和光学数据存储设备。计算机可读介质还可分布在网络耦接的计算机系统中使得计算机可读代码以分布式方式来存储和执行。
[0080]
例如,前述实施方案可采用硬件电路的形式。硬件电路可以包括组合式逻辑电路、
时钟存储设备(诸如软盘、触发器、锁存器等)、有限状态机、诸如静态随机存取存储器或嵌入式动态随机存取存储器的存储器、定制设计电路、可编程逻辑阵列等的任意组合。
[0081]
在一个实施方案中,可以通过用诸如verilog或vhdl的硬件描述语言(hdl)编码和设计一个或多个集成电路或者结合使用离散电路来实现根据本公开的硬件电路。
[0082]
本公开通过对传统以太坊区块链交易方法进行改进,在交易发起时可以限定参与交易共识过程的相关方,实现了数据在区块链网络中部分节点之间的可信的隐私共享;引入监督节点,对交易过程进行监督,以避免区块链中的节点作恶;并且,还可以实现数据安全验证,防止数据被篡改,保障了数据的安全性和可靠性。
[0083]
综上所述,根据本公开的第一方面,提供了一种用于基于区块链的交易的方法,包括:交易的发起节点从位于本地的隐私数据库读取交易数据;对交易数据进行计算,以得到经加密的交易数据和交易数据的摘要;以及发送交易请求到区块链,其中,该交易请求至少包括目标节点参数、经加密的交易数据和交易数据的摘要,目标节点参数标识交易的目标节点;并且其中,如果交易为隐私交易,则该交易请求还包括隐私交易参数,隐私交易参数标识该交易为隐私交易并且包括交易的相关节点的标识符,相关节点和发起节点经由区块链参与交易的共识。
[0084]
在一些实施例中,该方法还包括:响应于从目标节点接收到交易成功的响应,将交易数据的摘要上传到区块链,并参与上传后的该交易数据的摘要的共识。
[0085]
在一些实施例中,该方法还包括:为发起节点的隐私数据库中的交易数据计算摘要;以及将所计算的摘要与区块链中保存的相应交易数据的摘要进行比较,以判断隐私数据库中的该交易数据是否被篡改。
[0086]
在一些实施例中,相关节点包括目标节点和监督节点,监督节点可以被配置为记录交易。
[0087]
在一些实施例中,交易数据的摘要为交易数据的哈希值,并且其中,经加密的交易数据是通过利用发起节点的私钥对交易数据进行加密而得到的。
[0088]
在一些实施例中,节点在加入区块链之前需要通过资格审核。
[0089]
根据本公开的第二方面,提供了一种用于基于区块链的交易的方法,包括:节点经由区块链接收来自发起节点的交易请求,该交易请求至少包括目标节点参数、经加密的交易数据和交易数据的摘要,目标节点参数标识交易的目标节点;判断该交易请求是否包括隐私交易参数,隐私交易参数标识该交易为隐私交易;如果该交易请求中包括隐私交易参数,则判断隐私交易参数中是否包括该节点的标识符;以及如果隐私交易参数中包括该节点的标识符,则该节点为相关节点,相关节点和发起节点经由区块链参与交易的共识。
[0090]
在一些实施例中,该方法还包括:在该交易请求中包括隐私交易参数的情况下,基于目标节点参数判断该节点是否为交易的目标节点;如果该节点是交易的目标节点,则执行以下步骤:对包括在交易请求中的经加密的交易数据进行解密;将经解密的交易数据存储到位于该节点本地的隐私数据库;向发起节点发送交易成功的响应;以及基于区块链参与对交易数据的摘要的共识。
[0091]
在一些实施例中,该方法还包括:为目标节点的隐私数据库中的交易数据计算摘要;以及将所计算的摘要与区块链中保存的相应交易数据的摘要进行比较,以判断隐私数据库中的该交易数据是否被篡改。
[0092]
在一些实施例中,在交易请求中包括隐私交易参数的情况下,基于目标节点参数判断该节点是否为交易的目标节点;如果隐私交易参数中包括该节点的标识符,并且该节点不是交易的目标节点,则该节点属于监督节点,并执行以下步骤:对包括在交易请求中的经加密的交易数据进行解密,将经解密的交易数据存储到位于节点本地的隐私数据库,以及响应于发起节点将交易数据的摘要上传到区块链,参与对上传后的交易数据的摘要的共识。
[0093]
在一些实施例中,交易数据的摘要为交易数据的哈希值,并且其中,对包括在交易请求中的经加密的交易数据进行解密包括:利用发起节点的公钥对经加密的交易数据进行解密。
[0094]
根据本公开的第三方面,提供了一种用于基于区块链的交易的节点,包括:区块链模块,被配置为存储交易数据的摘要,并进行交易的共识;隐私数据库,位于节点本地,并且被配置为存储交易数据;加密/解密模块,被配置为对交易数据进行加密和解密;以及交易模块,被配置为:从位于本地的隐私数据库读取交易数据;计算交易数据的摘要,并将交易数据发送到加密/解密模块,以得到经加密的交易数据和交易数据的摘要;以及发送交易请求到区块链模块,其中,该交易请求至少包括目标节点参数、经加密的交易数据和交易数据的摘要,目标节点参数标识交易的目标节点;并且其中,如果交易为隐私交易,则该交易请求还包括隐私交易参数,隐私交易参数标识该交易为隐私交易并且包括交易的相关节点的标识符,相关节点和节点经由区块链参与交易的共识。
[0095]
在一些实施例中,交易模块还被配置为:响应于从目标节点接收到交易成功的响应,将交易数据的摘要上传到区块链,并参与上传后的该交易数据的摘要的共识。
[0096]
根据本公开的第四方面,提供了一种用于基于区块链的交易的节点,包括:区块链模块,被配置为存储交易数据的摘要,并进行交易的共识;加密/解密模块,被配置为对交易数据进行加密和解密;隐私数据库,位于节点本地,并且被配置为存储交易数据;以及交易模块,被配置为:从区块链模块接收来自发起节点的交易请求,该交易请求至少包括目标节点参数、经加密的交易数据和交易数据的摘要,目标节点参数标识交易的目标节点;判断该交易请求是否包括隐私交易参数,隐私交易参数标识该交易为隐私交易;如果该交易请求中包括隐私交易参数,则判断隐私交易参数中是否包括该节点的标识符;以及如果隐私交易参数中包括该节点的标识符,则该节点为相关节点,相关节点和发起节点经由区块链参与交易的共识。
[0097]
在一些实施例中,该交易模块还被配置为:在该交易请求中包括隐私交易参数的情况下,基于目标节点参数判断该节点是否为交易的目标节点;如果该节点是交易的目标节点,则执行以下步骤:将包括在交易请求中的经加密的交易数据发送到加密/解密模块,以得到经解密的交易数据;将经解密的交易数据存储到位于该节点本地的隐私数据库;以及向发起节点发送交易成功的响应;目标节点的区块链模块被配置为达成对交易数据的摘要的共识。
[0098]
在一些实施例中,该交易模块还被配置为:在该交易请求中包括隐私交易参数的情况下,基于目标节点参数判断该节点是否为交易的目标节点;如果隐私交易参数中包括该节点的标识符,并且该节点不是交易的目标节点,则该节点属于监督节点,并执行以下步骤:对包括在交易请求中的经加密的交易数据进行解密,以及将经解密的交易数据存储到
位于节点本地的隐私数据库;监督节点的区块链模块被配置为响应于发起节点将交易数据的摘要上传到区块链,参与对上传后的交易数据的摘要的共识。
[0099]
根据本公开的第五方面,提供了一种用于基于区块链的交易的非瞬态计算机可读存储介质,其上存储有程序,其特征在于,当该程序由计算机执行时,使计算机执行根据本公开的第一方面所述的方法。
[0100]
根据本公开的第六方面,提供了一种用于基于区块链的交易的非瞬态计算机可读存储介质,其上存储有程序,其特征在于,当该程序由计算机执行时,使计算机执行根据本公开的第二方面所述的方法。
[0101]
根据本公开的第七方面,提供了一种用于基于区块链的交易的计算装置,包括存储器和处理器,存储器与处理器通信耦合,该存储器中存储有程序,该程序当由处理器执行时,使得该处理器执行根据本公开的第一方面述的方法。
[0102]
根据本公开的第八方面,提供了一种用于基于区块链的交易的计算装置,包括存储器和处理器,存储器与处理器通信耦合,该存储器中存储有程序,该程序当由处理器执行时,使得该处理器执行根据本公开的第二方面述的方法。
[0103]
虽然已通过示例详细展示了本公开的一些具体实施例,但是本领域技术人员应当理解,上述示例仅意图是说明性的而不限制本公开的范围。应该认识到的是,前述方法中的一些步骤不一定按照图示的顺序执行,而是它们可以被同时、以不同顺序或以重叠方式执行。此外,本领域技术人员可以根据需要增加一些步骤或省略一些步骤。前述系统中的一些部件不是必须按照图示的布置,本领域技术人员可以根据需要增加一些部件或省略一些部件。本领域技术人员应该理解,上述实施例可以在不脱离本公开的范围和实质的情况下被修改。本公开的范围是通过所附的权利要求限定的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献