System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机领域,尤其涉及一种验证区块链签名存在的方法、系统及设备。
技术介绍
1、在区块链网络中,随着网络的发展,全网的有效算力在极具膨胀,存储提供者在算力增长没有达到全网算力增长速度的情况下,存储提供者的算力会不断被稀释,获得出块权的概率逐渐减低,这对于存储提供者来说收益也在降低。每个存储提供者都需要一个或者多个同步节点来同步链上数据,大部分时候为了节点更安全和稳定会选择多个同步节点,这会增加存储储提供者参与的成本。为了降低存储提供者的成本,可以把大量存储提供者聚合在一起,形成存储池,共用同步节点,消息池等资源。但存储池需要对存储提供者注册的地址进行校验,也就是辨认地址的真伪,存在信任问题。
技术实现思路
1、本申请的一个目的是提供一种验证区块链签名存在的方法、系统及设备,解决现有技术中对注册地址进行校验的可信度不高,容易伪造的问题。
2、根据本申请的一个方面,提供了一种验证区块链签名存在的方法,该方法包括:
3、区块链中的钱包向注册中心发起请求,其中,所述请求携带目标注册地址以及随机数;
4、注册中心对收到的请求发起验证,验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包发起签名请求,将所述待签名数据返回至所述钱包;
5、所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心;
6、所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地
7、可选地,向所述钱包发起签名请求包括:
8、所述注册中心按照目标注册地址所属的地址类型向所述钱包发起签名请求。
9、可选地,所述注册中心按照目标注册地址所属的地址类型向所述钱包发起签名请求,包括:
10、当所述目标注册地址所属的地址类型为secp256k1地址组时,所述注册中心按照目标注册地址请求钱包签名;
11、当所述目标注册地址所属的地址类型为bls地址组时,所述注册中心将所述bls地址组内的所有地址发送给所述钱包请求签名。
12、可选地,所述注册中心按照目标注册地址请求钱包签名时,所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心,包括:
13、所述钱包使用所述注册中心下发的公钥对所述待签数据进行解密并验证,验证成功,则通过所述目标注册地址对应的私钥对所述预签元数据进行签名,得到签名结果;
14、将所述随机数、公钥以及签名结果返回至所述注册中心。
15、可选地,所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名,包括:
16、所述注册中心根据所述钱包返回的公钥查询对应的私钥,若不存在,则所述目标注册地址注册失败;
17、若存在,则根据所述私钥和随机数对所述待签数据进行验证,若验证失败,则所述目标注册地址注册失败,若验证成功,则根据所述目标注册地址、待签数据验证签名结果,若验证通过,则所述目标注册地址注册成功,若验证失败,则所述目标注册地址注册失败。
18、可选地,所述注册中心将所述bls地址组内的所有地址发送给所述钱包请求签名时,所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心,包括:
19、步骤a,所述钱包使用所述注册中心下发的公钥对所述待签数据进行解密并验证;
20、步骤b,若验证成功,则通过所述目标注册地址对应的私钥对所述待签数据进行签名,得到签名结果;
21、所述bls地址组内的所有地址都执行步骤b后,聚合所有地址的签名结果,得到聚合签名结果;
22、将所述随机数、公钥以及聚合签名结果返回至所述注册中心。
23、可选地,所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名,包括:
24、所述注册中心根据所述钱包返回的公钥查询对应的私钥,若不存在,则所述目标注册地址注册失败;
25、若存在,则根据所述私钥和随机数对所述待签数据组进行验证,若验证失败,则所述目标注册地址注册失败,若验证成功,则根据所述bls地址组、待签数据验证聚合签名结果,若验证通过,则所述目标注册地址注册成功,若验证失败,则所述目标注册地址注册失败。
26、可选地,所述方法包括:
27、所述注册中心生成公私钥对,将所述公私钥对中的公钥发送给所述钱包。
28、根据本申请另一个方面,提供一种验证区块链签名存在的系统,该系统包括:注册中心、钱包、权限验证模块,其中,
29、所述钱包用于向注册中心发起请求,其中,所述请求携带目标注册地址以及随机数;
30、所述注册中心用于基于收到的请求向所述权限验证模块发起验证请求,所述权限验证模块基于所述验证请求验证后反馈给所述注册中心验证结果;
31、所述注册中心用于当验证结果为验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包发起签名请求,将所述待签名数据返回至所述钱包;
32、所述钱包用于对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心;
33、所述注册中心用于验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名。
34、根据本申请又一个方面,还提供了一种验证区块链签名存在的设备,所述设备包括:
35、一个或多个处理器;以及
36、存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
37、根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。
38、与现有技术相比,本申请通过区块链中的钱包向注册中心发起请求,其中,所述请求携带目标注册地址以及随机数;注册中心对收到的请求发起验证,验证通过后对所述随机数进行加密,得到待签名数据,向所述钱包发起签名请求,将所述待签名数据返回至所述钱包;所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心;所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名。从而钱包和注册中心双方都对待签数据有一定程度的控制,可以避免一方伪造待签数据,注册中心可以通过验证签名结果来检查钱包是否真的对注册上来的地址具有签名能力,可以避免钱包伪造地址进行骗签。由于是钱包主动连接注册中心,可以避免暴露出额外的端口,减少被攻击的风险。
本文档来自技高网...【技术保护点】
1.一种验证区块链签名存在的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,向所述钱包发起签名请求包括:
3.根据权利要求2所述的方法,其特征在于,所述注册中心按照目标注册地址所属的地址类型向所述钱包发起签名请求,包括:
4.根据权利要求3所述的方法,其特征在于,所述注册中心按照目标注册地址请求钱包签名时,所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心,包括:
5.根据权利要求4所述的方法,其特征在于,所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名,包括:
6.根据权利要求3所述的方法,其特征在于,所述注册中心将所述bls地址组内的所有地址发送给所述钱包请求签名时,所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心,包括:
7.根据权利要求6所述的方法,其特征在于,所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目
8.根据权利要求1所述的方法,其特征在于,所述方法包括:
9.一种验证区块链签名存在的系统,其特征在于,所述系统包括:注册中心、钱包、权限验证模块,其中,
10.一种验证区块链签名存在的设备,其特征在于,所述设备包括:
11.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至8中任一项所述的方法。
...【技术特征摘要】
1.一种验证区块链签名存在的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,向所述钱包发起签名请求包括:
3.根据权利要求2所述的方法,其特征在于,所述注册中心按照目标注册地址所属的地址类型向所述钱包发起签名请求,包括:
4.根据权利要求3所述的方法,其特征在于,所述注册中心按照目标注册地址请求钱包签名时,所述钱包对接收到的待签名数据进行解密并验证,验证通过后对所述待签名数据进行签名,并将签名结果反馈至所述注册中心,包括:
5.根据权利要求4所述的方法,其特征在于,所述注册中心验证签名结果,根据验证结果判断所述注册中心中的目标注册地址是否存在签名,包括:
6.根据权利要求3所述的方法,其特征在于,所述注册中心将所述...
【专利技术属性】
技术研发人员:胡俊,李君龙,曾亮,华仁斌,
申请(专利权)人:上海焜耀网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。