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

摘要:

权利要求书:

1.一种基于分布式可验证延迟函数的区块链共识系统,其特征在于,包括分布式公有模N生成模块、可验证延迟函数计算模块和工作量证明模块;

所述分布式公有模N生成模块的数据传输至可验证延迟函数计算模块,所述可验证延迟函数计算模块的数据传输至所述工作量证明模块;

所述分布式公有模N生成模块包括节点选择子模块和生成分布式公有模N子模块;

节点选择子模块的数据传输至所述生成分布式公有模N子模块,所述生成分布式公有模N子模块的输的数据传输至所述可验证延迟函数计算模块;

节点选择子模块包括分布式筛选部件和区块数据哈希部件,所述生成分布式公有模N子模块包括分布式公有模N计算部件和素性检验部件;素性检验部件使用Miller‑Rabin素性检验来确定N是否可能是素数;

分布式筛选部件使用分布式筛选算法,使每个节点i能够挑选随机份额pi,并保证pi不能被小素数整除,这方法不会泄露任何节点的信息,各个节点对服务器中pi的共享一无所知;

区块数据哈希部件向可验证延迟函数计算模块输出区块头;

分布式公有模N计算部件为每个节点设置一个秘密pi和qi,计算乘积N=(p1+...+pk)·(q1+...+qk),不透露关于他们的任何信息;

所述分布式筛选部件的数据传输至所述区块数据哈希部件,所述区块数据哈希部件的数据传输至所述分布式公有模N计算部件,所述分布式公有模N计算部件的数据传输至所述素性检验部件;

所述可验证延迟函数计算模块包括Setup算法部件、Eval算法部件和Verify算法部件;

所述Setup算法部件的数据传输至所述Eval算法部件,所述Eval算法部件的数据传输至所述Verify算法部件;

所述工作量证明模块包括基于SHA256函数的哈希和Eval的生成子模块、基于SHA256函数哈希和Verify的验证子模块;

所述可验证延迟函数计算模块的数据传输至所述基于SHA256函数的哈希和Eval的生成子模块,所述基于SHA256函数的哈希和Eval的生成子模块的数据传输至所述基于SHA256函数哈希和Verify的验证子模块。

2.一种基于分布式可验证延迟函数的区块链共识方法,用于权利要求1所述的一种基于分布式可验证延迟函数的区块链共识系统,其特征在于,包括以下步骤:S1:分布式公有模N生成模块生成分布式公有模N和输出区块头的哈希值;

所述分布式公有模N生成模块包括节点选择子模块和生成分布式公有模N子模块,节点选择子模块包括分布式筛选部件和区块数据哈希部件,所述生成分布式公有模N子模块包括分布式公有模N计算部件和素性检验部件;

S2:可验证延迟函数计算模块对分布式公有模N和区块头的哈希值作为输入,然后计算出可验证的(l,π);

可验证延迟函数计算模块包括Setup算法部件、Eval算法部件和Verify算法部件;

S3:工作量证明模块对分布式公有模N和区块头使用SHA256哈希函数求解哈希值,求解当前解的哈希是否满足难度证明,并验证(l,π);

所述工作量证明模块包括基于SHA256函数的哈希和Eval的生成子模块、基于SHA256函数哈希和Verify的验证子模块。

3.根据权利要求2所述的一种基于分布式可验证延迟函数的区块链共识方法,其特征在于,在步骤S1中,其包括以下步骤:S11:分布式筛选部件使用分布式筛选算法,使每个节点i能够挑选随机份额pi,并保证pi不能被小素数整除,这方法不会泄露任何节点的信息,各个节点对服务器中pi的共享一无所知;

S12:区块数据哈希部件向可验证延迟函数计算模块输出区块头;

S13:分布式公有模N计算部件为每个节点设置一个秘密pi和qi,计算乘积N=(p1+...+pk)·(q1+...+qk),不透露关于他们的任何信息;

S14:素性检验部件使用Miller‑Rabin素性检验来确定N是否可能是素数。

4.根据权利要求3所述的一种基于分布式可验证延迟函数的区块链共识方法,其特征在于,在步骤S2中,所述Setup算法部件对分布式公有模N生成模块输出的N和区块头的哈希值作为输入,然后利用Eval算法部件计算出可验证的(l,π),之后用Verify算法部件进行验证。

5.根据权利要求4所述的一种基于分布式可验证延迟函数的区块链共识方法,其特征在于,所述Setup算法部件包括以下算法:Setup(λ,t)→pp=(ek,vk)

根据安全参数λ以及时间参数t,生成一个公共参数pp,公共参数pp包含了用于计算的参数ek和用于验证的参数vk;

所述Eval算法部件包括以下算法:

Eval(ek,x)→(l,π)

根据计算参数ek和输入x∈X,计算出输出l∈L和证明π;

所述Verify算法部件包括以下算法:

Verify(vk,x,l,π)→{accept,reject}根据vk,x,l以及π,输出accept或者reject,accept表示验证通过,reject表示验证失败。

6.根据权利要求5所述的一种基于分布式可验证延迟函数的区块链共识方法,其特征在于,在步骤S3中,基于SHA256函数的哈希和Eval的生成子模块求解分布式公有模N的输出,具体过程为:N作为输入,和区块头一起求解哈希值,输出为Hash=Hsha256(N,块头);

基于SHA256函数哈希和Verify的验证子模块验证Hash是否满足小于等于难度的目标值,不满足时,Nonce递增,Nonce=Nonce+1,并重新验证,直到求解出满足工作量证明的解,然后通过Verify进行验证。