利索能及
我要发布
收藏
专利号: 2024105708176
申请人: 广东技术师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-09-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种可拓展区块链的智能电网的数据隐私保护方法,其特征在于,包括以下步骤:S1、初始化阶段,智能电表通过唯一序列号注册、生成多套密钥对用于签名和验证,其中公钥作为假名的同时还用于第一层区块链生成处理布谷鸟过滤器;

S2、数据上报阶段,智能电表将用电数据通过随机算法进行动态化假名映射,映射脱敏后的数据再通过基于离散对数问题的数字签名算法后发送到第一层;

S3、卸载交易阶段,第一层将批量验证通过后的交易存入交易池,在达到预设数值后将所有交易卸载到第二层进行聚合汇总处理;

S4、生成区块链阶段,第一层对第二层上链的相应数据进行验证,验证通过后各节点再通过共识协议生成区块形成链。

2.根据权利要求1所述的一种可拓展区块链的智能电网的数据隐私保护方法,其特征在于:所述初始化阶段中智能电表将序列号标识符IDSM发送到第一层进行注册,第一层选定为许可区块链中的联盟链,通过管理员在配置文件中创建的白名单来判断智能电表序列号的合法性,第一层中的智能合约生成基于离散对数问题的数字签名算法所需要的公共参数:群G、素数阶q、生成元g以及哈希函数 并分发给对应智能社区中的设备。

3.根据权利要求2所述的一种可拓展区块链的智能电网的数据隐私保护方法,其特征在于:所述智能电表运行算法随机生成需要的假名数量n(2≤n≤3),根据公共参数生成合理的n套密钥对,私钥设为sk,满足 而公钥设为pk=sk·g,满足pk∈G,其中公钥作为假名,所述智能电表需要将n个公钥通过布谷鸟哈希上传到第一层区块链,具体形式如下:fp=fingerprint(pk),i1=hash(pk),

将pk插入桶内以初始化处理布谷鸟过滤器。

4.根据权利要求1所述的一种可拓展区块链的智能电网的数据隐私保护方法,其特征在于:所述数据上报阶段中,智能电表在一个数据采集周期运行算法:生成(n‑1)个随机数m1 ...mn‑1,mi的取值范围为往月社区用户平均用电量 的正负区间智能电表将采集到的数据m′,满足 通过等式:计算出mn,然后将m1...mn随机绑定到n个假名{mi|pki(i∈1,…,n)},根据公共参数生成合理的签名,如:Ri=ri·g,

ei=H(mi|ti|Ri),

si=ri+ei·ski;

其中ri为随机数,满足 ti为时间戳,H为哈希函数,(Ri,si)即为签名,满足随后智能电表将n条配套的数据{ti,pki,mi,(Ri,si)}发送到第一层区块链,第一层区块链在收到数据后,通过处理布谷鸟过滤器快速验证pki的合法性:loopup(pki)=(i1,i2)→{true,false},其次再是验证时间戳以及签名,单个签名验证过程,首先计算哈希挑战值:e′i=H(mi|ti|Ri),

其次是将计算得到的哈希挑战值e′i通过等式进行验证:而第一层区块链可以批量验证签名以保证效率,批量验证过程为:其中ψ为需要验证的签名总数,批量验证通过点乘转换为点加以加快验证速率,待第一层区块链验证通过后会将数据打包成交易:Ti={mi,pki,Ai},

存储到交易池,其中Ai为设备所在社区区域,不同的区域由独立的二层扩展技术进行处理,当交易池容量达到预设的最大值后,智能合约会将交易卸载到第二次区块链进行压缩汇总聚合。

5.根据权利要求1所述的一种可拓展区块链的智能电网的数据隐私保护方法,其特征在于:所述卸载交易阶段中,二层扩展技术通过计算和状态存储移至链下来增加主网上的吞吐量的第二层扩展解决方案,最后将更改状态的有效性证明以及压缩后的交易状态等一系列数据上传到第一层区块链进行验证,而第二层中二层扩展技术会维护一棵merkle树状态:包含账户索引、用电量和Nonce值的信息;

而验证者在接收交易前先验证账户中merkle树的一部分,以及nonce值是否正确,如:check(pk′i,Noncei)→{true,false},其中pk'i是账户索引,而接收交易后验证者会将交易包含在下一批次中:验证者会处理批次βj中的所有交易Ti,如:其中:εl为第l次执行交易Merkle树先状态根,(pk'l,m'l,Nonce'l)为第l次执行交易时Merkle树的叶子节点状态,ε'l为第l次执行交易Merkle树后状态根,代表索引到Ti对应的账户索引所在的叶子节点,并更新其用电量mi以及Nonce值;

而check(pk'i,Noncei)→{true,false},check为函数,该函数接受两个参数:pk'i和Noncei,并返回一个布尔值{true或false};

而 batch(Ti)这表示一个函数batch,Ti为一个数据项、任务或实体的标识符;

这意味着集合包含所有自然数i和j;

exec是一个函数名;

εl是一个环境参数或状态参数;

pk'l表示第l次执行环境的公钥;

m'l表示第l次执行环境的一个消息或数据;

Nonce'l表示第l次执行环境的一个随机数或非重复值;

表示一个转换或演化的过程;

Ti是一个被转换函数操作的对象。

6.根据权利要求5所述的一种可拓展区块链的智能电网的数据隐私保护方法,其特征在于:所述二层扩展技术验证者通过生成有效性证明zk‑snark,即验证批量交易正确性的简洁加密承诺,确保整个批次状态更新的正确性,流程如下:密钥生成:输入安全参数λ和算法电路C,通过密钥生成算法:keyGen(λ,C)→(pkτ,vkτ),输出证明密钥pkτ和验证密钥vkτ,vkτ需要上传到第一层链上合约;

证明函数:输入证明密钥pkτ、消息x和私有输入ω,ω是通过zk‑snark框架下的算法电路C转换的R1CS生成,通过证明函数:Prove(pkτ,x,ω)→π,

输出非交互式证明π;

验证函数:

Verify(vkτ,π,x)→{true,false},二层扩展技术验证者需要循环遍历执行βj中每笔交易并编译证明电路的输入,以生成zk‑snark证明:其中θ为批次βj中交易的merkle根,为证明交易存在于批次βj中的交易的merkle证明,η为证明交易中账户索引存在于rollups状态树中的账户merkle证明,μ为中间状态根,即执行每笔交易后更新的状态根;

Merkle树迭代执行某批次交易,rollups变换表达式为:第二层区块链维护了一棵含有有效账户索引的merkle树ζ,最初ζ拥有的状态根称之为先状态根ε,当验证者接收到某批次交易βj后,会执行βj中每笔交易Ti,更新ζ的叶子节点,同时会更新中间状态根μ,交易执行完成后,称之为后状态根ε',merkle树ζ'包含了批次所有交易摘要;

验证者将先状态根ε、后状态根ε'、zk‑snark有效性证明π'、压缩后的交易Ti'以及批次根θ等数据一同上传到链上合约,如:第一层区块链不会马上接收更新结果,还需等待链上智能合约进行验证。

7.根据权利要求1所述的一种可拓展区块链的智能电网的数据隐私保护方法,其特征在于:所述生成区块链中,第一层区块链为许可区块链中的联盟链,共识协议为QBFT,管理二层扩展技术的第一层区块链的链上合约中的验证合约需验证证明,如:Verify(vkτ,π',x|ε,ε',θ)→{true,false},当验证结果为true,rollups会从先状态转换为后状态:如果链上合约中存储的状态根ε”与提交的先状态根ε相等,链上合约会从证明中获取后状态根ε'并更新;

Verify(vkτ,π,x|ε,ε',θ)→{true,false},Verify为一个函数名;

vkτ,是一个验证密钥,其中τ是一个下标或参数;

x,是传递给Verify函数的参数,π,是一个有效证明;

true,false,表明Verify函数返回一个布尔值,即true或false;

而trans是一个函数、方法或操作;

(ε,ζ),为转换的输入或参数;

表示转换在某种条件为true时成立;

(ε',ζ'),为转换的输出或结果。

8.根据权利要求3所述的一种可拓展区块链的智能电网的数据隐私保护方法,其特征在于:所述fp=fingerprint(pk),代码表示通过哈希函数取一定量的比特位生成具体的指纹;

而i1=hash(pk),这行代码表示,对公钥pk进行哈希处理,生成一个哈希值i1;

而 将i1即公钥的哈希值和hash(fp)即数字指纹的哈希值进行异或操作,得到i2。

9.根据权利要求4所述的一种可拓展区块链的智能电网的数据隐私保护方法,其特征在于: 为: 为不等式,表示变量mi的值在 之间,包括两端点; 这表示mi是一个整数,即mi的值是正整数、负整数或零;

而 mn是要找的序列中的第n个元素,m'是一个给定的初始值或常数,而 表示从mi到n‑1的所有元素的和;

而{mi|pki(i∈1,…,n)},{}通常用来表示一个集合;

mi这是集合中的元素;

pki是与mi相关联的公钥,pki中的i与mi中的i对应,表明每个mi都与一个特定的公钥pki相关联;

i∈1,…,n这表示i取值范围从1到n,即这是一个包含n个元素的集合;

Ri=ri·g,

ei=H(mi|ti|Ri),

si=ri+ei·ski

计算Ri它是通过将ri与g相乘得到的,ri为一个随机数,而g为一个固定的群元素;

ei是通过哈希函数H对mi、ti和Ri的拼接或连接进行哈希得到的,mi是消息,ti是时间戳或数据,而Ri是之前计算得到的值;

si通过将ri与ei·ski相加得到的,而ski是与mi相关的私钥;

而loopup(pki)=(i1,i2)→{true,false},loopup(pki)这是函数的名称和输入参数,loopup是一个函数;

而i1,i2是函数输出的两个元素;

→这个符号表示映射或函数关系;

{true,false}为函数的另一个输出,一个包含两个布尔值的集合;

而e'i=H(mi|ti|Ri),e'i是对mi、ti和Ri的拼接或连接进行哈希计算得到的;

而 si与某个固定的群元素g相乘,g为一个基点,而si是一个标量即一个数字;

是一个等号;

而Ri+e'i·pki,Ri为之前计算得到的值,第二个值是e'i·pki,其中e'i为一个哈希值可能是消息的哈希,而pki,是公钥;

而 g为固定的群元素;

这是一个求和符号,表示从i=1到ψ的和;

这表示从i=1到ψ的所有e'i·pki的和;

而Ti={mi,pki,Ai},Ti它包含三个元素:mi、pki和Ai;

mi表示第i个消息或数据块的内容,m代表消息或内容;

pki这是第i个公钥,pk通常代表公钥;

Ai代表设备所在社区区域。

10.根据权利要求6所述的一种可拓展区块链的智能电网的数据隐私保护方法,其特征在于:而keyGen(λ,C)→(pkτ,vkτ);

keyGen是函数执行密钥生成过程;

pkτ代表生成的公钥;

vkτ代表验证密钥或另一个与公钥配对的密钥;

而Prove(pkτ,x,ω)→π;

Prove为交互式证明系统的一部分;

pkτ这通常代表公钥;

x用于一个证明的陈述、消息、秘密或数据;

π函数或过程的输出;

而Verify(vkτ,π,x)→{true,false}Verify函数接受三个参数:vkτ验证密钥、π证明和x要验证的数据或陈述;

而 loop是一个循环或迭代函数的表示,其中 是传递给该函数的参数;

βj是一个被转换函数操作的对象;

→是一个箭头符号,通常用于表示转换或映射关系;

π'是转换后的结果,π'为经过处理或转换后的证明或证据;

而 iterates(ζ,ε)是对两个参数ζ和ε进行迭代或某种形式的处理,ζ和ε是初始条件、参数、状态变量;

upload为上传函数;

而ε,ε',π',Ti',θ|vkτ包括原始数据、处理后的数据、证明、时间戳和额外参数;

→为转换或映射操作符;

Layer1为转换过程的目标或输出。