硬核 | 一种基于 Schnoor 算法的多签方案以及钱包架构

2021-01-14 17:10:00 1020

硬核预警,建议有技术基础的同学使用~

近日比特币核心客户端发布了新的一个大版本,这次发布主要带来了 Schnorr 签名 Taproot 技术。Schnorr 是一项优雅,简洁,可以提升交易隐私性,节省空间,同时还能实现聚合多签的一种的签名算法。同时它有别于传统的 ESDSA 签名技术,其在技术及实现方式上有着明显的特点,目前已经较广泛的应用在不同公链的不同环节上。本期非常有幸邀请到密码学专家汉升(笔名)撰稿,介绍一种基于 Schnoor 算法的多签方案以及钱包架构。同时在文末为大家推荐了两篇相关科普文章,希望能够一起学习这一项新的技术,以及了解 Schnorr 签名对于比特币及区块链技术的发展有哪些意义。

编辑:xy 工作室 、 NPC

ECDSA签名回顾  


数字签名是对签名的数字模拟。最早的数字签名算法是由Rivest、Shamir、Adleman三⼈于1978年提出的RSA签名算法,其安全性基于⼤整数分解的难解性,⼴泛地运⽤于数字认证与CA等领域。但是由于RSA算法的密钥尺⼨较⼤,存储效率不及后来的基于椭圆曲线的签名算法。所以⽬前⼴泛运⽤于密码货币的签名⼏乎都是ECDSA算法,只是所基于的底层椭圆曲线不同。ECDSA的安全性是基于椭圆曲线离散对数难解性。


⽐特币签名算法——

基于 SECP256k1 曲线的ECDSA


⽐特币⽬前所使⽤的签名算法是基于SECP256k1 曲线的ECDSA算法。将交易的详细信息 作消息摘要, 即 z=SHA256(m),对摘要z作核⼼签名算法。

密码学意义上安全的数字签名需要通过添加随机数来实现签名的随机性。但是根据RFC6979标准,签名 算法中的随机数是从消息摘要z中提取出,这不是密码学意义上的随机数。这个⽅案在众多密码学代码库中,并应⽤于⼤多数区块链项⽬中。

声明:所有在本站发表的文章,本站都具有最终编辑权。本站全部作品均系微算力原创或来自网络转载,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责,所产生的纠纷与本站无关。如涉及作品内容、版权和其它问题,请尽快与本站联系。

相关推荐

  • 微信:aspcool
  • QQ:580076
  • 手机:18992859886
  • 工作时间:9:00~18:00(周一至周五)