基于区块链的链下协同门限签名方法及装置制造方法及图纸

技术编号:39747884 阅读:24 留言:0更新日期:2023-12-17 23:46
本发明专利技术提供一种基于区块链的链下协同门限签名方法及装置,所述方法包括确定用于签名的密码算法;在参与节点上部署智能合约,参与节点根据部署的合约代码生成独立的合约地址,并共享合约地址给其他参与节点;参与节点验证合约地址,并根据合约地址推导得到公钥生成地址,并进行地址匹配;根据密码算法生成签名过程中所需的公开参数,通过密码算法生成密钥并将密钥进行分片;参与节点以合约地址作为公共参数,在达到签名算法阈值的情况下进行协同签名,使用验证算法和合约地址共同验证签名的有效性

【技术实现步骤摘要】
基于区块链的链下协同门限签名方法及装置


[0001]本专利技术涉及区块链
,尤其涉及一种基于区块链的链下协同门限签名方法及装置


技术介绍

[0002]近年来,具有去中心化与不可篡改特性的数字货币吸引了大量用户,越来越多的人愿意采用加密数字货币进行交易,而区块链作为数字货币的底层技术也被大众所熟知

区块链是一种按照时间顺序将区块以链条的方式组合成特定的数据结构,并以密码学方式保证的不可篡改的去中心化共享账本

[0003]区块链链下交易指的是在区块链之外进行的交易,也称为离链交易或链下交易,这种交易基于传统的信任机制,交易过程中除参与交易的双方外还需依赖中央机构或其他可信的第三方来完成交易的交易和结算,相较于区块链上的交易链下交易通常具有更快的确认速度和更高的隐私性

[0004]申请号为
202010582070.8“一种
SM2
协同门限签名方法及电子装置”,其主要内容为:用户端生成第一部分私钥
d1,第二部分私钥
d2,计算椭圆曲线上的点
W1,
W2,及
n
个私钥份额
c
i
,将
(W2,
c
i
)
秘密发送给
n
个服务端
U
i
;签名时在
n
个服务端
U
i
中选取
m
个服务端
U/>j
,组成集合
M
;用户端生成随机数
k
c
,服务器端
U
j
根据集合
M
生成随机数
k
j
,用户端和各服务端
Uj
计算出第一部分签名
r
,第二部分签名
s
,得到最终签名
(r

s)
,该方案仅适用于一个用户端和若干服务器组成的网络系统

[0005]申请号为
201910657002.0“一种支持信息隐藏的协同签名方法与系统”,其主要内容为:将签名参数初始化;生成调用方和协作方的私钥及公钥;生成签名;其中调用方和协作方分别存储
SM2
子私钥部分,协同完成消息的签名操作;任何一方无法获取完整的
SM2
私钥信息

该方案调用方与协作方协同完成签名,从方案中可以推断,该方案适用于交易双方之间的签名方案,适合作为区块链链上交易签名的算法,而区块链链下交易的达成需要交易发起方,交易协作方,服务提供商或第三方机构协作完成

其次,链下交易有别于链上交易,链上每一笔交易都需要同步至区块链所有节点进行确认及验证,在实现交易不可逆并防止篡改的同时,区块链交易的确认速度较慢,因此在链下交易中,不需要等待区块生成和验证使得交易速度更快

所以在协同签名过程中理应避免各交易方多次相互传递参数,运行复杂度高的运算,浪费网络带宽和
CPU
计算时间,否则可能导致协同签名及交易速度减慢,有占用算力和带宽增长的风险

[0006]因此,有必要提供一种新型的基于区块链的链下协同门限签名方法及装置,以克服上述缺陷


技术实现思路

[0007]本专利技术的目的在于提供一种新型的基于区块链的链下协同门限签名方法及装置,其提高协同签名抗风险能力,提高签名效率,提高安全性

[0008]为了达到上述目的,本专利技术提供一种基于区块链的链下协同门限签名方法,包括:
[0009]确定至少三个参与签名操作的参与节点,并确定用于签名的密码算法;
[0010]在参与节点上部署智能合约,参与节点根据部署的合约代码生成独立的合约地址,并共享合约地址给其他参与节点;
[0011]参与节点验证合约地址,并根据合约地址推导得到公钥生成地址,并进行地址匹配;
[0012]根据密码算法生成签名过程中所需的公开参数,进行签名参数初始化,通过密码算法生成密钥并将密钥进行分片;
[0013]参与节点以合约地址作为公共参数,在达到签名算法阈值的情况下进行协同签名,使用验证算法和合约地址共同验证签名的有效性

[0014]本专利技术还提供一种基于区块链的链下协同门限签名装置,该装置包括:
[0015]签名密码算法模块,用于生成满足签名特性的密钥,将签名计算任务分割为多个子任务,并行地进行计算,提高了签名地效率和吞吐量;
[0016]可信第三方,用于负责生成系统参数,并部署智能合约;
[0017]交易发起方,用于根据签名密码算法模块生成密钥;
[0018]交易协作方,用于根据发起方生成的密钥和智能合约的合约地址进行验证

[0019]本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述基于区块链的链下协同门限签名方法的步骤

[0020]本专利技术还提供一种计算机终端,包括存储器

处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于区块链的链下协同门限签名方法的步骤

[0021]与相关技术相比较,本专利技术在协同签名过程中先对各个合约地址进行身份验证,在验证完成后利用链下隐私计算节点合约地址作为密码算法协同签名的公共参数,基于门限签名的方式实现了协同签名具有安全性,高效性;本专利技术通过一种安全的两方分布式签名算法,该协议将私钥分离到两个设备上进行存储,就可以生成一个有效的签名,而不需要重构整个私钥,具有较小通信复杂度的同时可以抵御一定程度上的中止攻击

附图说明
[0022]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
[0023]图1为本专利技术基于区块链的链下协同门限签名方法流程图;
[0024]图2为本专利技术基于区块链的链下协同门限签名装置架构图

具体实施方式
[0025]下面将对本专利技术实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例

基于本专利技术中的实施例,本领域普通
技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围

[0026]请参阅图1,本专利技术设计了一种基于区块链的链下协同门限签名方法,包括:
[0027]确定至少三个参与签名操作的参与节点,并确本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种基于区块链的链下协同门限签名方法,其特征在于,包括:确定至少三个参与签名操作的参与节点,并确定用于签名的密码算法;在参与节点上部署智能合约,参与节点根据部署的合约代码生成独立的合约地址,并共享合约地址给其他参与节点;参与节点验证合约地址,并根据合约地址推导得到公钥生成地址,并进行地址匹配;根据密码算法生成签名过程中所需的公开参数,通过密码算法生成密钥并将密钥进行分片;参与节点以合约地址作为公共参数,在达到签名算法阈值的情况下进行协同签名,使用验证算法和合约地址共同验证签名的有效性
。2.
根据权利要求1所述的基于区块链的链下协同门限签名方法,其特征在于,所述在参与节点上部署智能合约包括:将智能合约代码编译成字节码格式,生成合约部署文件;将生成的合约部署文件通过部署工具或命令行代码部署至链下隐私的参与节点
。3.
根据权利要求2所述的基于区块链的链下协同门限签名方法,其特征在于,所述参与节点验证合约地址,并根据合约地址推导得到公钥生成地址,并进行地址匹配包括:获取待验证合约地址;首先验证地址格式是否符合格式要求;将合约地址转换为公钥;推导得到公钥生成地址,并进行地址匹配,将生成的地址与待验证的合约地址进行比较,检查是否匹配
。4.
根据权利要求3所述的基于区块链的链下协同门限签名方法,其特征在于,所述根据密码算法生成签名过程中所需的公开参数,进行签名参数初始化包括:所述参数包括:椭圆曲线相关参数
(q,F
q
,n,G)、
密码杂凑函数
Hash()
;其中
q
为大素数,
Fq
为包含
q
个元素的有限域,
n
为素数,
G
为椭圆曲线的一个基点,其阶为
n
;生成公钥
Q

P1随机选择一个位于
[1,n

1]
数字
x1,并计算
Q1=
x1G

P1发送
(prove,1,Q1,x1)
到第三方;经运算,
P1生成一个密钥对
(pk,sk)
,其中
pk
为公钥,
sk
为私钥;
P1发送
(prove,1,N,(p1,p2))
到第三方,其中
pk

N

p1·
p2;
P2接收来自第三方的消息
(proof,1,Q1),(proof,1,N)

P2随机选择一个位于
[1,n

1]
数字
x2,并计算
Q2=
x2G

P2发送
(prove,2,Q2,x2)
到第三方;
P2计算
Q

x2·
Q1‑
G
,并保存
(x2,Q,pk)

P1接收第三方消息
(proof,2,Q2),
计算得
Q

x1·
Q2‑
G
并保存
(x1,Q,(sk,pk))
;计算得出
Q

x2·
Q1‑
G

x1·
Q2‑
G

(x1x2‑
1)G
;同时得到
P1的私钥
x1,P2的私钥
x2,私钥由各参与节点单独保存
。5.
根据权利要求4所述的基于区块链的链下协同门限...

【专利技术属性】
技术研发人员:郭兆中白志君尹海波刘齐军谭林
申请(专利权)人:湖南天河国云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1