基于ECDSA算法的门限签名技术(以太坊非合约多签技术)

3 篇文章 0 订阅
1 篇文章 0 订阅

通常的以太坊多签技术都是基于合约来实现的,较为著名的几个钱包 BitGo 钱包、Gnosis 钱包和 Parity 钱包就是这么做的。基于智能合约,更易于实现。然而,一旦发生错误,错误的成本也确实很高。我想好多人都听说过 Parity 被黑的故事,同时对于私钥的管理者,他是基于对合约的信任来达到目的的,假设合约不可信或者存在漏洞,私钥管理者并没有更多的方法进行调整,基本上只能是眼睁睁的看着问题发生。

那么,有没有更好的方法?其实ECDSA的门限签名就是 一种非常好的方案。

首先,基于智能合约的多重签名机制依赖于拥有单独而唯一的密钥的各方,他们用这些密钥来对一笔交易签名,并且,签名者一个接一个地提供其签名。每个签名者都有自己的密钥,他们用它来签署一笔交易。当验证者 想要验证交易时,他需要分别检查每个签名。

对于门限签名,情况有所不同,因为我们只有一把公钥和一个签名。每个签名者都有相同的公钥和私钥的一个唯一部分。签名者使用一种特殊的通信协议进行协作,我们姑且称之为“分布式签名运算”,该协议不会为了生成签名而暴露私钥,并且只会生成一个签名。

同样,就验证而言,门限签名比多重签名交易便宜。同时避免链上多签漏洞,降低链上多签手续费。多重签名需要为每个签名者创建一个新的签名,并且成本随着签名者数量的增加而增加。对于门限签名,只有一个签名,因此在签名及验证方面成本是固定的。

再验证者只需检查一个签名即可确定交易是否正确。

但是总会有陷阱存在。第一个陷阱是,尽管门限签名并不是什么新鲜事物,但大多数人仍不熟悉它们。这意味着要花一些时间来接受这项技术。而且,工具还不存在。对于多重签名,我们有一堆工具,比如有良好 UI 支持的硬件钱包。不过,现在我们提供了一个算法,大家可以基于这个算法实现在手机端的云钱包(私钥分布存储)上达到与硬件离线钱包一样的安全等级,当然,你也可以把这个算法直接集成到硬件钱包中。

操作步骤如下:

1.用户A离线生成自己的ECDSA私钥,同时生成一个大随机数,通过随机数与椭圆曲线及私钥的运算得到 D1

2. 用户B离线生成自己的ECDSA私钥,同时生成一个大随机数,通过随机数与椭圆曲线及私钥的运算得到 D2

3.用户A将D1发送给用户B,用户B通过D1、D2合成公钥并得到以太坊地址,该公钥完全符合以太坊规范,基于ECDSA。

4.用户A及用户B对待签名信息进行签名运算,分布得到中间值S1,S2

5.用户A或用户B通过S1,S2及待签名信息生成签名结果r,s,得到ECDSA标准签名。

6.所有得到公钥的有用户都可以通过ECDSA验签方法验证用户A与用户B分布式运算得到的签名结果。

 DEMO链接:

http://demo.cosign.xxx

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
### 回答1: 椭圆曲线门限签名协议(ECDSA)是一种数字签名算法,它基于椭圆曲线密码(ECC)算法,可以用于确保数据的安全性和完整性。它使用椭圆曲线函数来生成一对密钥,用于对数据进行签名,并验证签名是否被篡改。 ### 回答2: 基于椭圆曲线加密算法门限签名协议,是指在使用椭圆曲线加密算法进行数字签名时,采用门限签名方案来实现多个个体共同完成签名操作的协议。该协议的主要目的是增加签名的安全性和可靠性,同时提高签名的效率。 在传统的数字签名中,通常需要一个个体独立完成签名操作,并使用自己的私钥进行签名。而门限签名协议则将签名过程分解为多个阶段,多个个体共同参与其中,每个个体贡献一部分信息,最终组合成有效的签名。 基于椭圆曲线加密算法门限签名协议可以分为以下几个关键步骤: 1. 参数设置:确定椭圆曲线和相关参数,并约定门限值t以及参与签名的个体数量n。 2. 公钥生成:由签名方向其他个体请求生成公钥,并将公钥广播给各个参与方。 3. 签名初始化:初始化每个个体的私钥和零知识证明参数,并将其分发给各个参与方。 4. 分享密钥:个体之间共享私钥的一部分,通过安全的秘密共享方案将私钥分割为t份,并将每份密钥发送给相应的个体。 5. 签名贡献:个体使用自己的私钥贡献一部分签名信息,并将其广播给其他参与方。 6. 签名整合:各个个体收集到其他参与方的签名贡献,并将它们整合成最终的签名。 7. 签名验证:使用公钥和签名验证算法签名进行验证,确保其有效性和完整性。 基于椭圆曲线加密算法门限签名协议在实现多个个体协同签名的过程中,有效保护了私钥的安全性,提高了签名的可信度和抗抵赖性。同时,还能够提供高效的签名速度和较低的通信开销,适用于许多需要集体签名的应用场景,如多方合同签署、区块链交易验证等。 ### 回答3: 基于椭圆曲线加密算法门限签名协议是一种利用椭圆曲线加密算法实现的签名方案。在这个协议中,有一个需要签名的消息和参与者集合。参与者集合被划分成多个子集,每个子集都有一个门限值,只有达到门限值的子集参与者才能生成有效的门限签名。 具体的门限签名协议步骤如下: 1. 参与者的初始化:参与者计算自己的私钥和公钥,并将公钥发送给其他参与者。 2. 随机数生成:每个参与者生成自己的随机数,并将随机数发送给其他参与者。 3. 协议执行:协议的执行分为多轮进行。每轮中,每个参与者根据其他参与者发送的随机数和自己的私钥,计算出一个局部签名,并将局部签名发送给其他参与者。其他参与者通过收集到的局部签名计算出一个全局签名。 4. 签名验证:门限签名生成后,任何人都可以使用门限签名的公钥对签名进行验证。 门限签名协议的主要优点是安全性高、隐私性好和容错性强。基于椭圆曲线加密算法门限签名协议能够提供更高效和更紧凑的签名方案,同时对于参与者的计算和存储资源需求也比较低。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值