密码学 | 多重签名:基本概念

这篇具有很好参考价值的文章主要介绍了密码学 | 多重签名:基本概念。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

摘要

1  什么是多重签名?

2  多重签名的作用

2.1  联名账户

2.2  提高安全性

2.3  秘钥备份

3  比特币的多重签名

3.1  对比一

3.2  对比二

3.2.1  线性性

3.2.2  不可延展性

3.2.3  安全性证明

3.2.4  效率高、占用空间少


⚠️原文:多重签名:Schnorr 协议与 ECDSA 协议 - 知乎

⚠️写在前面:本文属搬运博客,自己留存学习。

摘要

  • 什么是多重签名?多重签名的作用?
  • 比特币为什么放弃 ECDSA 多签名方案而选择 Schnorr 多签名方案?

比特币是中本聪提出的加密货币,以太坊的加密货币是以太币。

1  什么是多重签名?

众所周知,一个 数字货币所有权 的三要素为:

  • 地址(Address)
  • 公钥(Public Key)
  • 私钥(Private Key)

地址 相当于大家的银行账户。公钥 由本人公开,用于加密和验证签名。私钥 用来进行解密和签名,是数字货币所有权的表征,相当于银行卡的密码。

看来公钥不太好和银行卡这个例子对应起来。

常规账户或者轻钱包都是 一个数字货币地址对应一个私钥,动用这个地址中的资金需要私钥的所有者发起签名才行。

常规账户采用的是单签名机制,即只要该地址对应的那 1 把私钥参与签名就行了。

在比特币中,多重签名技术 —— 也叫 m-of-n 多重签名 —— 用 n 把钥匙生成一个多重签名的地址,需要其中的 m 把钥匙才能花费这个地址上的比特币。比如说,某笔资金对应有 3 个私钥,并且要求至少有其中 2 把私钥参与签名才能动用,只有 1 把私钥参与签名则是无效的。

m-of-n 直译就是 n 个中的 m 个,因此 m<=n 就很好理解了。为什么只需要 m 把私钥参与就行了?答:应该是考虑到了 “灵活” 这一因素。要是每次都需要所有私钥才能签名,那么但凡有一把私钥外泄了,这个账户地址就用不了了😇

在 BitCoin Wiki 中是这样描述的,多重签名是指需要多个密钥来授权比特币交易,而不是一个密钥的单个签名。关于多签名的应用介绍,可查看 BitCoin Wiki 。

2  多重签名的作用

以下内容均来自 BitCoin Wiki

多重签名的三大作用:

  • 联名账户:把持有比特币的责任分给多个人,多方共同管理资产;
  • 提高安全性:避免单点故障,从而使钱包受到损害的难度大大增加;
  • 秘钥备份:m-of-n 的备份,丢失单个私钥不会导致钱包丢失。

2.1  联名账户

比特币网络上的标准交易可以称为 “单签名交易”,因为转账只需要一个签名 —— 与比特币地址相关联的私钥所有者的签名。然而,比特币网络支持更复杂的交易,这些交易在转移资金之前需要多个人的签名。这些通常被称为 m-of-n 交易。这个概念是,通过提供多个当事方的地址,比特币变得 “受限制”,从而需要这些当事方的合作才能对它们做任何事情。这些当事方可以是个人、机构或编程脚本。

2.2  提高安全性

与账户地址关联的私钥可以分布在多台机器上,从而消除了任何一台机器作为单一故障点的可能性,因为恶意软件和黑客不太可能感染所有这些机器。所需私钥数量越多 —— 即 m-of-n 中的 m 值越高 —— 攻击者成功盗窃您的资金就越困难,然而实际上使用该钱包也会变得更加繁琐。

要求 n 个人中参与签名的人 m 越多,钱包会变得越安全,但是使用该钱包会变得越繁琐。

针对一个 2-of-3 的多签名钱包,你可以将自己的私钥分布在台式机、笔记本电脑和智能手机上,其中任何 2 个私钥都是转移资金所必需的,但任何 1 个私钥的泄露都不会导致资金被盗。

2.3  秘钥备份

这段不知道是不是翻译器的问题,不过看原文也不太懂它到底是什么意思😇

将多个密钥存储在不同位置的 m-of-n 钱包中可以用作备份。

例如,在 2-of-3 的多重签名钱包中,一个密钥的丢失不会导致该钱包的丢失,因为其他 2 个密钥可用于回收资金。备份的冗余为 n 和 m 之间的差值 n-m 。

例如,3-of-5 多重签名钱包的冗余为 2,这意味着仍可从中恢复任何 2 个密钥的丢失。

个人理解:对于一个 m-of-n 钱包,丢了其中的 n-m 把私钥也不要紧,这个钱包还能继续用。但对于一个 n-of-n 钱包,只要丢了其中的 1 把私钥,这个钱包就不能用了,因为它的忍耐度是 n-n=0,即没有忍耐度。

3  比特币的多重签名

比特币协议为什么放弃了 ECDSA 多签名方案,选择了 Schnorr 多签名方案?

警告:有一点 ECDSA 多签名方案和 Schnorr 多签名方案的基础知识会没那么难受。

3.1  对比一

ECDSA 签名占据空间大,而 Schnorr 签名占据空间小,因为它支持 多重签名聚合

多重签名聚合:多个参与方可以基于一个聚合公钥共同生成一个聚合签名。

BCH 开发者 Lundeberg 提到,聚合签名 的优势在于,在一笔交易中,所有参与的输入只需要一个 合并签名 便能够完成。用一个签名替代多个签名的好处是显而易见的。这能大幅减少数据量。预计通过 Schnorr 签名,区块链的存储和带宽将至少减少 25%,从而使 BCH 网络运行得更快、更高效。同时,这也能够有效防止垃圾交易攻击。

攻击者试图通过占用比特币网络的交易空间来拥堵比特币网络,他们的策略之一是频繁地从多个来源发送交易,这些交易中包含了数十个签名。在使用 ECDSA 签名算法的情况下,这些签名会占用大量的空间。

Lundeberg 还指出,Schnorr 机制的另一个重要特性是其 抗篡改能力:即使在聚合签名的情况下,Schnorr 签名也是不可篡改的,除非所有的签名者共同重新创建一个新的签名。这增强了交易的安全性,确保了签名的完整性和交易的不可篡改性。

后文接着进行对比。

3.2  对比二

Schnorr 签名相比 ECDSA 签名具有:

  • 线性性
  • 不可延展性
  • 安全证明性
  • 效率高、占用空间少
3.2.1  线性性

Schnorr 签名是线性的,这一点非常重要。使用 Schnorr 签名的各方可以生成对其各自密钥的签名聚合。以这一特性作为基础,可以构建更高效和隐私性更强的区块链系统。

没有 Schnorr 签名基础的小白看不懂很正常。

3.2.2  不可延展性

ECDSA 签名存在一个可塑性问题,即不知私钥的第三方可以修改给定公钥和消息的一个有效签名,以生成另一个对同一私钥和消息的有效签名。这个问题在 SegWit 激活后得到了解决。BIP62 和 BIP66 文档中详细讨论了这一问题。而采用 Schnorr 签名则能够避免此类情况的发生。

简单来说,不知道私钥的攻击者声称自己知道私钥,且 ECDSA 签名还检测不出来。

3.2.3  安全性证明

在随机预言机模型中,Schnorr 签名的验证过程极为简洁,而 ECDSA 签名则不支持这种验证。Yannick Seurin 在 2012 年发表了关于 Schnorr 方案的完整性证明。该论文题为 On the Exact Security of Schnorr-Type Signatures in the Random Oracle Model,为 Schnorr 签名提供了精确的安全性证明。

随机预言机模型是一种在密码学中使用的理想化模型,用于分析基于哈希函数的密码协议的安全性。在这个模型中,预言机是一个黑盒子,它能够随机生成哈希值,这些哈希值与输入的消息之间存在一对一的映射关系,但预言机本身不泄漏任何关于其内部工作原理的信息。

3.2.4  效率高、占用空间少

与 ECDSA 签名相比,Schnorr 签名使得链上交易所占用的存储空间更少,从而释放了更多的存储资源。同时,确认交易所消耗的时间也显著减少。 


原文还提到了以下方案的具体操作:

  • ECDSA —— 单签名
  • Schnorr Signatures —— 单签名
  • Naive Schnorr Multi-Signatures —— 多签名 + 聚合 + 不安全
  • Bellare-Neven Multi-Signature —— 多签名 + 非聚合 + 安全
  • MuSig —— 多签名 + 聚合 +安全

MuSig 就是 Naive Schnorr Multi-Signatures 的升级版,它们都基于 Schnorr 签名。文章来源地址https://www.toymoban.com/news/detail-857327.html

到了这里,关于密码学 | 多重签名:基本概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 密码学基础(三)——数字签名与证书

    数字签名:又叫公钥数字签名,或者电子印章。 数字信息社会用于取代传统社会手写签名的一种公钥加密领域的技术实现。 数字签名其实就是非对称加密的私钥加密,公钥解密的过程。 数字证书用来证明公钥拥有者的身份,验证数据来源,验证数据是否被修改。 数字证书中

    2024年02月16日
    浏览(48)
  • 【密码学】 一篇文章讲透数字签名

       数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息

    2024年02月06日
    浏览(49)
  • 密码学基本原理和发展——古典密码学

      目录 1 滚筒密码 2 棋盘密码 3 凯撒密码 4 单表代换与多表代换 4.1 单表代换 4.2 多表代换         密码技术最早起源于公元前404年的希腊,此后密码大致经历了 古典密码、近代密码和现代密码三个阶段。         古典密码(公元前五世纪~19世纪末)代表性的是 滚桶密

    2024年02月05日
    浏览(58)
  • 密码学基本原理和发展——近代密码学

    目录 1 密码机通信模型 2 Enigma密码机构造 3 Enigma密码机加解密过程 3.1 加密过程 3.2 解密过程 4 Enigma密码机的安全性 5 Enigma密码机破解 5.1 波兰雷耶夫斯基破解 5.2 图灵破解        近代密码一般指20世纪初~20世纪70年代期间的密码技术。20 世纪初电报的出现第一次使远距离

    2024年02月06日
    浏览(54)
  • 【密码学】使用mkcert安装CA、自签名ssl证书,配置nginx的https 证书笔记

    CA(Certificate Authority,证书授权)是由认证机构服务者签发,是数字签名的技术基础保障,也是网上实体身份的证明,能够证明某一实体的身份及其公钥的合法性,证明该实体与公钥二者之间的匹配关系。 在电子商务系统中,所有实体的证书都是由证书授权中心即CA中心颁发并签

    2024年02月03日
    浏览(56)
  • 网络安全:密码学基本理论.

    密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学. 目录 网络安全:密码学基本理论. 密码学基本概念: 密码安全性分析: 密码体系分析:

    2024年02月16日
    浏览(37)
  • 密码学——古典密码中的基本加密运算附简单例题

    本篇文章将对古典密码中使用到的基本加解密运算进行总结,并展示个别加减密运算的简单例题,从而使读者更加容易理解古典密码中的基本加减密运算的原理。 首先引入密码学中的几个基本定义: M:明文空间,明文的集合 C:密文空间,密文的集合 K:密钥空间(也称密钥

    2024年02月12日
    浏览(83)
  • 区块链学习笔记(一)——比特币概念以及密码学相关的知识

    自己做一些让自己读得懂的笔记 1.Bitcoin History In 2008, a person under the pseudonym Satoshi Nakamoto published a paper Bitcoin: A Peer-to-Peer Electronic Cash System . Bitcoin software was released in January 2009 and the mining of the Bitcoin cryptocurrentcy officially started. The genesis block included the “The Times” headline: “ Chan

    2024年02月15日
    浏览(46)
  • 【11.10】现代密码学1——密码学发展史:密码学概述、安全服务、香农理论、现代密码学

    参考:密码学发展简史 骆婷老师的《现代密码学(32H)》课程,笔记+查找的资料补充 期末为闭卷考试的形式 密码学早在公元前400多年就已经产生,人类使用密码的历史几乎与使用文字的时间一样长,密码学的发展大致可以分为 3 个阶段: 1949年之前的古典密码学阶段; 1949 年

    2024年02月04日
    浏览(50)
  • 【密码学】高级密码学-1

      通信双方使用 同一个密钥 ,通过使用加密算法配合上密钥来加密,解密过程采用加密过程的逆过程配合密钥即可。   常见的对称加密算法有DES、AES等。   对称加密的缺点:不能在不安全的网络上传输密钥,一旦密钥泄露则加密通信失败。   非对称加密使用了一

    2024年02月05日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包