当前位置:首页 > 物联网 > 区块链
[导读] 早在2013年9月,一位匿名作者在bitcointalk.org网站上发表了一篇文章,建议可以通过联合签名来提高隐私性和可扩展性。多个输入可以共享一个签名,授权代币的集体移动。这样做,人们就有了

早在2013年9月,一位匿名作者在bitcointalk.org网站上发表了一篇文章,建议可以通过联合签名来提高隐私性和可扩展性。多个输入可以共享一个签名,授权代币的集体移动。这样做,人们就有了合并交易的经济动机,从而减少了区块链的宝贵空间,使交易中的付款人和收款人更加模糊,从而提高了隐私。

从那时起,比特币开发者社区就一直在热烈讨论这个想法,而一种相对晦涩的密码签名方法被推到了这场运动的最前沿。这种方法称为Schnorr签名。它们是由密码学家 Claus Schnorr创造的,并在1989年的一篇论文中首次向公众发布。尚不清楚Satoshi是否考虑过用这种方法签名,但这可能并不重要,因为Schnorr在2008年拥有了这种方法的专利。

背景

比特币区块链中的每个块包含一个或多个交易。交易由一个要使用的现有输入列表、一个要创建的输出列表以及输入的所有者批准将其比特币转移交易的证明组成。

在比特币中,大多数输入都需要一个数字签名形式的密码证明才能使用。这就有可能导致会有许多不同类型的支出标准,这被称为任何人都可以支出的产出。

快速介绍数字签名

目前最流行的签名算法是Rivest-Shamir-Adleman (RSA)和Digital Signature Algorithm (DSA)。RSA是为加密和签名而构建的,而DSA最初只是为签名而构建的,但后来也被修改为支持加密。这两种算法依赖于不同的密码假设:RSA依赖于因式分解,DSA依赖于离散对数问题。

这两种技术都需要公钥对和私钥对。私钥用于对消息签名,而公钥用于验证签名。关键是在技术上会涉及大量的数字来进行计算。这些计算中可能值的一组数字称为字段或组。

目前,比特币使用椭圆曲线数字签名算法(ECDSA),这是DSA的一个改进,用于椭圆曲线。该曲线定义了用于计算的数学组,它规定了密钥格式和密码术操作的一组值。ECDSA的优点是由于椭圆曲线加密的效率,您可以用更小的密钥大小实现与RSA相同的安全性。 这使得ECDSA成为比特币的明智选择,因为较小的密钥总体上占用的空间更小,导致数据更少,操作更快。

Schnorr签名

Schnorr签名可以适用于任何满足离散对数问题的数学组。幸运的是,比特币中的椭圆曲线secp256k1符合这一特性。这意味着在比特币中,同样的私钥和公钥可以与Schnorr签名一起使用。Schnorr签名比ECDSA签名有更多优点:

1. Schnorr签名更小。大多数ECDSA签名是71或72字节。所有Schnorr签名都是64字节。

2. 他们允许更紧凑的多重团体。比特币目前的m-of-n签名方案需要m个签名的表示和验证。Schnorr multisig只需要一个签名就可以代表所有m方。

3. 跨多个联合签名!我们不仅可以将一个多sig输入的签名压缩为一个签名,还可以将多个输入的签名联合为一个签名。当与CoinJoin相结合时,这可以使交易更便宜、更私密。即使没有CoinJoin,这也可以大大减少交易的大小和成本。将Schnorr签名引入比特币的主要工程师Pieter Wuille估计,只要让用户在不同输入之间联合签名,比特币区块链就能缩小25-30%。

4. 没有脚本的脚本!通过巧妙地使用远远超出本文范围的Schnorr签名,我们实际上可以通过使用一个特殊的过程来创建所需的签名来实现不同的开销条件。利用Schnorr签名的线性特性——没有脚本的脚本,以特定的方式组合部分签名,可以满足开销标准。Blockstream的安德鲁·波尔斯特拉(Andrew Poelstra)对这种可能性做了一些伟大的研究。

5. Schnorr签名被证明是不可塑的。ECDSA签名可以在不访问创建它们的私钥的情况下更改。当签名被包含在生成交易id时,这对比特币来说是一个大问题。隔离证人通过分离签名(也称为证人)减少了这个问题,但拥有一致的签名仍然很好。

有什么缺点吗?

Schnorr签名强调了当前ECDSA系统已经存在的一个弱点。这些签名方案使用一个nonce值,这个值只能使用一次,必须随机选择,或者至少是不可预测的,否则攻击者可以对私钥进行反向攻击。2011年,索尼(Sony)就发生过这种著名的情况,当时PS3上使用的ECDSA方案显示,根本不随机选择这个nonce。结果,一个团体发布了索尼的私钥,允许用户安装自己的操作系统。

使用ECDSA,由于不存在联合签名,nonce可以根据正在签名的内容进行确定。这就是比特币没有问题的地方。然而,当引入联合签名时,我们将需要一个真正的随机熵源来创建签名。问题是,当多个参与方联合起来创建签名时,恶意参与方可以使用相同的nonce和相同的输入启动对两个多签名的请求。它们会在请求完成之前中止请求,但是可能已经创建了正确的条件来反向工程受害者的私钥。

接下来是什么?

Schnorr签名实现的一个障碍是它们还没有标准化。Bitcoin Core 开发者Pieter Wuille,为单一签名的实现提供一个标准化草案。该草案目前正在比特币社区接受同行审查。

联合签名另一个复杂性问题是,使用精心设计的nonces可能会受到攻击。Blockstream在这个问题上做了一些有趣的工作,他们提出被称为MuSig的解决方案。MuSig目前通过在签名创建过程中添加更多的轮数来解决这个问题,以确保没有人能够通过操纵nonce值来伤害其他人。目前,MuSig协议需要与联合签名进行三轮协调。第一轮要求每个人都生成惟一的输入,这些输入将哈希值并在一起,以确保从不使用相同的nonce来签署相同的消息。

目前正在进行优化联合签名的研究。Blockstream的希望是,他们将能够通过使用零知识证明,以确保适当的熵,将沟通从三轮减少到两轮。Schnorr签名似乎不太可能在今年进入比特币市场,但它们正在稳步前进,如果运气好的话,有望在2020年把比特币的下一个区块奖励减半。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭