首页> 中国专利> 一种基于权益证明的区块链共识协议隐私保护方法及系统

一种基于权益证明的区块链共识协议隐私保护方法及系统

摘要

本发明公开一种基于权益证明的区块链共识协议隐私保护方法及系统,包括:接收用户的股权信息;在每轮的选举过程中,接收用户参与领导者选举的随机数和随机数承诺值;采用领导者选举函数,根据用户参与领导者选举的随机数和股权信息进行选举,所述领导选举函数中添加服从特定分布的噪声值;对当选为领导者的用户生成新区块,并广播新区块、当前选举过程的随机数承诺值和证明新区块合法性的零知识证明,以使其他用户通过验证零知识证明来验证新区块的合法性。用户的频率信息被噪声分布保护,保障用户长期收益与其实际股权匹配,显著降低标记攻击等敌手通过频率信息获取用户股权的成功概率,实现对用户股权隐私性的进一步防护。

著录项

  • 公开/公告号CN116094732A

    专利类型发明专利

  • 公开/公告日2023-05-09

    原文格式PDF

  • 申请/专利权人 山东大学;

    申请/专利号CN202310081709.8

  • 发明设计人 魏普文;宋志颖;吴世晨;

    申请日2023-01-30

  • 分类号H04L9/32(2006.01);H04L9/40(2022.01);

  • 代理机构济南圣达知识产权代理有限公司 37221;

  • 代理人张庆骞

  • 地址 266237 山东省青岛市即墨滨海路72号

  • 入库时间 2023-06-19 19:35:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-26

    实质审查的生效 IPC(主分类):H04L 9/32 专利申请号:2023100817098 申请日:20230130

    实质审查的生效

  • 2023-05-09

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及网络空间安全技术领域,特别是涉及一种基于权益证明的区块链共识协议隐私保护方法及系统。

背景技术

本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。

为了解决基于工作量证明的区块链共识协议(PoW)的效率及能源消耗问题,研究人员提出了基于权益证明的区块链共识协议(ProofofStake,PoS)。PoS通过采用基于权益证明的领导者选举过程进行区块链的扩展。在每一轮领导者选举过程中,允许参与用户运行领导者随机选举过程,根据当前区块链账本中用户持有的权益或股权分布选择一位用户作为领导者,每个用户当选为领导者的成功率和他持有的股权比例线性相关。其中,领导者随机选举过程通过可验证的伪随机函数(VRF)实现,以确保选举过程的公平性与随机性;但是,该方法不能隐藏参与领导者选举的用户的身份、股权等信息,无法保障用户的隐私性。

随着区块链技术的飞速发展,针对PoS的数据隐私性问题备受关注,其中Ganesh、Orlandi与Tschudi等人提出一种匿名PoS协议(详见Ganesh,C.,Orlandi,C.,Tschudi,D.:Proof-of-stake protocols forprivacy-aware blockchains.In:Advances inCryptology-EUROCRYPT 2019),以保护用户股权、身份、交易等敏感信息。将OuroborosPraos(详见David,B.,Gazi,P.,Kiayias,A.,Russell,A.:Ouroboros praos:Anadaptively-secure,semi-synchronous proof-of-stake blockchain.In:Advances inCryptology-EUROCRYPT 2018)领导者选举过程使用的VRF替换成匿名的VRF函数(AVRF),从而可以将公开的股权信息替换为对于股权的承偌值,用户可以通过验证领导者生成的零知识证明来确定存在一个合法的用户已通过AVRF验证并生成了一个合法的区块,由于用户(包括敌手)不知道是谁当选为领导者,所以能够保证用户股权和个人信息的隐私性。

然而,该修改方案并没有考虑到网络层方面的信息泄露问题,敌手可以通过“标记攻击”观察网络传输信道中的信息来溯源领导者,重新构造出匿名信息和对应用户之间的联系,从而推测被观察用户的股权比例,因此破坏了用户隐私要求。

相关攻击方法原理在于协议设计中用户当选为领导者并提出区块的频率和用户的股权比例有关。具体来说,敌手如果在一段持续时间内对被攻击用户的选举过程进行足量的观察,就能通过这段时间内系统产生的总区块数n和被攻击用户产生的区块数t得到用户当选为领导者的频率值t\n,从而可以近似估计用户的领导者当选概率及其对应的实际股权值stk,根据大数定律,其估计准确率会随着观测时长(或n)的增加而增加;然而现有PoS隐私保护方案无法抵御长延迟下的标记攻击进而导致用户股权信息泄露。

发明内容

针对权益证明区块链共识协议中由标记攻击导致的股权隐私泄露问题,本发明提出了一种基于权益证明的区块链共识协议隐私保护方法及系统,在领导选举函数中添加服从特定分布的噪声值,使得短期内用户的频率信息被噪声分布保护,同时保障用户长期收益与其实际股权匹配,显著降低标记攻击等敌手通过频率信息获取用户股权的成功概率,实现对用户股权隐私性的进一步防护。

为了实现上述目的,本发明采用如下技术方案:

第一方面,本发明提供一种基于权益证明的区块链共识协议隐私保护方法,包括:

接收用户的股权信息;

在每轮的选举过程中,接收用户参与领导者选举的随机数和随机数承诺值;

采用领导者选举函数,根据用户参与领导者选举的随机数和股权信息进行选举,所述领导选举函数中添加服从特定分布的噪声值;

对当选为领导者的用户生成新区块,并广播新区块、当前选举过程的随机数承诺值和证明新区块合法性的零知识证明,以使其他用户通过验证零知识证明来验证新区块的合法性。

作为可选择的实施方式,所述噪声值为在均匀分布中采样得到的随机值,均匀分布满足数学期望值为零。

作为可选择的实施方式,所述股权信息包括用户所持有的股权值和股权承诺值,并将股权承诺值及对应的用户签名公钥以列表的形式在区块链系统中进行公布。

作为可选择的实施方式,进行选举的过程中,当且仅当

作为可选择的实施方式,用户参与领导者选举的随机数为q=y||z,y为每轮的选举过程中的随机数,z为噪声采样函数的输入值,在同一纪元期的不同轮的选举过程,噪声采样函数的输入值是固定的。

作为可选择的实施方式,采用1-out of–N的零知识证明方法构造证明新区块合法性的零知识证明。

作为可选择的实施方式,基于AVRF函数与噪声采样函数通过电路转换方法生成可验证的噪声值,并将噪声值添加到领导者选举函数中。

作为可选择的实施方式,通过零知识证明验证新区块合法后,领导者将新区块添加到本地区块链上,非领导者用户将新区块通过最长链法则添加到本地区块链上,从而完成区块链扩展。

第二方面,本发明提供一种基于权益证明的区块链共识协议隐私保护系统,包括:

第一接收模块,被配置为接收用户的股权信息;

第二接收模块,被配置为在每轮的选举过程中,接收用户参与领导者选举的随机数和随机数承诺值;

选举模块,被配置为采用领导者选举函数,根据用户参与领导者选举的随机数和股权信息进行选举,所述领导选举函数中添加服从特定分布的噪声值;

验证模块,被配置为对当选为领导者的用户生成新区块,并广播新区块、当前选举过程的随机数承诺值和证明新区块合法性的零知识证明,以使其他用户通过验证零知识证明来验证新区块的合法性。

第三方面,本发明提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。

第四方面,本发明提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。

与现有技术相比,本发明的有益效果为:

本发明提出了一种基于权益证明的区块链共识协议隐私保护方法及系统,适用于存在匿名需求的场景,用户参与添加了噪声分布的领导选举过程,如果当选为领导者,则通过匿名方式将产生的新区块和对于新区块的零知识证明公开,其他人仅可验证该新区块的生成是否合法,无法获取该新区块领导者的身份信息以及股权信息;与现有PoS隐私保护方案相比,添加防范标记攻击的手段,在敌手实施同等长度的延迟时间下,有效降低敌手通过统计手段等准确获取用户信息的成功率,且不会影响区块链系统中其他性质的要求。

本发明提出了一种基于权益证明的区块链共识协议隐私保护方法及系统,在领导选举函数中添加服从特定分布的噪声值,使得短期内用户的频率信息被噪声分布保护,同时保障用户长期收益与其实际股权匹配,显著降低标记攻击等敌手通过频率信息获取用户股权的成功概率,防止敌手利用标记攻击获取股权隐私信息,实现对用户股权隐私性的进一步防护。

本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为本发明实施例1提供的基于权益证明的区块链共识协议隐私保护方法流程图;

图2为本发明实施例1提供的AVRF和可验证噪声采样函数的框架图。

具体实施方式

下面结合附图与实施例对本发明做进一步说明。

应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

实施例1

本实施例的目的是在Ganesh、Orlandi与Tschudi提出的Private OuroborosPraos区块链协议基础上,结合差分隐私技术思想,将服从特定分布的噪声值添加到领导者选举过程中以抵御标记攻击,在领导者选举过程中,用户的股权信息受到噪声值的保护,因此在观察数据频率偏离股权值程度的情况下,敌手在一定时间内获取用户的出块频率难以帮助敌手正确的分析用户持有的股权值,从而可以避免股权隐私泄露。

下面是原始协议生成选举股权分布的过程;具体来说,在Private OuroborosPraos区块链协议中,选举过程满足如下约束:

(1)运行的时间总线轴被划分为若干个Epoch时期(被称为纪元期),在每个Epoch时期内所有用户的股权比例不会发生变化。当前Epoch中的股权分布在Epoch未开始前已经被唯一确定,同时当前时间内系统产生交易导致的股权变化并不会影响Epoch内领导者选举过程的股权分布,股权变动的影响只会体现在未来Epoch的股权分布中。

(2)每个Epoch的开头都会有一个创世块Genesis-block。协议在每个Epoch初始化阶段中,Genesis-block会记录当前Epoch内所有持有股权的用户和他们对应的股权比例的一个承诺列表L和一个随机种子(用来在当前Epoch中调用选举函数)。

(3)只有记录在当前Epoch中Genesis-block承诺列表L上的用户才能参与在当前Epoch内的slot内出块。在每一个Epoch中时间又被细分为若干个slot,每个slot中所有用户会执行一次领导者选举过程,同时可能产生一个新的区块。协议规定在一个slot中只能产生一个合法的区块,如果该slot中没有用户获胜,或者因为网络传播问题没有在规定的时间内将区块广播给其他的用户,则视为这个slot中没有领导者产生。

如图1所示,本实施例中提出的一种基于权益证明的区块链共识协议隐私保护方法,包括:

接收用户的股权信息;

在每轮的选举过程中,接收用户参与领导者选举的随机数和随机数承诺值;

采用领导者选举函数,根据用户参与领导者选举的随机数和股权信息进行选举,所述领导选举函数中添加服从特定分布的噪声值;

对当选为领导者的用户生成新区块,并广播新区块、当前选举过程的随机数承诺值和证明新区块合法性的零知识证明,以使其他用户通过验证零知识证明来验证新区块的合法性。

上述方法可以分为初始化阶段、领导者选举阶段和链扩展阶段,下面对这三个阶段进行详细说明。

初始化阶段:按照时间分布划分选举轮数后,执行以下步骤:

(1)用户持有数字签名算法SIG=(Sig.KeyGen,Sign,Sig.Vrfy),选取随机数sk作为用户的签名私钥,并通过调用Sig.KeyGen算法生成签名私钥sk的签名公钥vk。

(2)采用Pedersen commitment承诺模式计算签名私钥sk和签名公钥vk的承诺值Com(sk),Com(vk),并完成数字签名算法参数的初始化。

(3)采用Pedersen commitment承诺模式计算用户股权值stk的股权承诺值Com(stk,r

(4)区块链系统不再直接公布每个用户以及该用户所持有的股权值,而是以列表的形式将股权承诺值Com(stk,r

领导者选举阶段:为了保证用户当选为领导者的概率p和所持有的股权值stk保持线性关系,原领导者选举函数形式为f(α)=1-(1-f)

(1)首先需验证参与领导者选举的用户是否是持有股权的用户,如果是合法用户,则在后续步骤中才会计算验证接收该用户产生的结果。

(2)当验证完用户合法参与领导者选举的身份后,选举开始,通过调用AVRF函数生成计算参与领导者选举的随机数q以及随机数承诺值Com(q,r),AVRF的输出长度为2l,r为运行承诺方案Com所需的随机数;

其中,若当前选举过程为Epoch的首轮选举,则AVRF生成的随机数为q=y||z;对于其他轮的slot,随机数为q=y

可以理解的,在每个Epoch的首个slot中生成在当前Epoch内噪声采样函数的输入值,这也意味着在每个Epoch内用户的噪声值是固定的。

(3)调用AVRF函数后得到生成(q,r,Com(q,r)),将随机数q和持有的股权值stk作为领导者选举函数LE(.)的输入,并计算领导者选举函数LE(q,stk)的输出值,根据LE(q,stk)的输出值确定用户是否当选为领导者;

具体地,LE(q,stk)的计算满足以下关系:当且仅当

若LE(q,stk)=1,则用户在当前选举轮数中当选为该slot中的领导者;

若LE(q,stk)=0,则停止该步骤,并等待当前slot结束,进入下一轮的选举过程。

其中,stake为PoS系统内的总股权值,ω(z)为噪声采样函数,以z为输入,以概率分布B采样得到一个随机值作为噪声值,概率分布B满足数学期望值E(B)为0;比如,噪声值为在均匀分布U(-0.3,0.3)上的随机数。

在本实施例中,即使敌手可以通过“标记攻击”等手段建立起股权信息和用户之间的绑定关系,但是,一方面用户当选为领导者的概率受概率分布B的保护,使得在短期时间内用户当选为领导者的频率难以逼近他所持有的股权值对应的概率值;另一方面,因为概率分布B的数学期望值为0,所以在协议长期执行时间下,用户当选为领导者的频率十分接近他所持有的股权值对应的概率;因此,在保护用户(领导者)股权信息隐私性的同时,确保用户的总收益与其股权匹配。

(4)对当选为领导者的用户,将在该轮时间内收集的没有上链的新合法交易打包成新区块m后,对新区块m进行一次数字签名得到对应的签名值σ;

同时,根据初始化选取的零知识证明公共参考串crs生成零知识证明π,通过零知识证明π证明新区块m是合法的;

其中,零知识证明π构造的核心思想为1-out of–N的零知识证明和范围零知识证明;零知识证明π的作用是证明以下断言的正确性:

(a)签名σ是对于新区块m合法生成的。

(b)选举函数LE(q,stk)的输出值为1。

(c)选举函数LE(q,stk)的输入值q是当前AVRF合法生成的。

(d)选举函数LE(q,stk)的输入值stk是该用户持有的合法股权。

(e)新区块m是由整个系统中的某个用户合法生成的。

(f)签名σ使用的公钥是该用户在数字签名算法中使用私钥合法生成的。

另外,噪声值的合法生成蕴含在零知识证明的各项声明中;通过零知识证明π中的(b)(c)(d)断言,可以确保噪声采样函数的输入值是用户使用AVRF合法生成的,并且噪声采样函数的采样输出合法的嵌入了选举函数的计算过程。

最后,该slot中的领导者将新区块m、当前选举过程的随机数承诺值Com(q,r)和证明新区块合法性的零知识证明π组成的三元消息组(m,Com(q,r),π)通过匿名方式广播到区块链系统中,以使其他用户通过验证零知识证明π来验证新区块m的合法性,并完成区块链的扩展;如果验证通过,则将新区块m添加到用户本地存储的区块链上。

在本实施例中,为了保证领导者信息的匿名性,在区块链扩展过程中,通过验证零知识证明π验证新区块的合法性;当验证通过时,某一用户p

本实施例基于权益证明的区块链共识协议隐私保护方法中噪声添加过程的核心在于构造AVRF函数完成选举随机数的生成以及设计可验证的噪声采样函数,如图2所示,下面对采用AVRF函数和可验证的噪声采样函数对噪声的添加过程进行详细说明。

AVRF函数使用基于DDH困难问题的2-hash VRF函数进行构造实现,在一个阶为κ=O(2

(1)AVRF.Gen函数:输入一个安全参数2l,选择群G上的一个生成元g,并随机选择元素k∈Z

(2)Update函数:输入一个公钥pk=(g,g

(3)AVRF.pro函数:输入公钥pk=(g,g

(4)AVRF.ver函数:输入为(x,q,π

用户使用私钥k调用AVRF函数生成随机数q=y||z,同时对k,q,y,z进行承诺得到Com(k),Com(q),Com(y),Com(z)并公开,注意这些承诺唯一标记一个用户身份;使用z作为噪声采样函数ω(.)的随机数输入,ω(z)生成一个符合分布采样的随机数。

实际设计中,将噪声采样函数ω(.)与AVRF函数计算过程共同进行零知识证明验证。该设计可以使用MPC-in-the-head的设计思想完成零知识证明,将AVRF与ω(.)整体视为一个电路C,其中电路C的描述与承诺均公开,且均由异或门和与门构成。

用户生成零知识证明断言:存在(k,q,z)满足C(k,z)=ω(z)且Com(k),Com(q),Com(y),Com(z)合法且q=y||z;该证明主要实现思路如下:首先用户在本地中计算出自己要证明的秘密(k,q,z),同时将AVRF.pro函数与ω(.)函数整体视为一个电路C,在电路C中完成对于q的验证以及ω(.)的调用;将电路C的输入拆分成n份,并模拟n方参与者的多方安全计算,用户对n方的视图进行承诺;在验证阶段时,其他用户可以发起挑战打开部分视图并验证结果是否正确;如果正确,则其他用户相信这是一个合法生成噪声的计算过程,并通过串联其他的零知识完成对于新区块整个零知识证明的生成,同时此处可以使用Fiat-Shamir转换将零知识证明转换为非交互式。

通过验证零知识证明π来验证新区块m的合法性,如果验证通过,则进入链扩展阶段;具体包括:

(1)当选为领导者的用户将生成的新区块m添加到其存储的主链C上。

(2)在每个slot的结束阶段时,网络中的所有非领导者用户观察网络中是否存在发布新区块的信息;如果发现存在未接收的信息组(m,Com(q,r),π),则接收到信息组的用户验证零知识证明π的正确性;如果零知识证明π通过验证,则新区块m被认为是一个合法的领导者生成的合法区块;所有收到信息组的用户都会将这个新区块m通过最长链法则添加到自己本地的区块链上,从而完成在当前slot中区块链的扩展阶段。

(3)如果该slot中没有领导者当选,则所有用户保持自己视野内区块链的状态不变。

本实施例提供的基于权益证明的区块链共识协议隐私保护方法适用于存在匿名需求的场景,例如在匿名选举领导者的过程中,系统内所有成员参与添加了噪声分布的领导选举过程,如果用户当选为领导者,则通过匿名方式将产生的新区块和对于新区块的零知识证明公开到网络中,其他人在区块链网络环境中接收到该新区块时,仅可验证该新区块的生成是否合法,却无法获取该新区块领导者的身份信息以及股权信息;与现有PoS隐私保护方案相比,本实施例方案添加了防范标记攻击的手段,在敌手实施同等长度的延迟时间下,能够有效的降低敌手通过统计手段等准确获取用户信息的成功率,并且不会影响区块链系统中其他性质的要求。比如,若设定敌手通过观察估计误差的上限为10%,且噪声取值分布选取均匀分布(B~U(-0.3,0.3))时,可以将敌手在长延迟下实施标记攻击获取用户股权的成功概率从61%降低到34%,同时不违反整个区块链共识协议的其他安全性质的要求。

实施例2

本实施例提供一种基于权益证明的区块链共识协议隐私保护系统,包括:

第一接收模块,被配置为接收用户的股权信息;

第二接收模块,被配置为在每轮的选举过程中,接收用户参与领导者选举的随机数和随机数承诺值;

选举模块,被配置为采用领导者选举函数,根据用户参与领导者选举的随机数和股权信息进行选举,所述领导选举函数中添加服从特定分布的噪声值;

验证模块,被配置为对当选为领导者的用户生成新区块,并广播新区块、当前选举过程的随机数承诺值和证明新区块合法性的零知识证明,以使其他用户通过验证零知识证明来验证新区块的合法性。

此处需要说明的是,上述模块对应于实施例1中所述的步骤,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。

在更多实施例中,还提供:

一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法。为了简洁,在此不再赘述。

应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。

一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法。

实施例1中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号