CN111143885A - 区块链交易处理方法及装置和区块链节点 - Google Patents
区块链交易处理方法及装置和区块链节点 Download PDFInfo
- Publication number
- CN111143885A CN111143885A CN202010253639.6A CN202010253639A CN111143885A CN 111143885 A CN111143885 A CN 111143885A CN 202010253639 A CN202010253639 A CN 202010253639A CN 111143885 A CN111143885 A CN 111143885A
- Authority
- CN
- China
- Prior art keywords
- transaction data
- execution
- block
- encrypted
- private
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公开涉及区块链交易处理方法及装置和区块链节点。在一方面的区块链交易处理方法包括:在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理。另一一方面的区块链交易处理方法包括:在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及在解密成功时,对解密得到的隐私交易数据进行执行处理。
Description
技术领域
本公开涉及区块链技术领域,具体地,涉及区块链交易处理方法及装置和区块链节点。
背景技术
区块链系统中的合法交易通常包括发起方、接收方和交易明细。在传统的区块链系统中,各个参与方(即区块链节点)维护一个共同的账本,皆可查看并且验证其它参与方的交易数据,以此避免“双花”等交易欺骗行为。但是在这种交易处理机制下,所有参与方都能够获知交易数据,这就给区块链用户隐私泄露开了一道大门。因此,现有技术需要一种能够避免用户隐私泄漏的方案。
发明内容
鉴于上述,本公开提供了一种区块链交易处理方法及装置和区块链节点。利用该方法及装置,通过利用对应执行区块链节点分组中约定的加密密钥对隐私交易数据进行加密,然后将经过加密的隐私交易数据发送到区块链网络中进行共识,能够使隐私交易数据仅能被客户端信任的区块链节点获知,从而能够大大降低泄漏隐私的风险。
根据本公开的一个方面,提供了一种区块链交易处理方法,包括:在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理。其中,所述执行区块链节点分组中的各个执行区块链节点被指定参与执行所述隐私交易数据。
可选的,在一个示例中,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据可以包括:利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据。其中,所述加密隐私交易数据使得所述各个执行区块链节点能够使用各自的私钥进行解密以得到所述隐私交易数据。
可选的,在一个示例中,利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据可以包括:利用所述各个执行区块链节点的公钥对对称密钥进行非对称加密;利用所述对称密钥对所述隐私交易数据进行对称加密;以及基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成所述加密隐私交易数据。
可选的,在一个示例中,所述隐私交易数据可以具有执行区块链节点分组标识,在利用对应执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密之前,所述方法还可以包括:基于所述执行区块链节点分组标识,获取所述执行区块链节点分组。
可选的,在一个示例中,所述共识区块链节点可以包括所述执行区块链节点分组中的各个执行区块链节点和所述区块链网络中的未被指定为参与执行所述隐私交易的至少一个区块链节点。
可选的,在一个示例中,所述加密隐私交易数据可以具有对应的执行区块链节点分组标识。
根据本公开的另一方面,还提供一种区块链交易处理方法,包括:在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及在解密成功时,对解密得到的隐私交易数据进行执行处理。其中,所述加密隐私交易数据是利用所述执行区块链节点分组中约定的加密密钥进行加密的。
可选的,在一个示例中,所述加密隐私交易数据是利用所述执行区块链节点分组中的各个执行区块链节点的公钥进行加密的,利用约定的解密密钥对所述加密隐私交易数据进行解密可以包括:利用对应区块链节点的私钥对所述加密隐私交易数据进行解密。
可选的,在一个示例中,所述加密隐私交易数据包括利用对称密钥进行对称加密的隐私交易数据和利用对应区块链节点的公钥进行非对称加密的对称密钥,利用对应区块链节点的私钥对所述加密隐私交易数据进行解密可以包括:使用对应区块链节点的私钥对被非对称加密的对称密钥进行非对称解密,以得到所述对称密钥;以及在解密得到对称密钥时,利用所述对称密钥对被对称加密的隐私交易数据进行对称解密,以得到所述隐私交易数据。
可选的,在一个示例中,所述加密隐私交易数据可以具有标识相应隐私交易数据的生成时间的时间戳,在利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密之前,所述方法还可以包括:在所述加密隐私数据通过共识之后,基于所述时间戳,将所述加密隐私交易数据生成主链区块并存储在主链中,所述主链中存储有区块链网络中的通过共识的所有交易数据。利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密可以包括:当监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的解密密钥对该主链区块中的加密隐私交易数据进行解密。
可选的,在一个示例中,所述加密隐私交易数据具有执行区块链节点分组标识,监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的密钥对该主链区块中的加密隐私交易数据进行解密可以包括:当监听到主链上生成主链区块时,如果该主链区块中存在加密隐私交易数据,并且基于该主链区块中存在的加密隐私交易数据的执行区块链节点分组标识,确定出该主链区块中存在本地区块链节点参与执行的加密隐私交易数据,则利用约定的密钥对所述加密隐私交易数据进行解密。
可选的,在一个示例中,所述方法还可以包括:经过所述执行处理后,将所述隐私交易数据和相应执行结果生成私链区块,并存储到对应区块链节点的私链中,所述私链中存储有对应区块链节点参与执行的隐私交易数据和相应执行结果。
可选的,在一个示例中,所述方法还可以包括:当监听到主链上生成主链区块并且该主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在对应区块链节点的私链中保存一个对应于该主链区块的空块。
根据本公开的另一方面,还提供一种区块链交易处理装置,包括:交易数据加密单元,被配置为在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及交易数据发送单元,被配置为将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理。其中,所述执行区块链节点分组中的各个执行区块链节点被指定参与执行所述隐私交易数据。
可选的,在一个示例中,所述交易数据加密单元可以被配置为:利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据。其中,所述加密隐私交易数据使得所述各个执行区块链节点能够使用各自的私钥进行解密以得到所述隐私交易数据。
可选的,在一个示例中,所述交易数据加密单元可以包括:对称密钥加密模块,被配置为利用所述各个执行区块链节点的公钥对对称密钥进行非对称加密;交易数据加密模块,被配置为利用所述对称密钥对所述隐私交易数据进行对称加密;以及加密数据生成模块,被配置为基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成所述加密隐私交易数据。
可选的,在一个示例中,所述装置还可以包括:节点分组获取单元,被配置为所述隐私交易数据具有执行区块链节点分组标识,在利用对应执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密之前,基于所述执行区块链节点分组标识,获取所述执行区块链节点分组。
可选的,在一个示例中,所述共识区块链节点可以包括所述执行区块链节点分组中的各个执行区块链节点和所述区块链网络中的未被指定为参与执行所述隐私交易的至少一个区块链节点。
根据本公开的另一方面,还提供一种区块链交易处理装置,包括:交易数据共识单元,被配置为在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;交易数据解密单元,被配置为在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及交易数据执行单元,被配置为在解密成功时,对解密得到的隐私交易数据进行执行处理。其中,所述加密隐私交易数据是利用所述执行区块链节点分组中约定的加密密钥进行加密的。
可选的,在一个示例中,所述加密隐私交易数据可以是利用所述执行区块链节点分组中的各个执行区块链节点的公钥进行加密的,所述交易数据解密单元可以被配置为:利用对应区块链节点的私钥对所述加密隐私交易数据进行解密。
可选的,在一个示例中,所述加密隐私交易数据可以包括利用对称密钥进行对称加密的隐私交易数据和利用对应区块链节点的公钥进行非对称加密的对称密钥,所述交易数据解密单元可以包括:对称密钥解密模块,被配置为使用对应区块链节点的私钥对被非对称加密的对称密钥进行非对称解密,以得到所述对称密钥;以及交易数据解密模块,被配置为在解密得到对称密钥时,利用所述对称密钥对被对称加密的隐私交易数据进行对称解密,以得到所述隐私交易数据。
可选的,在一个示例中,所述加密隐私交易数据可以具有标识相应隐私交易数据的生成时间的时间戳,所述装置还可以包括:主链上链单元,被配置为在所述加密隐私数据通过共识之后,在利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密之前,基于所述时间戳,将所述加密隐私交易数据生成主链区块并存储在主链中,所述主链中存储有区块链网络中的经过共识的所有交易数据。所述交易数据解密单元被配置为:当监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的解密密钥对该主链区块中的加密隐私交易数据进行解密。
可选的,在一个示例中,所述加密隐私交易数据可以具有执行区块链节点分组标识,所述交易数据解密单元可以被配置为:当监听到主链上生成主链区块时,如果该主链区块中存在加密隐私交易数据,并且基于该主链区块中存在的加密隐私交易数据的执行区块链节点分组标识,确定出该主链区块中存在对应区块链节点参与执行的加密隐私交易数据,则利用约定的密钥对所述加密隐私交易数据进行解密。
可选的,在一个示例中,所述装置还可以包括:私链上链单元,被配置为经过所述执行处理后,将所述隐私交易数据和相应执行结果生成私链区块,并存储到对应区块链节点的私链中,所述私链中存储有对应区块链节点参与执行的隐私交易数据和相应执行结果。
可选的,在一个示例中,所述私链上链单元还可以被配置为:当监听到主链上生成主链区块并且该主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在对应区块链节点的私链中保存一个对应于该主链区块的空块。
根据本公开的另一方面,还提供一种区块链节点,包括:前述第三个方面所提供的装置;以及前述第四个方面所提供的装置。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行前述第一个方面所述的方法。
根据本公开的另一方面,还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行第一个方面所述的方法。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行第二个方面所述的方法。
根据本公开的另一方面,还提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行第二个方面所述的方法。
利用本公开的方法及装置,通过利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,能够使得在对隐私交易数据进行共识和执行的过程中,只有客户端信任的区块链节点能够获知交易数据的具体内容,因而大大降低了泄漏用户隐私的风险。
利用本公开的方法及装置,利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以使所生成的加密隐私交易数据能被所述各个执行区块链节点各自的私钥解密,能够使用区块链系统中即有的密钥实现对隐私交易的加密处理。
利用本公开的方法及装置,通过用各个执行区块链节点的公钥对对称密钥进行加密,并利用对称密钥来对隐交易数据进行对称加密,从而各个执行区块链节点在接收到加密数据时,可以利用各自的私钥解密获得隐私交易数据,由此提供了一种简单易行且安全性高的加密方式。
利用本公开的方法及装置,通过基于隐私交易数据具有的执行区块链节点分组标识,来获取客户端指定的执行区块链节点分组,在接收隐私交易数据的区链节点同时参与多个不同的分组时,能够在客户端所指定的分组中处理隐私交易数据,以提高隐私安全系数。
利用本公开的方法及装置,通过使参与对隐私交易数据进行共识的共识区块链节点包括执行区块链节点分组之外的区块链节点,能够利用区块链网络中的其它区块链节点来进行共识处理,以提高共识结果的安全性。
利用本公开的方法及装置,为向区块链网络发送的加密隐私交易数据赋予对应的执行区块链节点分组标识,从而执行区块链节点能够基于在执行区块链节点分组标识确定相应的加密隐私交易数据是自身参与执行的隐私交易数据时,进行解密操作,从而能够节省不必要的解密运算。
利用本公开的方法及装置,将通过共识的加密隐私交易数据存储在公链上,能够实现对隐私交易数据的排序,以使各个执行区块链节点对隐私交易数据的执行顺序保持一致。
利用本公开的方法及装置,在各个执行区块链节点执行隐私交易数据之后将隐私交易数据和相应执行结果保存在各自的私链上,从而即使每个执行区块链节点参与了多个分组,也可以只维护一条私链,由此能够降低执行区块链节点的维护成本。
利用本公开的方法及装置,当主链上生成的主链区块中不包括相应区块链节点参与执行的隐私交易数据时,在该区块链节点的私链上生成一个对应的空块,从而能够使各个区块链节点的私链中存储的数据顺序与主链保持一致。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开的实施例,但并不构成对本公开的实施例的限制。在附图中:
图1是本公开的区块链交易处理方法所适用的区块链系统的一个示例的框图;
图2是根据本公开的一个实施例的区块链交易处理方法的流程图;
图3是根据本公开的一个实施例的区块链交易处理方法中的加密过程的一个示例的流程图;
图4是根据本公开的一个实施例的区块链交易处理方法中的解密过程的一个示例的流程图;
图5是根据本公开的另一实施例的区块链交易处理方法的流程图;
图6是根据本公开的一个实施例的区块链交易处理方法中的区块链上链过程和执行过程的一个示例的流程图;
图7是用于说明本公开实施例中涉及的主链和私链的示意图;
图8根据本公开的一个实施例的区块链交易处理装置的结构框图;
图9是图8所示的区块链交易处理装置中的交易数据加密单元的一个示例的结构框图;
图10根据本公开的另一实施例的区块链交易处理装置的结构框图;
图11是图10所示的区块链交易处理装置中的交易数据解密单元的一个示例的结构框图;
图12是根据本公开的另一实施例的区块链交易处理装置的结构框图;
图13是根据本公开的一个实施例的区块链节点的结构框图;以及
图14是根据本公开的一个实施例用于实现区块链交易处理方法的计算设备的结构框图。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
现在结合附图来描述本公开的区块链交易处理方法及装置。
图1是本公开的区块链交易处理方法所适用的区块链系统的一个示例的框图。
如图1所示,在区块链系统100中,存在区块链节点102、103、104、105和106。客户端101发起交易时将交易数据发送给与其通信连接的区块链节点102。客户端107发起交易时将交易数据发送给与其通信连接的区块链节点105。区块链节点102接收到交易数据后,可以首先对该交易数据进行验证。验证通过时,区块链节点102将所接收的交易数据广播给区块链系统100中的其它区块链节点103-106,以对该交易数据进行共识处理。图1仅仅是区块链系统一种示例,在其它示例中,区块链系统可以包括交易池,交易池用于存放客户端101(或区块链系统中的其它客户端)所发起的交易数据。各个节点可以从交易池中读取交易数据,并进行验证、共识等处理。此外,在另一示例中,客户端101也可以与多个区块链节点连接,从而可以将交易数据发送给多个与其连接的区块链节点。接收到交易数据的区块链节点可以通过预定机制争取对该交易数据的处理权。
在区块链系统中,对交易数据的处理过程通常包括验证处理、共识处理、执行处理和区块链上链处理等过程。以下,以图1为例对这些处理过程进行说明。
验证处理是指,区块链节点102在接收到交易数据时,对所接收到的交易数据进行验证。验证处理的目的是验证交易数据是否合法,验证处理例如可以是:验证交易数据的数据结构是否符合相应区块链系统的要求;相应客户端是否有能力支付该笔交易的手续费(例如验证客户端的账户余额);相应交易是否为重复交易(即“双花”);验证交易数据中的签名是否合法;交易数据的大小是否超过了区块链中区块的最大容量等等。验证处理可以包括以上列举验证处理操作中的一种或多种。在不同的区块链系统中(例如比特币系统、以太坊系统等),验证处理的具体操作可能有所不同。验证处理所包括的具体操作不限于此处所列举的内容。
如果交易数据的验证结果为不合法,则可以不对该交易数据进行进一步处理。如果验证结果为合法,则相应交易数据进入共识处理过程。当区块链节点102所接收的交易数据通过验证时,可以将通过验证的交易数据广播给区块链系统中的区块链节点103、104、105和106,以进行对该交易数据的共识处理。共识处理可以基于工作量证明(PoW)、实用拜占庭算法(PBFT)等共识机制执行共识。如果其它区块链结点对该交易数据进行共识操作后不承认该交易数据,则可以不做出任何响应。
当该交易数据在各个区块链节点间达成一致性共识(即交易数据通过共识)时,将对通过共识的交易数据进行执行处理。执行处理可以由虚拟机模(例如以太坊系统中的EVM)来进行。执行处理可以是对智能合约的执行。对交易数据的执行处理例如可以是:从发起交易的客户端的余额中扣除执行相应交易的费用,并为当前交易将发送者账户中的随机数(nonce)增加1;为争取到相应交易的区块链节点发放奖励等。作为示例,相应的交易可以是转账交易,此时,在执该笔交易时,将从发起方的账户中扣除相应款项(例如预定金额的比特币、以太币等),并在接收方的账户增加相应款项。在不同的区块链系统中,执行处理过程的具体内容可以有所不同。
区块链上链处理是指,在完成执行处理时,将交易数据和相应的执行结果打包成区块,并将该区块保存到区块链上。
在本公开中,从接收客户端发送的交易数据的区块链节点被称为交易接收区块链节点,而从交易接收区块链节点交易数据以对该交易数据进行共识处理和执行处理的区块链节点被称为共识区块链节点。同一个区块链节点即可以是交易接收区块链节点也可以是共识区块链节点。例如,对于客户端101而言,区块链节点102是交易接收区块链节点,区块链节点103、104、105和106为共识区块链节点。而对于客户端107而言,区块链节点105是交易接收区块链节点,区链节点102、103、104和106是共识区块链节点。
图2是根据本公开的一个实施例的区块链交易处理方法的流程图。
如图2所示,在202,客户端向交易接收区块链节点发送隐私交易数据。在204,交易接收区块链节点在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对隐私交易数据进行加密,以生成加密隐私交易数据。
根据业务情况,客户端处发起的交易可能是需要保密的隐私交易,也可能是无需保密的非隐私交易。因此,客户端可以为隐私交易数据赋予隐私标识,交易接收区块链节点可以根据所接收到的交易数据是否具有隐私标识来判断是否接收到隐私交易数据。
为了避免隐私交易数据中的用户信息被泄露,客户端可以将其信任的区块链节点指定为参与执行隐私交易数据的执行区块链节点,这些执行区块链节点组成一个执行区块链节点分组。例如,客户端101可以指定区块链节点103、104和105为自己的执行区块链节点,以构成执行区块链节点分组。此外,客户端101还可以针对不同的交易指定不同的执行区块链节点分组。同一个区块链节点可以参与一个执行区块链节点分组。
在一个示例中,同一个区块链节点也可以参与至少两个执行区块链节点分组(在该区块链节点被多个客户端信任时)。在这种情况下,客户端发送的隐私交易数据可以具有执行区块链节点分组标识,以标识被指定的分组。此时,交易接收区块链节点在可以根据隐私交易数据的区块链节点分组标识来获取相应执行区块链节点分组。
各个执行区块链节点分组标识所对应的分组可以存储在各个区块链节点本地的存储器中。为了节约各个区块链节点的本地存储空间,可以将各个执行区块链节点分组标识所对应的分组存储在统一的服务器中。此时,在接收到隐私交易数据时,交易接收区块链节点可以基于执行区块链节点分组标识来从服务器中获取相应执行区块链节点分组。
区块链系统可以配置有系统分组合约,该系统分组合约中存储有各个分组ID到分组成员的映射关系。分组合约可以提供注册分组、新增分组成员、注销分组等功能。当交易客户端有隐私交易的诉求时,可以通过SDK模块发送分组合约调用请求,从而调用系统分组合约来进行分组的注册。每个执行区块链分组在处理完一笔交易之后,可以被注销。此外,已被注册的执行区块链节点分组还可以用于处理后续交易。
在获取到执行区块链节点分组时,可以利用该执行区块链节点分组中约定的加密密钥来对隐私交易数据进行加密。各个分组约定的加密密钥可以存储在交易接收区块链节点本地。由此生成的加密隐私交易数据能够被相应执行区块链节点分组中的各个执行区块链节点使用约定的解密密钥来解密。
在生成加密隐私交易数据之后,在206,交易接收区块链节点将加密隐私交易数据发送给区块链网络中的各个共识区块链节点。然后在共识区块链节点将参与对加密隐私交易数据进行共识。
共识区块链节点可以只包括相应执行区块链节点分组中的各个执行区块链节点。在一个示例中,共识区块链节点还可以包括未被指定参与执行相应隐私交易数据的区块链节点。例如,区块链网络中的所有区块链节点均可参与对隐私交易数据进行共识。此时,由于只有执行区块链节点拥有解密密钥,其它区块链节点不会获知交易数据的具体内容,而利用未被指定参与执行的区块链节点来进行共识处理,能够提高共识结果的安全性和准确性。
在接收到加密隐私交易数据时,在208,共识区块链节点对接收到的加密隐私交易数据进行共识处理,并在210,判断该加密隐私交易数据是否通过了共识。如果未通过共识,则共识区块链节点可以不进行任何操作。
在加密隐私交易数据通过共识时,在212,共识区块链节点利用对应执行区块链节点分组中约定的解密密钥对加密隐私交易数据进行解密,并在214,判断是否能够成功解密。如果不能成功解密,则共识区块链节点可以不执行其它操作。
在一个示例中,共识区块链节点可以尝试对所有接收到的加密隐私交易数据进行解密,当能够成功解密时,表明该加密隐私交易数据是自己参与执行的。在另一示例中,加密隐私交易数据可以具有执行区块链节点分组标识,共识区块链节点可以基于执行区块链节点分组标识来判断该加密隐私交易数据是否是其参与执行的,如果是,则采用相应分组中约定的解密密钥来进行解密。由此,能够避免共识区块链节点进行不必要的解密操作。
当解密成功时,在块216,对解密得到的隐私交易数据进行执行处理。在执行处理之后,会得到针对隐私交易数据的执行结果。
然后,在218,共识区块链节点将隐私交易的执行结果发送给交易接收区块链节点。交易接收区块链节点可以在汇总所有共识区块链节点的执行结果后,在220,将执行结果发送给客户端。需要说明的是,块218和块220的操作并不是必不可少的。
在一个示例中,交易接收区块链节点可以使用各个执行区块链节点的公钥来加密隐私交易数据。此时,生成的加密隐私交易数据使各个执行区块链节点能够用各自的私钥解密以得到隐私交易数据。在该示例中,共识区块链节点可以用各个的私钥来进行解密。以下参考图3和图4对加密过程和解密过程的具体示例进行说明。
图3是根据本公开的一个实施例的区块链交易处理方法中的加密过程的一个示例的流程图。
如图3所示,在块302,利用各个执行区块链节点的公钥对对称密钥进行非对称加密,以生成对应于各个执行区块链节点的被非对称加密的对称密钥。对称密钥可以是针对每个隐私交易数据的固定密钥,还可以是随机生成的。为了提高安全性,可以在加密过程中针对每个隐私交易数据随机生成对称密钥。非对称加密可以利用EC、RSA等任意非对称加密算法实现。
然后,在块304,利用对称密钥对所隐私交易数据进行对称加密。
经过上述加密之后,在块306,基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成加密隐私交易数据。在一个示例中,可以针对各个执行区块链节点分别生成加密隐私交易数据,而后将针对每个执行区块链节点的加密隐私交易数据单播给对应的执行区块链节点。例如,假设对称密钥为K,利用各个执行区块链节点的公钥非对称加密的对称密钥分别为K1、K2、K3、K4,利用对称密钥加密的隐私交易数据为TX_A,则针对各个执行区块链节点的加密隐私交易数据可以分别为[K1,TX_A]、[K2, TX_A]、[K3, TX_A]、[K4, TX_A]。
在另一示例中,可以分别利用各个执行区块链节点的公钥对对称密钥进行非对称加密后,组合各个被非对称加密的对称密钥以生成加密隐私交易数据。例如,加密隐私交易数据可以是[K1,K2,K3,K4, TX_A]。将该加密隐私交易数据广播给各个共识区块链节点后,共识区块链节点中的执行区块链节点可以利用解密密钥从中解决得出隐私交易数据。
图4是针对图3所示的加密过程的解密过程的流程图。
如图4所示,在块402,使用对应区块链节点的私钥对被非对称加密的对称密钥进行非对称解密,以得到对称密钥。对应区块链节点即接收到加密隐私交易数据的区块链节点,如图1和图2所示的共识区块链节点。由于,对称密钥被利用各个执行区块链节点的公钥进行非对称加密,因而只有被指定的执行区块链节点才能用自己的私钥解密得到对称密钥。当加密隐私交易数据具有执行区块链节点标识时,对应区块链节点为被指定的执行区块链节点。
然后在块404,判断是否成功解密得到了对称密钥。如果不能成功解密,则可以不进行任何操作,解密过程结束。
当解密得到对称密钥时,在块406,利用对称密钥对被对称加密的隐私交易数据进行对称解密,以得到隐私交易数据。
图5是根据本公开的另一实施例的区块链交易处理方法的流程图。图5是由共识区块链节点执行的区块链交易处理方法的示例。在该示例中,加密隐私交易数据具有时间戳,时间戳标识被加密的隐私交易数据在客户端生成的时间。
如图5所示,在块502,对接收到的加密隐私交易数据进行共识处理。然后在块504,判断加密稳私交易数据是否通过共识。如果没有通过共识则流程结束。
当加密隐私交易数据通过共识时,在块506,基于时间戳,将加密隐私交易数据生成主链区块并存储在主链中。主链中存储有区块链网络中的通过共识的所有交易数据。区块链网络中的交易数据包括隐私交易数据和非隐私交易数据。通过将所有交易数据存储在主链中,能够实现对交易数据的排序。通过排序,能够保证各个交易数据在各个区块链节点的执行顺序是一致的,从而能保证区块链世界状态的一致性。对于非隐私交易数据,主链中存储有该交易数据的明文,而对于隐私交易数据,主链中存储的是密文。因而在区块链系统中,只有客户端信任的参与方能从主链中获取隐私交易数据的具体内容。
然后,在块508,监听主链上是否有新生成的主链区块。需要说明的是,对于同一区块链节点,块502至块506所示的共识过程主链上链过程与块508所示主链区块监听过程可以是并行执行的,并不存在必然的先后顺序。该区块链节点所监听到的主链区块可以是该区块链节点生成的,也可以是其他区块链节点生成的。
当监听到有新生成的主链区块时,在块510,使用约定的解密密钥对该主链区块中的加密隐私交易数据进行解密,并在块512,判断是否解密成功。如果不能成功解密,则流程结束。当隐私交易数据是用相应区块链节点的公钥加密时,可以用相应私钥来解密。
如果解密成功,则在块514,对解密得到的隐私交易数据进行执行处理。
图6是根据本公开的一个实施例的区块链交易处理方法中的区块链上链过程和执行过程的一个示例的流程图。在该示例中,加密隐私交易数据具有执行区块链节点分组标识。
如图6所示,在块602,监听主链区块,并在块604,判断主链上是否生成了新的主链区块。
当监听到主链区块生成时,在块606,判断该主链区块上是否存在加密隐私交易数据。当主链区块中存在不是明文的交易数据时表明存在加密隐私交易数据。此外,加密隐私交易数据也可以具有隐私交易标识,从而可以通过识别隐私交易标识来判断是否存在隐私交易数据。
当生成的主链区块上存在加密隐私交易数据时,在块608,基于加密隐私交易的执行区块链分组标识,确定主链区块上的加密隐私交易数据是否是对应区块链节点参与执行的隐私交易数据。
当主链区块上存在对应区块链节点参与执行的加密隐私交易数据时,在块610,利用约定的密钥(例如对应区块链节点的私钥)对该主链区块中的加密隐私交易数据进行解密,并在块612,判断是否解密成功。
当解密成功时,在块613,执行解密得到的隐私交易数据。在执行处理之后,在块616,将隐私交易数据和对应的执行结果生成私链区块,并存储存储在对应区块链节点的私链中。私链中存储有对应区块链节点参与执行的所有隐私交易数据及对应的执行结果。由此,每个区块链只需要维护一条私链,而不需要针对每个分组分别维护一个私链。
当所监听到的主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在块618,在对应区块链节点的私链中生成一个对应于该主链区块的空块。由此,能够使每个区块链节点的私链中交易数据的存储顺序与主链保持一致。
图7是用于说明本公开实施例中涉及的主链和私链的示意图。图7示出了主链以及区块链节点P和Q的私链。TX1~TX5表示交易数据,其中TX1为非隐私交易数据,TX2~TX5为隐私交易数据,a、b、c表示执行区块链节点分组标识。如图7所示,区块链节点P和Q被指定参与执行TX2和TX3,而Q仅被指定参与执行TX2,因而在P的私链中存储有TX2_a和TX3_b,在Q的私链中仅存储有TX2_a。P和Q均为执行区块链节点分组a中的执行区块链节点,因而在P和Q的私链中均存储有TX5_a。由于P未参与执行TX4,因而在P的私链中对应于TX4_c所在的主链区块生成了一个空块。由此,使得TX5_a在P的私链中的存储位置能够与主链保持一致。空块可以用来同步主链区块的时间以及版本号等信息。
从图7中可以看出,各个交易数据在主链和私链中的存储顺序保持一致,借助于主链的顺序,能够使各条私链保持顺序一致。
图8根据本公开的一个实施例的区块链交易处理装置的结构框图。如图8所示,区块链交易处理装置800包括交易数据加密单元810和交易数据发送单元820。
交易数据加密单元810被配置为在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据。
在一个示例中,交易数据加密单元810可以被配置为利用执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据。在该示例中,加密隐私交易数据使得各个执行区块链节点能够使用各自的私钥进行解密以得到所述隐私交易数据。
经过加密之后,交易数据发送单元820将加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对隐私交易数据进行共识处理。其中,执行区块链节点分组中的各个执行区块链节点被指定参与执行隐私交易数据。在一个示例中,共识区块链节点可以包括执行区块链节点分组中的各个执行区块链节点和所述区块链网络中的未被指定为参与执行所述隐私交易的至少一个区块链节点。
此外,虽然附图中没有示出,区块链交易处理装置800还可以包括节点分组获取单元。在该示例中,隐私交易数据可以具有执行区块链节点分组标识。节点分组获取单元被配置为在利用对应执行区块链节点分组中的各个执行区块链节点的公钥对隐私交易数据进行加密之前,基于执行区块链节点分组标识,获取执行区块链节点分组。
图9是图8所示的区块链交易处理装置中的交易数据加密单元的一个示例的结构框图。如图9所示,交易数据加密单元810包括对称密钥加密模块811、交易数据加密模块812和加密数据生成模块813。
对称密钥加密模块811被配置为利用各个执行区块链节点的公钥对对称密钥进行非对称加密。交易数据加密模块812被配置为利用对称密钥对隐私交易数据进行对称加密。在对对称密钥和隐私交易数分别加密之后,加密数据生成模块813基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成加密隐私交易数据。
图10根据本公开的另一实施例的区块链交易处理装置的结构框图。如图10所示,区块链交易处理装置1000包括交易数据共识单元1010、交易数据解密单元1020和交易数据执行单元1030。
交易数据共识单元1010被配置为在接收到加密隐私交易数据时,对加密隐私交易数据进行共识处理。在加密隐私数据通过共识之后,交易数据解密单元1020利用对应执行区块链节点分组中约定的解密密钥对加密隐私交易数据进行解密。其中,加密隐私交易数据是利用执行区块链节点分组中约定的加密密钥进行加密的。
在一个示例中,加密隐私交易数据可以是利用执行区块链节点分组中的各个执行区块链节点的公钥进行加密的。此时,交易数据解密单元1020可以被配置为利用对应区块链节点的私钥对加密隐私交易数据进行解密。
在交易数据解密单元1020解密成功时,交易数据执行单元1030被配置为对解密得到的隐私交易数据进行执行处理。
图11是图10所示的区块链交易处理装置中的交易数据解密单元的一个示例的结构框图。在该示例中,加密隐私交易数据可以包括利用对称密钥进行对称加密的隐私交易数据和利用对应区块链节点的公钥进行非对称加密的对称密钥。如图11所示,交易数据解密单元1020包括对称密钥解密模块1021和交易数据解密模块1022。
对称密钥解密模块1021被配置为使用对应区块链节点的私钥对被非对称加密的对称密钥进行非对称解密,以得到对称密钥。在解密得到对称密钥时,交易数据解密模块1022利用对称密钥对被对称加密的隐私交易数据进行对称解密,以得到隐私交易数据。
图12是根据本公开的另一实施例的区块链交易处理装置的结构框图。如图12所示,区块链交易处理装置1200包括交易数据共识单元1210、主链上链单元1220、交易数据解密单元1230、交易数据执行单元1240和私链上链单元1250。
在该示例中,加密隐私交易数据具有时间戳。在经过交易数据共识单元1210的共识处理且共识通过时,主链上链单元1220基于时间戳,将所述加密隐私交易数据生成主链区块并存储在主链中。此时,交易数据解密单元1230被配置为当监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的解密密钥对该主链区块中的加密隐私交易数据进行解密。
在一个示例中,加密隐私交易数据可以具有执行区块链节点分组标识。此时,交易数据解密单元1230可以被配置为当监听到主链上生成主链区块时,如果该主链区块中存在加密隐私交易数据,并且基于该主链区块中存在的加密隐私交易数据的执行区块链节点分组标识,确定出该主链区块中存在对应区块链节点参与执行的加密隐私交易数据,则利用约定的密钥对所述加密隐私交易数据进行解密。
在交易数据解密单元1230对加密隐私交易数据解密成功时,交易数据执行单元1240对解密得到的隐私交易数据进行执行处理经过执行处理后,私链上链单元1250将隐私交易数据和相应执行结果生成私链区块,并存储到对应区块链节点的私链中。
此外,私链上链单元1250还可以被配置为当监听到主链上生成主链区块并且该主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在对应区块链节点的私链中保存一个对应于该主链区块的空块。
图13是根据本公开的一个实施例的区块链节点的结构框图。如图13所示,区块链节点1300包括区块链交易处理装置1310和区块链交易处理装置1320。区块链交易处理装置1310被配置为执行以上参考图7至图8所述的各样功能。区块链交易日的处理装置1310被配置为执行以上参考图9至图12所述的各项功能。
以上参照图1到图13,对根据本公开的区块链交易处理方法、装置及系统的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于本公开的装置的实施例。
本公开的区块链交易处理装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见。
本公开的区块链交易处理装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本公开中,区块链交易处理装置例如可以利用计算设备实现。
图14是根据本公开的一个实施例用于实现区块链交易处理方法的计算设备的结构框图。如图14所示,计算设备1400包括处理器1410、存储器1420、内存1430、通信接口1440和内部总线1450。根据一个实施例,计算设备600可以包括至少一个处理器1410,该至少一个处理器1410执行在计算机可读存储介质(即,存储器1420)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器1420中存储计算机可执行指令,其当执行时使得至少一个处理器1410:在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理。
在另一示例中,在存储器1420中存储计算机可执行指令,其当执行时使得至少一个处理器1410:在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及在解密成功时,对解密得到的隐私交易数据进行执行处理。
应该理解,在存储器1420中存储的计算机可执行指令当执行时使得至少一个处理器1410进行本公开的各个实施例中以上结合图1-13描述的各种操作和功能。
根据一个实施例,提供了一种例如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-13描述的各种操作和功能。
具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本公开的实施例的可选实施方式,但是,本公开的实施例并不限于上述实施方式中的具体细节,在本公开的实施例的技术构思范围内,可以对本公开的实施例的技术方案进行多种简单变型,这些简单变型均属于本公开的实施例的保护范围。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (30)
1.一种区块链交易处理方法,包括:
在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及
将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理,
其中,所述执行区块链节点分组中的各个执行区块链节点被指定参与执行所述隐私交易数据。
2.如权利要求1所述的方法,其中,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据包括:
利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据,
其中,所述加密隐私交易数据使得所述各个执行区块链节点能够使用各自的私钥进行解密以得到所述隐私交易数据。
3.如权利要求2所述的方法,其中,利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据包括:
利用所述各个执行区块链节点的公钥对对称密钥进行非对称加密;
利用所述对称密钥对所述隐私交易数据进行对称加密;以及
基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成所述加密隐私交易数据。
4.如权利要求1-3中任一项所述的方法,其中,所述隐私交易数据具有执行区块链节点分组标识,在利用对应执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密之前,所述方法还包括:
基于所述执行区块链节点分组标识,获取所述执行区块链节点分组。
5.如权利要求1-3中任一项所述的方法,其中,所述共识区块链节点包括所述执行区块链节点分组中的各个执行区块链节点和所述区块链网络中的未被指定为参与执行所述隐私交易的至少一个区块链节点。
6.如权利要求1-3中任一项所述的方法,其中,所述加密隐私交易数据具有对应的执行区块链节点分组标识。
7.一种区块链交易处理方法,包括:
在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;
在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及
在解密成功时,对解密得到的隐私交易数据进行执行处理,
其中,所述加密隐私交易数据是利用所述执行区块链节点分组中约定的加密密钥进行加密的。
8.如权利要求7所述的方法,其中,所述加密隐私交易数据是利用所述执行区块链节点分组中的各个执行区块链节点的公钥进行加密的,利用约定的解密密钥对所述加密隐私交易数据进行解密包括:
利用对应区块链节点的私钥对所述加密隐私交易数据进行解密。
9.如权利要求8所述的方法,其中,所述加密隐私交易数据包括利用对称密钥进行对称加密的隐私交易数据和利用对应区块链节点的公钥进行非对称加密的对称密钥,利用对应区块链节点的私钥对所述加密隐私交易数据进行解密包括:
使用对应区块链节点的私钥对被非对称加密的对称密钥进行非对称解密,以得到所述对称密钥;以及
在解密得到对称密钥时,利用所述对称密钥对被对称加密的隐私交易数据进行对称解密,以得到所述隐私交易数据。
10.如权利要求7-9中任一项所述的方法,其中,所述加密隐私交易数据具有标识相应隐私交易数据的生成时间的时间戳,在利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密之前,所述方法还包括:
在所述加密隐私数据通过共识之后,基于所述时间戳,将所述加密隐私交易数据生成主链区块并存储在主链中,所述主链中存储有区块链网络中的通过共识的所有交易数据,
利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密包括:
当监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的解密密钥对该主链区块中的加密隐私交易数据进行解密。
11.如权利要求10所述的方法,其中,所述加密隐私交易数据具有执行区块链节点分组标识,监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的密钥对该主链区块中的加密隐私交易数据进行解密包括:
当监听到主链上生成主链区块时,如果该主链区块中存在加密隐私交易数据,并且基于该主链区块中存在的加密隐私交易数据的执行区块链节点分组标识,确定出该主链区块中存在本地区块链节点参与执行的加密隐私交易数据,则利用约定的密钥对所述加密隐私交易数据进行解密。
12.如权利要求10所述的方法,还包括:
经过所述执行处理后,将所述隐私交易数据和相应执行结果生成私链区块,并存储到对应区块链节点的私链中,所述私链中存储有对应区块链节点参与执行的隐私交易数据和相应执行结果。
13.如权利要求12中任一项所述的方法,还包括:
当监听到主链上生成主链区块并且该主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在对应区块链节点的私链中生成一个对应于该主链区块的空块。
14.一种区块链交易处理装置,包括:
交易数据加密单元,被配置为在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及
交易数据发送单元,被配置为将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理,
其中,所述执行区块链节点分组中的各个执行区块链节点被指定参与执行所述隐私交易数据。
15.如权利要求14所述的装置,其中,所述交易数据加密单元被配置为:
利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据,
其中,所述加密隐私交易数据使得所述各个执行区块链节点能够使用各自的私钥进行解密以得到所述隐私交易数据。
16.如权利要求15所述的装置,其中,所述交易数据加密单元包括:
对称密钥加密模块,被配置为利用所述各个执行区块链节点的公钥对对称密钥进行非对称加密;
交易数据加密模块,被配置为利用所述对称密钥对所述隐私交易数据进行对称加密;以及
加密数据生成模块,被配置为基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成所述加密隐私交易数据。
17.如权利要求14-16中任一项所述的装置,还包括:
节点分组获取单元,被配置为所述隐私交易数据具有执行区块链节点分组标识,在利用对应执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密之前,基于所述执行区块链节点分组标识,获取所述执行区块链节点分组。
18.如权利要求14-16中任一项所述的装置,其中,所述共识区块链节点包括所述执行区块链节点分组中的各个执行区块链节点和所述区块链网络中的未被指定为参与执行所述隐私交易的至少一个区块链节点。
19.一种区块链交易处理装置,包括:
交易数据共识单元,被配置为在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;
交易数据解密单元,被配置为在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及
交易数据执行单元,被配置为在解密成功时,对解密得到的隐私交易数据进行执行处理,
其中,所述加密隐私交易数据是利用所述执行区块链节点分组中约定的加密密钥进行加密的。
20.如权利要求19所述的装置,其中,所述加密隐私交易数据是利用所述执行区块链节点分组中的各个执行区块链节点的公钥进行加密的,所述交易数据解密单元被配置为:
利用对应区块链节点的私钥对所述加密隐私交易数据进行解密。
21. 如权利要求19所述的装置,其中,所述加密隐私交易数据包括利用对称密钥进行对称加密的隐私交易数据和利用对应区块链节点的公钥进行非对称加密的对称密钥,所述交易数据解密单元包括:
对称密钥解密模块,被配置为使用对应区块链节点的私钥对被非对称加密的对称密钥进行非对称解密,以得到所述对称密钥;以及
交易数据解密模块,被配置为在解密得到对称密钥时,利用所述对称密钥对被对称加密的隐私交易数据进行对称解密,以得到所述隐私交易数据。
22.如权利要求19-21中任一项所述的装置,其中,所述加密隐私交易数据具有标识相应隐私交易数据的生成时间的时间戳,所述装置还包括:
主链上链单元,被配置为在所述加密隐私数据通过共识之后,在利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密之前,基于所述时间戳,将所述加密隐私交易数据生成主链区块并存储在主链中,所述主链中存储有区块链网络中的经过共识的所有交易数据,
所述交易数据解密单元被配置为:
当监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的解密密钥对该主链区块中的加密隐私交易数据进行解密。
23.如权利要求22所述的装置,其中,所述加密隐私交易数据具有执行区块链节点分组标识,所述交易数据解密单元被配置为:
当监听到主链上生成主链区块时,如果该主链区块中存在加密隐私交易数据,并且基于该主链区块中存在的加密隐私交易数据的执行区块链节点分组标识,确定出该主链区块中存在对应区块链节点参与执行的加密隐私交易数据,则利用约定的密钥对所述加密隐私交易数据进行解密。
24.如权利要求22所述的装置,还包括:
私链上链单元,被配置为经过所述执行处理后,将所述隐私交易数据和相应执行结果生成私链区块,并存储到对应区块链节点的私链中,所述私链中存储有对应区块链节点参与执行的隐私交易数据和相应执行结果。
25.如权利要求24中任一项所述的装置,所述私链上链单元还被配置为:
当监听到主链上生成主链区块并且该主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在对应区块链节点的私链中保存一个对应于该主链区块的空块。
26. 一种区块链节点,包括:
权利要求15-18中任一项所述的装置;以及
权利要求19-25中任一项所述的装置。
27. 一种计算设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到6中任一所述的方法。
28.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到6中任一所述的方法。
29. 一种计算设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求7到13中任一所述的方法。
30.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求7到13中任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010253639.6A CN111143885B (zh) | 2020-04-02 | 2020-04-02 | 区块链交易处理方法及装置和区块链节点 |
PCT/CN2021/081713 WO2021197091A1 (zh) | 2020-04-02 | 2021-03-19 | 区块链交易处理方法及装置和区块链节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010253639.6A CN111143885B (zh) | 2020-04-02 | 2020-04-02 | 区块链交易处理方法及装置和区块链节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143885A true CN111143885A (zh) | 2020-05-12 |
CN111143885B CN111143885B (zh) | 2020-07-17 |
Family
ID=70528720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010253639.6A Active CN111143885B (zh) | 2020-04-02 | 2020-04-02 | 区块链交易处理方法及装置和区块链节点 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111143885B (zh) |
WO (1) | WO2021197091A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522648A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 一种区块链的交易处理方法、装置及电子设备 |
CN112039893A (zh) * | 2020-08-31 | 2020-12-04 | 成都质数斯达克科技有限公司 | 私密交易处理方法、装置、电子设备及可读存储介质 |
CN112232956A (zh) * | 2020-10-16 | 2021-01-15 | 中国银联股份有限公司 | 一种基于区块链的智慧停车的数据处理方法及装置 |
CN112513914A (zh) * | 2020-07-03 | 2021-03-16 | 支付宝(杭州)信息技术有限公司 | 基于区块链的隐私交易中提供隐私和安全保护的系统和方法 |
CN112685790A (zh) * | 2021-03-19 | 2021-04-20 | 中企链信(北京)科技有限公司 | 一种区块链数据安全及隐私保护方法 |
CN112884588A (zh) * | 2021-04-30 | 2021-06-01 | 支付宝(杭州)信息技术有限公司 | 区块链交易执行方法、区块链节点及控制装置 |
WO2021197091A1 (zh) * | 2020-04-02 | 2021-10-07 | 支付宝(杭州)信息技术有限公司 | 区块链交易处理方法及装置和区块链节点 |
CN113630247A (zh) * | 2021-08-14 | 2021-11-09 | 永旗(北京)科技有限公司 | 一种区块链节点间的通信方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230081416A1 (en) * | 2021-09-10 | 2023-03-16 | International Business Machines Corporation | Anonymous private shared partitions in blockchain networks |
US11968307B2 (en) * | 2021-09-27 | 2024-04-23 | International Bisuness Machines Corporation | Private ledger partitions in blockchain networks |
CN113919846B (zh) * | 2021-12-15 | 2022-03-08 | 腾讯科技(深圳)有限公司 | 区块链节点动态分组方法、装置、计算机设备和存储介质 |
CN114640462B (zh) * | 2022-02-17 | 2024-05-17 | 北京邮电大学 | 区块链隐私保护方法、装置、电子设备及存储介质 |
CN114564756B (zh) * | 2022-03-03 | 2023-01-10 | 广州万辉信息科技有限公司 | 一种基于区块链的专利质押业务处理平台及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610578A (zh) * | 2016-01-25 | 2016-05-25 | 杭州复杂美科技有限公司 | 区块链信息存证及隐私保护方法 |
CN110276613A (zh) * | 2019-06-20 | 2019-09-24 | 卓尔智联(武汉)研究院有限公司 | 基于区块链的数据处理装置、方法及计算机可读存储介质 |
CN110335043A (zh) * | 2019-07-03 | 2019-10-15 | 中国银行股份有限公司 | 一种基于区块链系统的交易隐私保护方法、设备以及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143885B (zh) * | 2020-04-02 | 2020-07-17 | 支付宝(杭州)信息技术有限公司 | 区块链交易处理方法及装置和区块链节点 |
-
2020
- 2020-04-02 CN CN202010253639.6A patent/CN111143885B/zh active Active
-
2021
- 2021-03-19 WO PCT/CN2021/081713 patent/WO2021197091A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610578A (zh) * | 2016-01-25 | 2016-05-25 | 杭州复杂美科技有限公司 | 区块链信息存证及隐私保护方法 |
CN110276613A (zh) * | 2019-06-20 | 2019-09-24 | 卓尔智联(武汉)研究院有限公司 | 基于区块链的数据处理装置、方法及计算机可读存储介质 |
CN110335043A (zh) * | 2019-07-03 | 2019-10-15 | 中国银行股份有限公司 | 一种基于区块链系统的交易隐私保护方法、设备以及系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021197091A1 (zh) * | 2020-04-02 | 2021-10-07 | 支付宝(杭州)信息技术有限公司 | 区块链交易处理方法及装置和区块链节点 |
CN111522648A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 一种区块链的交易处理方法、装置及电子设备 |
CN112513914A (zh) * | 2020-07-03 | 2021-03-16 | 支付宝(杭州)信息技术有限公司 | 基于区块链的隐私交易中提供隐私和安全保护的系统和方法 |
US11803447B2 (en) | 2020-07-03 | 2023-10-31 | Alipay (Hangzhou) Information Technology Co., Ltd. | Transaction processing method, apparatus, and electronic device for blockchain |
CN112039893A (zh) * | 2020-08-31 | 2020-12-04 | 成都质数斯达克科技有限公司 | 私密交易处理方法、装置、电子设备及可读存储介质 |
CN112232956A (zh) * | 2020-10-16 | 2021-01-15 | 中国银联股份有限公司 | 一种基于区块链的智慧停车的数据处理方法及装置 |
CN112232956B (zh) * | 2020-10-16 | 2024-05-14 | 中国银联股份有限公司 | 一种基于区块链的智慧停车的数据处理方法及装置 |
CN112685790A (zh) * | 2021-03-19 | 2021-04-20 | 中企链信(北京)科技有限公司 | 一种区块链数据安全及隐私保护方法 |
CN112685790B (zh) * | 2021-03-19 | 2021-06-25 | 中企链信(北京)科技有限公司 | 一种区块链数据安全及隐私保护方法 |
CN112884588A (zh) * | 2021-04-30 | 2021-06-01 | 支付宝(杭州)信息技术有限公司 | 区块链交易执行方法、区块链节点及控制装置 |
CN113630247A (zh) * | 2021-08-14 | 2021-11-09 | 永旗(北京)科技有限公司 | 一种区块链节点间的通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111143885B (zh) | 2020-07-17 |
WO2021197091A1 (zh) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143885B (zh) | 区块链交易处理方法及装置和区块链节点 | |
Ruffing et al. | P2P mixing and unlinkable bitcoin transactions | |
Boyd et al. | Protocols for authentication and key establishment | |
Blake-Wilson et al. | Authenticated Diffe-Hellman key agreement protocols | |
Nguyen et al. | Authentication protocols based on low-bandwidth unspoofable channels: a comparative survey | |
CN110225016A (zh) | 一种基于区块链网络的数据隐蔽传输方法 | |
Yung | Practical signcryption | |
CN107483212A (zh) | 一种双方协作生成数字签名的方法 | |
CN113556237B (zh) | 基于聚合多签的阈值签名方法、系统、装置及存储介质 | |
CN110959163A (zh) | 能够在多个存储节点上安全存储大型区块链的计算机实现的系统和方法 | |
JP2000502553A (ja) | 内在的署名を用いた鍵一致及び輸送プロトコル | |
Morrissey et al. | The TLS handshake protocol: A modular analysis | |
CN107094077A (zh) | 一种不限制签名算法的许可链账户系统 | |
CN115277015A (zh) | 异步联邦学习隐私保护方法、系统、介质、设备及终端 | |
CN110545169B (zh) | 基于非对称密钥池和隐式证书的区块链方法和系统 | |
Byali et al. | Fast actively secure five-party computation with security beyond abort | |
CA2241705C (en) | A method for preventing key-share attacks | |
CN110690969A (zh) | 一种多方协同完成双向ssl/tls认证的方法和系统 | |
CN116388995A (zh) | 一种基于puf的轻量级智能电网认证方法 | |
Schliep et al. | End-to-end secure mobile group messaging with conversation integrity and deniability | |
Song et al. | Secure authentication in motion: A novel online payment framework for drive-thru Internet | |
Itoo et al. | A robust ECC-based authentication framework for energy internet (EI)-based vehicle to grid communication system | |
WO2017125729A1 (en) | Improving security protocols | |
Li et al. | A general compiler for password-authenticated group key exchange protocol | |
Bindel et al. | Hybrid key encapsulation mechanisms and authenticated key exchange |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40028630 Country of ref document: HK |