曲速未来 揭秘:CodeChain中的Schnorr签名

栏目: JavaScript · 发布时间: 7年前

内容简介:曲速未来表示:Schnorr签名是椭圆曲线数字签名,它是ECDSA的替代品,也在CodeChain中实现。本文为作者“曲速未来安全区”,原创文章,转载时请保留本声明及附带文章链接。 内容仅供读者参考,并非投资建议,本网站将保留所有法律权益。

曲速未来 揭秘:CodeChain中的Schnorr签名 2018-10-20 11:45 区块链 技术 曲速未来 揭秘:CodeChain中的Schnorr签名 743 收藏

曲速未来表示:Schnorr签名是椭圆曲线数字签名,它是ECDSA的替代品,也在CodeChain中实现。

介绍

Schnorr,是一种签名算法:一系列连接私钥、公钥和签名的数学规则,Schnorr来源于它的发明人的姓名Claus-Peter Schnorr。很多密码学家认为Schnorr签名在相关应用中是最好的,因为它有很高水平的正确性,没有延展性问题,验证速度相当快,最重要的是支持多重签名:可以把多个签名聚合成一个新的签名。

曲速未来 揭秘:CodeChain中的Schnorr签名

区块链安全咨询公司 曲速未来 表示:Schnorr签名是椭圆曲线数字签名,它是ECDSA的替代品,也在CodeChain中实现。

曲速未来 揭秘:CodeChain中的Schnorr签名

首先,Schnorr签名的四大优势如下:

  • Schnorr签名比ECDSA更容易操作,速度更快。ECDSA在计算中具有模块化逆和点乘的繁重操作,而Schnorr签名相对于ECDSA的操作相对较少。

  • 与ECDSA相比,Schnorr签名具有较小的签名大小。ECDSA签名包括支持公钥恢复的恢复参数。具有隐式Y坐标的Schnorr签名允许在没有恢复参数的情况下恢复公钥。

  • 可以使用Schnorr签名执行批量验证,即同时验证一个块中的签名。这是由于Schnorr签名的线性,使得允许添加多个验证方程而没有问题。以这种方式,一次验证所有签名可以减少点乘法的数量。

  • Schnorr签名的引入减少了多重签名的大小。当多个人加入multisig时,大多数区块链会逐个存储他们的签名。这更快地处理签名签名,但是,验证很慢并且签名的大小随参与者的数量线性增加。如果使用Schnorr签名,则可以使用具有常量签名大小的多个多重签名方案。代表性方案是MuSig。

CodeChain上的Schnorr签名实现

CodeChain使用在比特币的libsecp256k1中实验性实现的Schnorr签名代码。为了实际使用Rust,在此使用一个名为rust-secp256k1的Rust包装器。

开始在CodeChain的JavaScript Primitives中提供了Schnorr签名的简单实现,基于此,然后创建了JavaScript SDK和Keystore的Schnorr版本。CodeChain和SDK的Schnorr版本已经过测试,可以在从ECDSA移至Schnorr时传递所有现有测试,而无需对现有代码进行任何更改。

CodeChain基于Schnorr签名的多重签名

如前所述,MuSig具有m-of-m多重签名方案,其优点是不需要单独的签名验证实现,并且可以以与验证单个签名相同的方式进行验证。由于在输入Schnorr签名时可以使用MuSig,因此CodeChain将通过JavaScript SDK和RPC支持MuSig签名签名。

此外,CodeChain将利用使用MuSig的树签名来支持m-of-n阈值签名。树签名只能使用锁定脚本创建,不需要额外的实现。它们还具有更快验证的优势。对于CodeChain,Tree签名的锁定脚本作为标准脚本包含在内,SDK和RPC将支持签名签名,就像MuSig一样。

区块链安全咨询公司 曲速未来 观点:通过使用Schnorr签名,不仅可以加强隐私,最重要的是可以降低每个人的交易费用。实际上,为了使用最优隐私选项,需要支付一个成本,这只是一个人人可以选择的选项,它大大加强了隐私的保护。

本文为作者“曲速未来安全区”,原创文章,转载时请保留本声明及附带文章链接。 内容仅供读者参考,并非投资建议,本网站将保留所有法律权益。

  • 曲速未来 揭秘:CodeChain中的Schnorr签名

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机算法

计算机算法

霍罗威茨 / 机械工业 / 2006-1 / 55.00元

本书是计算机算法在设计与分析方面的一本经典著作。书中介绍了算法和算法性能的基本知识,基本的数据结构知识,重点讨论了不同的算法设计策略,研究了下界理论等,提供了计算机算法的设计技术和有效的算法分析,以及大量的详细实例和实际应用。同时,对NP难和NP完全问题能否有效求解进行了分析。本书还汇聚了各种随机算法与并行算法的充分比较。   本书为读者提供了当前流行的对象设计语言C++的实现版本,适合作为......一起来看看 《计算机算法》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具