CN114640462B - 区块链隐私保护方法、装置、电子设备及存储介质 - Google Patents
区块链隐私保护方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114640462B CN114640462B CN202210147538.XA CN202210147538A CN114640462B CN 114640462 B CN114640462 B CN 114640462B CN 202210147538 A CN202210147538 A CN 202210147538A CN 114640462 B CN114640462 B CN 114640462B
- Authority
- CN
- China
- Prior art keywords
- node
- transaction
- consensus
- blockchain
- signature
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000000977 initiatory effect Effects 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 206010033799 Paralysis Diseases 0.000 description 3
- 108091035707 Consensus sequence Proteins 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种区块链隐私保护方法、装置、电子设备及存储介质,该方法包括:发起区块链交易,基于共享组内各节点的节点公钥,对所述区块链交易进行环签名得到签名交易;将所述签名交易加入交易池,以得到新区块;在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识;存储在不同共享组之间完成共识的新区块。本发明通过共享组内各节点组成的环签名,对区块链交易进行签名,以将实际的交易签名节点,隐藏在交易共享组成员中,降低了攻击者将交易与相应节点联系起来的可能性,可以保护区块链数据的隐私。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链隐私保护方法、装置、电子设备及存储介质。
背景技术
区块链是一种新型的去中心化系统,其本质是一种具有匿名性和防篡改性的链式分布式账本。然而,随着研究逐步深入,区块链系统的隐私泄露问题逐渐引起了研究人员的关注。
由于区块链系统中的交易都是透明的,匿名特性主要通过非对称加密和数字签名技术实现。但是使用强大的启发式技术,攻击者可以将不同的交易与一个普通用户联系起来,在很多情况下,还可以与该用户的真实身份联系起来。
因此,区块链数据隐私泄露不仅会带来财产损失,更可能危害个人安全。
发明内容
本发明提供一种区块链隐私保护方法、装置、电子设备及存储介质,用以保护区块链数据的隐私。
本发明提供一种区块链隐私保护方法,包括:
发起区块链交易,基于共享组内各节点的节点公钥,对所述区块链交易进行环签名得到签名交易;
将所述签名交易加入交易池,以得到新区块;
在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识;
存储在不同共享组之间完成共识的新区块。
根据本发明提供的区块链隐私保护方法,在发起区块链交易之前,还包括:
将自身节点的身份信息发送至证书中心节点;
在所述证书中心节点对所述身份信息校验通过的情况下,接收所述证书中心发送的数据证书;
基于所述数据证书,向领导节点发送加入共享组请求,以请求加入所述领导节点对应的共享组。
根据本发明提供的区块链隐私保护方法,在将自身节点的身份信息发送至证书中心节点之前,还包括:
基于随机数,并结合椭圆曲线加密算法,生成节点公钥及对应的节点私钥,并将所述节点公钥发送至所述证书中心节点;
所述将自身节点的身份信息发送至证书中心节点,包括:
基于所述节点私钥对自身身份信息进行加密,并将加密的身份信息发送至所述证书中心节点;
其中,所述节点公钥用于对所述加密的身份信息进行解密。
根据本发明提供的区块链隐私保护方法,所述基于共享组内各节点的节点公钥,对所述区块链交易进行环签名,得到签名交易,包括:
基于随机数、椭圆曲线基点、哈希函数值、共享组内各节点的节点公钥以及节点私钥,确定各节点的环签名结果以及签名环;
基于所述环签名结果和所述签名环,对所述区块链交易进行环签名,得到所述签名交易。
根据本发明提供的区块链隐私保护方法,所述在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识,包括:
基于所述节点公钥,对交易池中的交易进行解密验证,确定合法交易,并将所述合法交易加入新区块中;
向共享组内其他节点发送广播,在接收到其他节点的成功确认消息的情况下,确定在所述共享组内执行完成所述新区块的共识;
基于拜占庭容错算法在不同的共享组之间执行所述新区块的共识。
根据本发明提供的区块链隐私保护方法,所述存储在不同共享组之间完成共识的新区块,包括:
在不同的共享组之间执行完成所述新区块的共识,且确定所述新区块来源于目标共享组的情况下,将所述新区块写入本地数据库。
本发明还提供一种区块链隐私保护装置,包括:
交易模块,用于发起区块链交易,基于共享组内各节点的节点公钥,对所述区块链交易进行环签名得到签名交易;
新区块生成模块用于将所述签名交易加入交易池,以得到新区块;
共识模块,用于在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识;
更新模块,用于存储在不同共享组之间完成共识的新区块。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述区块链隐私保护方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述区块链隐私保护方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述区块链隐私保护方法。
本发明提供的区块链隐私保护方法、装置、电子设备及存储介质,通过共享组内各节点组成的环签名,对区块链交易进行签名,以将实际的交易签名节点,隐藏在交易共享组成员中,降低了攻击者将交易与相应节点联系起来的可能性;此外,将签名交易加入交易池,得到新区块链后,再对新区块执行共享组内的共识以及共享组间的共识,即采用分组共识机制将不同共享组的节点以及交易池分隔,组内共识和组间共识机制保证了交易在组内共识阶段不会被其他共享组节点发现,增强了共识过程的安全性。因此,本发明提供的区块链隐私保护方法,可以保护区块链数据的隐私。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的区块链隐私保护方法的流程示意图之一;
图2是本发明提供的多个共享组的结构示意图;
图3是本发明提供的领导节点选举示意图;
图4是本发明提供的共识过程示意图;
图5是本发明提供的区块链隐私保护方法的流程示意图之二;
图6是本发明提供的区块链隐私保护装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的区块链隐私保护方法的流程示意图之一,如图1所示,本发明提供一种区块链隐私保护方法,应用于区块链节点,包括:
步骤110、发起区块链交易,基于共享组内各节点的节点公钥,对所述区块链交易进行环签名,得到签名交易;
可以理解的是,签名交易,也即是完成环签名的区块链交易。
在执行步骤110之前,需要对区块链中的各个交易节点进行分组,领导节点可以根据交易节点的感兴趣的交易内容将交易节点分为多个共享组。交易节点包括领导节点和非领导节点。
需要说明的是,步骤110中的共享组,是执行步骤110的区块链节点所在的共享组。
对区块链中的各个节点进行分组的步骤如下:
图2是本发明提供的多个共享组的结构示意图,如图2所示,根据交易节点的感兴趣的交易内容,将交易节点分为多个共享组,例如,分别为共享组A,共享组B,共享组C,共享组D。
每个交易节点先通过椭圆曲线加密算法生成一对公钥私钥{pk,sk},其中,pk为公钥,sk为私钥,pk=sk*g,g为椭圆曲线的基点。
交易节点使用这对密钥对以及节点身份信息向证书中心申请验证,证书中心验证通过后,为该节点生成数字证书,并使用证书中心的私钥sk*进行加密。
交易节点完成签名过程后,将带有环签名的交易,加入本共享组的交易池。
交易签名过程具有良好的匿名性,共享组内的交易节点都可以完成交易签名,验证者或攻击者无法得到具体签名的成员,因此,保证了交易过程的安全性;此外,交易签名过程具有公平性,共享组内每个成员地位相同,签名时不需要依赖其他节点的认证,不需要额外的管理开销。
步骤120、将所述签名交易加入交易池,以得到新区块。
可以理解的是,所述交易池也即是执行步骤120对应的节点所在共享组的交易池。
步骤130、在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识。
可以理解的是,在共享组内执行新区块的共识过程,也即是:领导节点从交易池中选出一定数量的交易,然后验证这些交易签名是否合法,若合法,则将这些合法交易加入到新区块的交易列表中,以将合法交易生成新区块;若不合法,则舍弃不合法的交易。
进一步地,在不同的共享组之间执行所述新区块的共识,包括:
由该共享组的领导节点(即:共识发起节点),向其他共享组领导节点发起共享组间共识,并采用实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)共识机制。
步骤140、存储在不同共享组之间完成共识的新区块。
可以理解的是,在所述共享组内执行完成所述新区块的共识,且在不同的共享组之间执行完成所述新区块的共识之后,对生成的新区块进行更新。
在一些实施例中,区块链隐私保护方法,在发起区块链交易之前,还包括:
将自身节点的身份信息发送至证书中心节点;
在所述证书中心节点对所述身份信息校验通过的情况下,接收所述证书中心发送的数据证书;
基于所述数据证书,向领导节点发送加入共享组请求,以请求加入所述领导节点对应的共享组。
可以理解的是,交易节点申请加入共享组时,需要提供由证书中心生成,且经过证书中心节点对应的私钥sk加密的数字证书,共享组内成员,例如共享组内的领导节点,使用证书中心节点对应的公钥pk*对被加密的数字证书进行解密,并基于解密后的数字证书,判断申请加入共享组的节点身份是否合法,若合法,则允许该节点加入共享组;若不合法,则不允许该节点加入该共享组。
需要说明的是,自身节点,也即是执行本实施中的区块链隐私保护方法的节点。证书中心节点,与自身节点属于同一共享组的节点。
在一些实施例中,区块链隐私保护方法,在将自身节点的身份信息发送至证书中心节点之前,还包括:
基于随机数,并结合椭圆曲线加密算法,生成节点公钥及对应的节点私钥,并将所述节点公钥发送至所述证书中心节点;
所述将自身节点的身份信息发送至证书中心节点,包括:
基于所述节点私钥对自身身份信息进行加密,并将加密的身份信息发送至所述证书中心节点;
其中,所述节点公钥用于对所述加密的身份信息进行解密。
可以理解的是,交易节点加入共享组后,会被分配一个组内唯一标识UID,该标识根据共享组号G、时间戳Ts以及随机数N生成, 表示数字拼接,在同一个共享组内,节点加入的时间越晚,该节点的组内唯一标识越大。
共享组内所有成员的公钥以及各自唯一标识UID会通过广播的形式在共享组中公开,其中n为共享组A中成员数量,Ai表示共享组A内第i个节点。每当有新的节点加入或有节点退出时,所有成员重新共享每个节点的公钥。完成该过程后,共享组内每个成员都拥有组内成员公钥和UID,每个UID与其对应节点的公钥相对应,并且不能获知其他成员的私钥。
因此,证书中心与共享组成员的验证保证了新加入节点身份的合法性。并且,每个共享组的交易池相互隔离,组内节点无法看到其他共享组的交易池中的交易。这保证了新交易在共识完成前对于其他组成员是不可见的,降低了交易隐私泄露的可能性。
在一些实施例中,所述基于共享组内各节点的节点公钥,对所述区块链交易进行环签名,得到签名交易,包括:
基于随机数、椭圆曲线基点、哈希函数值、共享组内各节点的节点公钥以及节点私钥,确定各节点的环签名结果以及签名环;
基于所述环签名结果和所述签名环,对所述区块链交易进行环签名,得到所述签名交易。
可以理解的是,交易节点生成新的交易时,需要对交易进行签名。签名过程具体为:
交易节点Ai选取一个初始节点UID,然后根据存储的UID和成员公钥对应信息,依据UID从小到大的顺序依次选择k个成员的公钥,{pk1,pk2,...,pki,...,pkk},选择的公钥集合中包含本节点公钥pki.
交易节点Ai生成一个随机数集合R,包含k-1个随机数{r1,r2,...,,ri-1,ri+1,...,rk}。每个随机数与选取的公钥集合中的公钥相对应,缺少的ri则代表本节点公钥所对应的随机数,将在后续步骤中求出。
然后由交易节点Ai生成一个随机数m,并设定满足其中ri和ci未知。
根据递推式ci=h(Tx,Ri-1*g+ci-1*pki-1),依次计算ci+1,ci+2,...,ck,c1...,ci。其中,h为哈希函数,本实例中采用SHA256,c为签名环,ci为第i个签名环。
进一步,可以得出ri=m-ci*ski。至此可以得到完整的随机数集合R。
交易节点完成上述签名过程后,将带有环签名的交易{R,c1,Tx,UID,k},加入本共享组的交易池。其中,R为使用的随机数集合,c为签名环,UID为起始节点,m为节点个数/环长度。
在一些实施例中,所述在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识,包括:
基于所述节点公钥,对交易池中的交易进行解密验证,确定合法交易,并将所述合法交易加入新区块中;
向共享组内其他节点发送广播,在接收到其他节点的成功确认消息的情况下,确定在所述共享组内执行完成所述新区块的共识;
基于拜占庭容错算法在不同的共享组之间执行所述新区块的共识。
可以理解的是,上述的合法交易,也即是基于所述节点公钥,对交易池中的交易进行解密验证通过的交易,验证未通过的交易,为不合法交易,即非法交易。
领导节点在共享组内广播新区块的同步信息时,领导节点先使用哈希函数求出新区块的同步信息的数字摘要,再使用私钥对所生成的新区块的数字签名进行加密。
同一共享组内其他节点(即:非领导节点)收到领导节点发来的同步信息后,首先对比序列号是否为,在上次组内共识的序列号的基础上加1,以及组内唯一标识是否是领导节点的组内标识,若是则使用领导节点对应的公钥,对收到的数字签名进行解密,得到新区块同步信息的数字摘要。
随后,非领导节点计算新区块的数字摘要,并将该数字摘要与收到的新区块的同步消息中的数字摘要进行对比,若两者相同,则确定收到的新区块的同步信息完整;若两者不同,则非领导节点向领导节点请求重发同步信息。
非领导节点基于组内共识向领导节点发送确认消息Mrep={d(B),UID,Ts,seq,t},具体包括:新区块数字摘要d(B)、节点组内唯一标识UID、时间戳Ts、共识序列号seq、共识类型t。然后,将该新区块的同步信息在本地数据库中缓存。
领导节点收到组内非领导节点的确认消息,需要对确认消息进行验证,具体包括:
确认非领导节点发送的数字摘要与本地数据库缓存的数字摘要是否相同,以及确认非领导节点发送的共识序列号与当前序列号是否相同,以及确认非领导节点发送的节点组内唯一标识是否合法。
当领导节点将其他所有非领导节点发送的确认消息均验证通过后,则完成共享组内共识过程。
领导节点在共享组内广播新区块同步信息Msyn={B,d(B),UID,Ts,seq,t},具体包括:新区块信息B、新区块数字摘要d(B)、组内唯一标识UID、时间戳Ts、共识序列号seq、共识类型t。其中,d(B)=sig(h(B)),领导节点使用哈希函数求出区块信息的数字摘要,然后使用私钥进行加密生成区块数字签名。
其中,共识类型t∈{0,1},分别代表需要一次组内共识、需要二次组内共识。
进一步,组内共识过程中,领导节点从交易池验证交易签名的具体过程为:
假设领导节点为Aj,并拥有组内全部节点的公钥集合,交易池中包含签名的交易格式为{R,c1,Tx,UID,k}。
领导节点根据起始节点UID以及环长度k,通过UID查找本地存储的全部节点公钥信息得到该签名中使用的公钥集合{pk1,pk2,...,pkk}
领导节点根据交易池中的交易信息使用递推式cx=h(Tx,rx-1*g+cx-1*pkx)依次计算
然后判断计算出的与收到的c1是否相同。若相同,则证明该交易有效;若不相同,则证明该交易无效。
其中,领导节点生成的新区块B={Hpre,Hcur,Htxs,Txs,Ts}具体包括以下信息:前一个区块哈希值Hpre、当前区块哈希值Hcur、交易列表哈希值Htxs、交易列表Txs、时间戳Ts等。其中,交易列表包含交易信息Txi、交易哈希值h(Txi)、交易签名sig(Txi)。
进一步,在共享组内的共识过程中,领导节点需要定期向共享组内的非领导节点发送消息Mh={UID,Ts},以保证当前领导节点没有瘫痪。
如果非领导节点经过门限值时间Tth后没有收到领导节点的消息,或是两次收到领导节点消息的时间差大于门限值,即第一次收到领导节点消息的时间与第二次收到领导节点消息的时间之间的差值大于Tth,则需要重新选举新的领导节点。
图3是本发明提供的领导节点选举示意图,如图3所示,重新选举领导节点的具体过程为:
首先,共享组内所有节点按照加入共享组的时间顺序,从小到大依次排序形成一个优先队列,队列的长度与组内成员数量相同。
然后,由加入时间最早的节点排在队列头并担任领导节点,每当领导节点瘫痪时将该节点排到队列尾部,并由队列中已瘫痪的领导节点的下一个节点担任领导节点。
最后,对于最后加入的节点,排列到队列尾部。
综上,领导节点的重新选举过程保证了共享组内区块同步始终是可以可靠完成的,同时,采用队列形式一定程度上避免了某个节点多次担任领导节点导致的权利集中问题。
图4是本发明提供的共识过程示意图,如图4所示,在一些实施例中,共享组间共识具体包括3个阶段:预准备、准备和提交。
在预准备阶段中,共享组的领导节点发出的消息格式为Mppre={B,UID,Ts,seq}。
在准备阶段中,每个节点发出的准备消息格式为Mpre={d(B),UID,Ts,seq},收到超过2/3节点数量的准备消息后可以进入提交阶段。
在提交阶段中,每个节点发出的消息格式为Mcom={UID,Ts,seq},收到超过2/3节点数量的提交信息后,代表共识成功。
在一些实施例中,所述存储在不同共享组之间完成共识的新区块,包括:
在不同的共享组之间执行完成所述新区块的共识,且确定所述新区块来源于目标共享组的情况下,将所述新区块写入本地数据库。
进一步地,对新区块进行存储,具体包括:
领导节点判断经过共享组间共识过程的新区块,是否是本共享组生成的,即确认在共享组间共识节点,该领导节点是否为共识过程的发起者。
若是本共享组生成的,则领导节点向共享组内非领导节点发送区块同步信息Mcon={UID,Ts,seq,t},其中t=0。非领导节点收到区块同步信息后,需要查找本地缓存中是否收到过相同序列号且t=0的区块同步信息Msyn。若有收到,则回复Mrep至领导节点,并将本地缓存中的区块同步信息写入到本地数据库中,更新本地区块链信息。
若不是本共享组生成的,领导节点向共享组内的非领导节点发送完整的区块同步信息Msyn={B,d(B),UID,Ts,seq,t},其中t=1,后续具体过程与上述的共享组内共识的过程相同。共识完成后,节点将新区块信息写入到本地数据库中,更新本地区块链信息。
图5是本发明提供的区块链隐私保护方法的流程示意图之二,如图5所示,在一些实施例中,区块链隐私保护方法包括:先根据交易节点的感兴趣内容,将交易节点划分为多个共享组;交易节点发起新交易,并使用该节点所在共享组内成员组成的环签名,对交易进行签名,并将签名的交易加入交易池;在上述共享组内,领导节点打包交易池内的交易,并生成新的区块,并在该共享组内进行新区块的共识;在完成共享组内的共识之后,在共享组之间进行新区块的共识;在共享组间的共识完成之后,所有节点对新区块内容进行同步更新。
综上所述,本发明提供的区块链隐私保护方法,包括:发起区块链交易,基于共享组内各节点的节点公钥,对所述区块链交易进行环签名,得到签名交易;将所述签名交易加入交易池,以得到新区块;在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识;存储在不同共享组之间完成共识的新区块。
在本发明提供的区块链隐私保护方法中,基于共享组内各节点组成的环签名,对区块链交易进行签名,以将实际的交易签名节点,隐藏在交易共享组成员中,降低了攻击者将交易与相应节点联系起来的可能性;此外,将签名交易加入交易池,得到新区块链后,再对新区块执行共享组内的共识以及共享组间的共识,即采用分组共识机制将不同共享组的节点以及交易池分隔,组内共识和组间共识机制保证了交易在组内共识阶段不会被其他共享组节点发现,增强了共识过程的安全性。因此,本发明提供的区块链隐私保护方法,可以保护区块链数据的隐私。
进一步,本发明提供的区块链隐私保护方法,采用唯一组内标号和领导节点选举机制,使共享组内和共享组间共识具有一定的容错性。
下面对本发明提供的区块链隐私保护装置进行描述,下文描述的区块链隐私保护装置与上文描述的区块链隐私保护方法可相互对应参照。
图6是本发明提供的区块链隐私保护装置的结构示意图,如图6所示,本发明提供的区块链隐私保护装置600,包括:交易模块610、新区块生成模块620、共识模块630和更新模块640。
交易模块610用于发起区块链交易,并基于共享组内各节点的节点公钥,对所述区块链交易进行环签名,得到签名交易;
新区块生成模块620用于将所述签名交易加入交易池,以得到新区块;
共识模块630用于在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识;
更新模块640用于存储在不同共享组之间完成共识的新区块。
在一些实施例中,区块链隐私保护装置600,还包括:第一发送模块、第一接收模块和请求加入模块。
第一发送模块用于在发起区块链交易之前,将自身节点的身份信息发送至证书中心节点;
第一接收模块用于在所述证书中心节点对所述身份信息校验通过的情况下,接收所述证书中心发送的数据证书;
请求加入模块用于基于所述数据证书,向领导节点发送加入共享组请求,以请求加入所述领导节点对应的共享组。
在一些实施例中,区块链隐私保护装置600,还包括:第二发送模块。
第二发送模块用于在将自身节点的身份信息发送至证书中心节点之前,基于随机数,并结合椭圆曲线加密算法,生成节点公钥及对应的节点私钥,并将所述节点公钥发送至所述证书中心节点。
第一发送模块进一步用于在发起区块链交易之前,基于所述节点私钥对自身身份信息进行加密,并将加密的身份信息发送至所述证书中心节点;
其中,所述节点公钥用于对所述加密的身份信息进行解密。
在一些实施例中,交易模块610包括:签名确定单元和签名执行单元。
签名确定单元用于基于随机数、椭圆曲线基点、哈希函数值、共享组内各节点的节点公钥以及节点私钥,确定各节点的环签名结果以及签名环;
签名执行单元用于基于所述环签名结果和所述签名环,对所述区块链交易进行环签名,得到所述签名交易。
在一些实施例中,共识模块630包括:交易确定单元、第一共识单元和第二共识单元。
交易确定单元用于基于所述节点公钥,对交易池中的交易进行解密验证,确定合法交易,并将所述合法交易加入新区块中;
第一共识单元用于向共享组内其他节点发送广播,在接收到其他节点的成功确认消息的情况下,确定在所述共享组内执行完成所述新区块的共识;
第二共识单元用于基于拜占庭容错算法在不同的共享组之间执行所述新区块的共识。
在一些实施例中,更新模块640进一步用于在不同的共享组之间执行完成所述新区块的共识,且确定所述新区块来源于目标共享组的情况下,将所述新区块写入本地数据库。
下面对本发明提供的电子设备、计算机程序产品及存储介质进行描述,下文描述的电子设备、计算机程序产品及存储介质与上文描述的区块链隐私保护方法可相互对应参照。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行区块链隐私保护方法,该方法包括:
步骤110、发起区块链交易,基于共享组内各节点的节点公钥,对所述区块链交易进行环签名得到签名交易;
步骤120、将所述签名交易加入交易池,以得到新区块;
步骤130、在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识;
步骤140、存储在不同共享组之间完成共识的新区块。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的区块链隐私保护方法,该方法包括:
步骤110、发起区块链交易,基于共享组内各节点的节点公钥,对所述区块链交易进行环签名得到签名交易;
步骤120、将所述签名交易加入交易池,以得到新区块;
步骤130、在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识;
步骤140、存储在不同共享组之间完成共识的新区块。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的区块链隐私保护方法,该方法包括:
步骤110、发起区块链交易,基于共享组内各节点的节点公钥,对所述区块链交易进行环签名得到签名交易;
步骤120、将所述签名交易加入交易池,以得到新区块;
步骤130、在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识;
步骤140、存储在不同共享组之间完成共识的新区块。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种区块链隐私保护方法,其特征在于,包括:
发起区块链交易,基于共享组内各节点的节点公钥,对所述区块链交易进行环签名得到签名交易;
将所述签名交易加入交易池,以得到新区块;
在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识;
存储在不同共享组之间完成共识的新区块。
2.根据权利要求1所述的区块链隐私保护方法,其特征在于,在发起区块链交易之前,还包括:
将自身节点的身份信息发送至证书中心节点;
在所述证书中心节点对所述身份信息校验通过的情况下,接收所述证书中心发送的数据证书;
基于所述数据证书,向领导节点发送加入共享组请求,以请求加入所述领导节点对应的共享组。
3.根据权利要求2所述的区块链隐私保护方法,其特征在于,在将自身节点的身份信息发送至证书中心节点之前,还包括:
基于随机数,并结合椭圆曲线加密算法,生成节点公钥及对应的节点私钥,并将所述节点公钥发送至所述证书中心节点;
所述将自身节点的身份信息发送至证书中心节点,包括:
基于所述节点私钥对自身身份信息进行加密,并将加密的身份信息发送至所述证书中心节点;
其中,所述节点公钥用于对所述加密的身份信息进行解密。
4.根据权利要求3所述的区块链隐私保护方法,其特征在于,所述基于共享组内各节点的节点公钥,对所述区块链交易进行环签名,得到签名交易,包括:
基于随机数、椭圆曲线基点、哈希函数值、共享组内各节点的节点公钥以及节点私钥,确定各节点的环签名结果以及签名环;
基于所述环签名结果和所述签名环,对所述区块链交易进行环签名,得到所述签名交易。
5.根据权利要求1所述的区块链隐私保护方法,其特征在于,所述在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识,包括:
基于所述节点公钥,对交易池中的交易进行解密验证,确定合法交易,并将所述合法交易加入新区块中;
向共享组内其他节点发送广播,在接收到其他节点的成功确认消息的情况下,确定在所述共享组内执行完成所述新区块的共识;
基于拜占庭容错算法在不同的共享组之间执行所述新区块的共识。
6.根据权利要求1-5任一项所述的区块链隐私保护方法,其特征在于,所述存储在不同共享组之间完成共识的新区块,包括:
在不同的共享组之间执行完成所述新区块的共识,且确定所述新区块来源于目标共享组的情况下,将所述新区块写入本地数据库。
7.一种区块链隐私保护装置,其特征在于,包括:
交易模块,用于发起区块链交易,基于共享组内各节点的节点公钥,对所述区块链交易进行环签名得到签名交易;
新区块生成模块用于将所述签名交易加入交易池,以得到新区块;
共识模块,用于在所述共享组内执行所述新区块的共识后,在不同的共享组之间执行所述新区块的共识;
更新模块,用于存储在不同共享组之间完成共识的新区块。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述区块链隐私保护方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述区块链隐私保护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210147538.XA CN114640462B (zh) | 2022-02-17 | 2022-02-17 | 区块链隐私保护方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210147538.XA CN114640462B (zh) | 2022-02-17 | 2022-02-17 | 区块链隐私保护方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640462A CN114640462A (zh) | 2022-06-17 |
CN114640462B true CN114640462B (zh) | 2024-05-17 |
Family
ID=81946083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210147538.XA Active CN114640462B (zh) | 2022-02-17 | 2022-02-17 | 区块链隐私保护方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114640462B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115052006B (zh) * | 2022-08-12 | 2022-11-18 | 佛山赛思禅科技有限公司 | 一种基于领导节点的数据同步方法及系统 |
CN115396115B (zh) * | 2022-08-22 | 2024-02-09 | 国网浙江省电力有限公司物资分公司 | 区块链数据隐私保护方法、装置、设备及可读存储介质 |
CN116226064B (zh) * | 2023-05-09 | 2023-09-19 | 国网山东省电力公司无棣县供电公司 | 共享电网运维数据的方法、系统、终端及存储介质 |
CN117675412A (zh) * | 2024-01-31 | 2024-03-08 | 中国民用航空总局第二研究所 | 一种工业物联网场景下的具有强隐私保护的数据共享方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660345A (zh) * | 2019-01-17 | 2019-04-19 | 如般量子科技有限公司 | 基于非对称密钥池服务器的抗量子计算区块链交易方法和系统 |
CN110505067A (zh) * | 2019-09-11 | 2019-11-26 | 北京邮电大学 | 区块链的处理方法、装置、设备及可读存储介质 |
CN110569668A (zh) * | 2019-09-11 | 2019-12-13 | 北京邮电大学 | 基于区块链的数据加密存储方法、装置、设备和介质 |
CN111582843A (zh) * | 2020-04-07 | 2020-08-25 | 浙商银行股份有限公司 | 一种基于聚合签名的区块链隐私交易方法 |
GB202017271D0 (en) * | 2018-10-05 | 2020-12-16 | Dragon Infosec Ltd | A consensus method and framework for a blockchain system |
CN112418860A (zh) * | 2020-12-07 | 2021-02-26 | 苏州科技大学 | 一种基于跨链技术的区块链高效管理架构及工作方法 |
WO2021046668A1 (zh) * | 2019-09-09 | 2021-03-18 | 深圳市网心科技有限公司 | 区块链系统及信息传输方法、系统、装置、计算机介质 |
WO2021103794A1 (zh) * | 2019-11-29 | 2021-06-03 | 支付宝(杭州)信息技术有限公司 | 在区块链中实现隐私保护的高效交易方法及装置 |
CN113269542A (zh) * | 2021-04-07 | 2021-08-17 | 北京邮电大学 | 区块链系统的共识方法、装置以及存储介质 |
WO2021197091A1 (zh) * | 2020-04-02 | 2021-10-07 | 支付宝(杭州)信息技术有限公司 | 区块链交易处理方法及装置和区块链节点 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201705621D0 (en) * | 2017-04-07 | 2017-05-24 | Nchain Holdings Ltd | Computer-implemented system and method |
EP3673620B8 (en) * | 2019-07-11 | 2022-02-16 | Advanced New Technologies Co., Ltd. | Shared blockchain data storage |
CN111522822A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 一种区块链共识方法、装置及电子设备 |
-
2022
- 2022-02-17 CN CN202210147538.XA patent/CN114640462B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB202017271D0 (en) * | 2018-10-05 | 2020-12-16 | Dragon Infosec Ltd | A consensus method and framework for a blockchain system |
CN109660345A (zh) * | 2019-01-17 | 2019-04-19 | 如般量子科技有限公司 | 基于非对称密钥池服务器的抗量子计算区块链交易方法和系统 |
WO2021046668A1 (zh) * | 2019-09-09 | 2021-03-18 | 深圳市网心科技有限公司 | 区块链系统及信息传输方法、系统、装置、计算机介质 |
CN110505067A (zh) * | 2019-09-11 | 2019-11-26 | 北京邮电大学 | 区块链的处理方法、装置、设备及可读存储介质 |
CN110569668A (zh) * | 2019-09-11 | 2019-12-13 | 北京邮电大学 | 基于区块链的数据加密存储方法、装置、设备和介质 |
WO2021103794A1 (zh) * | 2019-11-29 | 2021-06-03 | 支付宝(杭州)信息技术有限公司 | 在区块链中实现隐私保护的高效交易方法及装置 |
WO2021197091A1 (zh) * | 2020-04-02 | 2021-10-07 | 支付宝(杭州)信息技术有限公司 | 区块链交易处理方法及装置和区块链节点 |
CN111582843A (zh) * | 2020-04-07 | 2020-08-25 | 浙商银行股份有限公司 | 一种基于聚合签名的区块链隐私交易方法 |
CN112418860A (zh) * | 2020-12-07 | 2021-02-26 | 苏州科技大学 | 一种基于跨链技术的区块链高效管理架构及工作方法 |
CN113269542A (zh) * | 2021-04-07 | 2021-08-17 | 北京邮电大学 | 区块链系统的共识方法、装置以及存储介质 |
Non-Patent Citations (2)
Title |
---|
区块链中的隐私保护技术;翟社平;杨媛媛;张海燕;赵江明;;西安邮电大学学报(05);全文 * |
基于区块链的电子学位证照数据保护共享方法;陈儒玉;《计算机工程》;第48卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114640462A (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114640462B (zh) | 区块链隐私保护方法、装置、电子设备及存储介质 | |
GB2623015A (en) | Internet-of-vehicles communication security authentication method, system and device based on national cryptographic algorithm | |
CN112926051B (zh) | 多方安全计算方法和装置 | |
CN109510818B (zh) | 区块链的数据传输系统、方法、装置、设备及存储介质 | |
CN110896387B (zh) | 数据传输方法、电池管理系统和存储介质 | |
JP2022501971A (ja) | 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品 | |
US20220156735A1 (en) | Methods and devices for propagating blocks in a blockchain network | |
CN110430061A (zh) | 一种基于区块链技术的车联网设备身份认证方法 | |
CN114362993B (zh) | 一种区块链辅助的车联网安全认证方法 | |
CN111327419B (zh) | 基于秘密共享的抗量子计算区块链的方法及系统 | |
CN111080299B (zh) | 一种交易信息的防抵赖方法及客户端、服务器 | |
CN106941404A (zh) | 密钥保护方法及装置 | |
CN110620776B (zh) | 一种数据转移信息传输方法及其装置 | |
CN116132118A (zh) | 一种基于区块链技术的加密通讯方法和系统 | |
US20230162186A1 (en) | Block propagation with poisoned transactions in a blockchain network | |
JPWO2018179293A1 (ja) | 検証情報付与装置、検証装置、情報管理システム、方法およびプログラム | |
CN114598533A (zh) | 一种区块链侧链跨链身份可信认证及数据加密传输方法 | |
US11595218B2 (en) | Authorization delegation | |
CN111245611B (zh) | 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及系统 | |
CN112948896A (zh) | 签名信息的验证方法以及信息签名方法 | |
US20220216999A1 (en) | Blockchain system for supporting change of plain text data included in transaction | |
CN114978542B (zh) | 面向全生命周期的物联网设备身份认证方法、系统及存储介质 | |
CN110912687A (zh) | 一种分布式身份验证方法 | |
CN109104393B (zh) | 一种身份认证的方法、装置和系统 | |
CN112287399B (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 |