在基于区块链的私有交易中提供隐私和安全保护的系统和方法技术方案

技术编号:24179906 阅读:18 留言:0更新日期:2020-05-16 06:07
提供了用于实现基于区块链的私有交易的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法之一由参与私有交易的第一区块链节点执行,该方法包括:根据公有区块链中的区块链合约确定参与所述私有交易的一个或多个第二区块链节点;向所述一个或多个第二区块链节点传输交易信息,所述交易信息包括所述私有交易的一个或多个发送方、所述私有交易的一个或多个接收方、以及所述私有交易的一个或多个交易金额;分别获得来自一定数量的所述第二区块链节点的、证明接收所述交易信息的签名;响应于获得超过阈值的所述一定数量的所述签名,至少将所述私有交易的表示和所述签名存储在所述公有区块链中。

【技术实现步骤摘要】
【国外来华专利技术】在基于区块链的私有交易中提供隐私和安全保护的系统和方法
本申请一般涉及用于为基于区块链的私有交易提供隐私和安全保护的方法和设备。
技术介绍
区块链通过将数据保存在彼此之间具有先后关系的一系列数据块中,以去中心化方式提供数据存储。区块链由节点网络维护并更新,这些节点还负责验证数据。存储的数据可能涉及不同方之间的交易,存储数据的区块链也可以称为跟踪这些交易的共享账本。有效交易通常包括诸如发送方(例如,发送方账号地址)、接收方(例如,接收方账号地址)和交易金额之类的元素。在传统的区块链系统中,为防止双花和其他欺诈活动,这些元素被明确公开以进行验证,这种交易称为公开交易。在没有隐私保护的情况下,这些公开交易会被广播到所有区块链节点,以供它们验证和执行。另一方面,私有交易需要向非参与方隐藏一个或多个要素。提供隐私保护的现有建议之一是法定数量(Quorum)私有交易。在发起方和一个或多个参与方之间的私有交易中,对于每个参与方,发送方都需要使用对称密钥对交易进行加密,使用参与方的公钥对该对称密钥进行加密,然后将两种加密都发送给参加方。发起方和参与方通过各自相应的区块链节点进行私有交易。然后,交易的哈希值可以由区块链节点进行共识验证并被打包到区块链中。提供隐私保护的另一个现有建议是Fabric私有交易。对于发起方和一个或多个参与方之间的私有交易,通过链码指定参与方。由订购方节点订购的私有交易的交易哈希被记录在公开账本中,而私有交易的交易信息则存储在背书对等节点中。发起方和参与方可以将私有交易信息推送到背书对等节点或从背书对等节点拉取私有交易信息以执行私有交易。现有技术通常将私有交易的控制集中在几个专用节点(例如,Quorum中的发起方的相应节点或Fabric中的背书对等节点),并且依赖于专用节点正在正常工作(functioning)的假设。在本文中,正常工作意味着无故障和诚实,而非正常工作(non-functioning)意味着有故障和/或恶意。可能的故障和/或恶意行为可包括:传递消息失败、消息传递延迟、消息传递无序、向不同节点传递任意消息、违反协议等。如果专用节点恶意行为并且没有向私有交易的所有参与方等通知变得非正常工作,则未被通知的参与方可能会由于缺少私有交易的交易信息被阻止进一步执行交易。缺少信息可能与公开账本中记录的私有交易的表示发生冲突,这可能指示涉及未被通知的参与方的私有交易已完成。因此,对于希望进行私有交易的各方,期望提供一种基于区块链的机制以使隐私保护的交易具有足够的安全保护。
技术实现思路
本文的各种实施例包括但不限于用于实现基于区块链的私有交易的系统、方法和非瞬态计算机可读介质。根据一些实施例,由参与私有交易的第一区块链节点执行的计算机实现的用于实现基于区块链的私有交易的方法,该方法包括:根据公有区块链中的区块链合约确定参与所述私有交易的一个或多个第二区块链节点;向所述一个或多个第二区块链节点传输交易信息,所述交易信息包括所述私有交易的一个或多个发送方、所述私有交易的一个或多个接收方、以及所述私有交易的一个或多个交易金额;获得来自一定数量的所述第二区块链节点中每个节点的、证明接收所述交易信息的签名;响应于获得超过阈值的所述一定数量的签名,至少将所述私有交易的表示和签名存储在公有区块链中。根据其他实施例,所述区块链合约包括参与所述私有交易的第一区块链节点和第二区块链节点中每一个的地址;根据所述公有区块链中的区块链合约确定参与所述私有交易的一个或多个第二区块链节点,包括:根据参与所述私有交易的所述一个或多个第二区块链节点中每个节点的地址确定参与所述私有交易的所述一个或多个第二区块链节点。根据其他实施例,第一区块链节点和第二区块链节点的地址分别包括以下中的至少一个:互联网协议(IP)地址或通信端口号。根据其他实施例,所述区块链合约还包括与参与私有交易的第一区块链节点和第二区块链节点中每一个相关联的公钥;并且向所述一个或多个第二区块链节点传输交易信息,包括:对于所述一个或多个第二区块链节点,分别用相应的公钥对所述交易信息进行加密;根据所述一个或多个第二区块链节点中每个节点的地址,向所述一个或多个第二区块链节点分别传输加密的交易信息。根据一些实施例,所述区块链合约还包括包含参与私有交易的第一区块链节点和第二区块链节点中每一个的组的标识,用于向第一区块链节点和第二区块链节点分别通知参与私有交易。根据其他实施例,来自所述一定数量的所述第二区块链节点中每个节点的、证明接收所述交易信息的签名,包括:用与所述一定数量的所述第二区块链节点中每个节点相关联的私钥进行加密的交易信息的哈希值。根据一些实施例,至少将私有交易的表示和签名存储在公有区块链中,包括:向公有区块链的一个或多个区块链节点传输包括私有交易的交易哈希和签名的第三区块链交易,以用于打包到公有区块链中,其中所述交易哈希至少是交易信息的哈希值。根据其他实施例,响应于获得超过阈值的所述一定数量的签名,至少将私有交易的表示和签名存储在公有区块链中,包括:响应于获得参与私有交易的所有第二区块链节点中每个节点的签名,以至少将私有交易的表示和签名存储在公有区块链中。根据其他实施例,所述方法还包括:在本地执行私有交易。根据其他实施例,所述方法还包括:从一个或多个第二区块链节点中已验证一定数量的签名并且尚未接收交易信息的一个第二区块链节点获得用于交易信息的请求;以及向所述一个第二区块链节点传输交易信息,以使所述一个第二区块链节点本地执行私有交易。根据一些实施例,在根据公有区块链中的区块链合约确定参与私有交易的一个或多个第二区块链节点之前,所述方法还包括:将区块链节点信息存储在公有区块链中,所述区块链节点信息包括与参与私有交易的第一区块链节点和第二区块链节点中每一个相关联的公钥以及第一区块链节点和第二区块链节点中每个的地址。根据其他实施例,将区块链节点信息存储在公有区块链中,包括:向公有区块链的一个或多个区块链节点传输包括区块链合约的第一区块链交易,以在公有区块链中部署区块链合约;向公有区块链的一个或多个区块链节点传输一个或多个第二区块链交易,以调用部署的区块链合约,进而将区块链节点信息存储在部署的区块链合约中。根据又一些实施例,部署的区块链合约被配置为在将区块链节点信息存储在部署的区块链合约中之后,禁止对参与私有交易的第一区块链节点和第二区块链节点中每个的更改。根据其他实施例,一种用于实现基于区块链的私有交易的系统,包括:一个或多个处理器;和耦接到所述一个或多个处理器并且其上存储有指令的一个或多个计算机可读存储器,所述指令能由所述一个或多个处理器执行以执行任何前述实施例的方法。根据一些实施例,用于实现基于区块链的私有交易的装置,包括用于执行前述实施例中的任一的方法的多个模块。根据一些实施例,一种非瞬态算机可读介质,所述计算机可读介质中存储有指令,当所述指令由设备的处理器执行时,所述指令使所述设备执行前述实施例中任一项的方法。...

【技术保护点】
1.一种计算机实现的用于实现基于区块链的私有交易的方法,其中,所述方法由参与私有交易的第一区块链节点执行,所述方法包括:/n根据公有区块链中的区块链合约确定参与所述私有交易的一个或多个第二区块链节点;/n向所述一个或多个第二区块链节点传输交易信息,所述交易信息包括所述私有交易的一个或多个发送方、所述私有交易的一个或多个接收方以及所述私有交易的一个或多个交易金额;/n获得来自一定数量的所述第二区块链节点中每个节点的、证明接收所述交易信息的签名;以及/n响应于获得超过阈值的所述一定数量的所述签名,至少将所述私有交易的表示和所述签名存储在所述公有区块链中。/n

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的用于实现基于区块链的私有交易的方法,其中,所述方法由参与私有交易的第一区块链节点执行,所述方法包括:
根据公有区块链中的区块链合约确定参与所述私有交易的一个或多个第二区块链节点;
向所述一个或多个第二区块链节点传输交易信息,所述交易信息包括所述私有交易的一个或多个发送方、所述私有交易的一个或多个接收方以及所述私有交易的一个或多个交易金额;
获得来自一定数量的所述第二区块链节点中每个节点的、证明接收所述交易信息的签名;以及
响应于获得超过阈值的所述一定数量的所述签名,至少将所述私有交易的表示和所述签名存储在所述公有区块链中。


2.如权利要求1所述的方法,其中:
所述区块链合约包括参与所述私有交易的所述第一区块链节点和所述第二区块链节点中每个的地址;以及
根据所述公有区块链中的所述区块链合约确定参与所述私有交易的所述一个或多个第二区块链节点,包括:根据参与所述私有交易的所述一个或多个第二区块链节点中每个节点的地址确定参与所述私有交易的所述一个或多个第二区块链节点。


3.如权利要求2所述的方法,其中:
所述第一区块链节点和所述第二区块链节点中每个的地址包括以下中的至少一个:互联网协议IP地址或通信端口号。


4.如权利要求2和3中任一项所述的方法,其中:
所述区块链合约还包括与参与所述私有交易的所述第一区块链节点和所述第二区块链节点中每个相关联的公钥;以及
向所述一个或多个第二区块链节点传输所述交易信息,包括:
对于所述一个或多个第二区块链节点中每个,用相应的公钥对所述交易信息进行加密;以及
根据所述一个或多个第二区块链节点中每个的地址,向所述一个或多个第二区块链节点中每个传输所述加密的交易信息。


5.如前述任一权利要求所述的方法,其中:
所述区块链合约还包括包含参与所述私有交易的所述第一区块链节点和所述第二区块链节点中每个的组的标识,用于向所述第一区块链节点和所述第二区块链节点中每个通知参与所述私有交易。


6.根据前述任一权利要求所述的方法,其中,来自所述一定数量的所述第二区块链节点中每个节点的、证明接收所述交易信息的签名,包括:
用与所述一定数量的所述第二区块链节点中每个相关联的私钥加密的所述交易信息的哈希值。


7.如前述任一权利要求所述的方法,还包括:
本地执行所述私有交易。


8.如前述任一权利要求所述的方法,还包括:
从所述一个或多个第二区块链节点中已验证所述一定数量的所述签名并尚未接收所述交易信息的一个第二区块链...

【专利技术属性】
技术研发人员:杨达一夏凝李康
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1