如果问币圈中任何一个人: 比特币面临的最大挑战是什么? 你很可能会听到的回答是: "可扩展性".
为了解释施诺尔签名 (Schnorr signature) 是什么, 它将如何有助解决可扩展性, 我将首先简要回顾为什么可扩展性必须去解决以及目前的一些进展.
回顾
关于比特币网络应该如何扩展, 在过去几年已经有了非常多的争论, 如何才能通过一种平滑的方式让数以百万(最终达到数十亿)计的用户立刻用上比特币.
在今天, 比特币还无法承受如此量级的用户. 对于每隔 10 分钟被加入到区块链中的区块, 其中用来存储交易的空间是有限制的. 这种限制是出于设计层面, 为了确保能够保留比特币作为一个前所未有创新的主要特点 (抗审查, 去中心化, 不可更改和开放性).
所有的比特币使用者都希望网络能够扩展, 但是当真正谈到如何实施, 却有着一些不同的优先级:
有些人主要想尽可能地授权更多的用户, 以此来保持比特币的完整性特征. 他们想要最小化需要施加给其他人的信任, 确保如果我们真的进行扩展时, 也是十分保守性地扩展.
其他人主要想要通过以尽可能低的费用和可接受的安全性, 来尽可能地让更多人参与其中, .
由于没有人掌管比特币, 就如何发展比特币, 所有的利益相关者(开发者, 用户, 矿工和企业)都需要达成共识, 这比想象中要难的多. 大部分的利益相关者都同意扩展比特币的必要步骤. 而争论主要存在于采取这些步骤的时间和顺序, 因为这对网络的健康至关重要.
在所有的争论中, 一个叫做 隔离见证 (Segregated Witness) 的技术解决方案被提了出来. 它并非主要用于解决扩展性问题 (尽管它确实能够增加交易空间), 而是作为更多可扩展性创新的一个垫脚石. 隔离见证解决了在比特币中一个长期存在的 bug, 正是因为这个 bug 阻碍了这些创新.
经过一年多的测试, 隔离见证已经在所有的利益相关者 (开发者, 用户, 矿工和企业) 中有了广泛支持, 并且马上会被实现. 这些为下一个创新开启了大门: 施诺尔签名, 它可以进一步有助于提高可扩展性.
问题 #1: 可扩展性
为了成功地完成一笔比特币交易, 必须要有签名. 不幸的是, 在区块链的区块中这些签名必须要占据一定的空间.
这就会引发一个问题: 当你想要从多个地址给一个地址发送交易的时候, 这些交易中的每一个都需要有它们自己的签名.
所有的这些签名数据会增加交易的大小, 因此需要付给矿工更多的交易费. 因为你占用了可能用于其他交易的空间, 所以你需要这些空间进行付费.
如果仅是一个人从多个地址发送交易, 难道不应该有某种方式仅需要一个签名即可完成这个操作吗? 这正是施诺尔签名允许我们做的事情.
据估计, 这个升级将会减少至少 25% 的存储和带宽使用. 需要明确指出的是: 这是一个非常巨大的效率提升.
等等, 还不止.
施诺尔签名的另一个主要好处(并非下面所说的问题 #2)是, 就如何保护比特币的隐私性有所增强.
一些用户故意使用多个签名来发送交易, 因为这的确是增强隐私性的一个方式. 比如,
你可以请求多个人或设备来参与发送一个交易, 这就是通常所说的 "多重签名(MultiSig)". 这仅是拥有可编程货币的众多好处之一.
当然了, 你不希望外面不相关的人看到你正在做什么, 而施诺尔签名也会使你的签名看起来跟其他签名看起来没什么两样.
问题 #2: 垃圾邮件攻击
在过去 6 个月, 比特币网络遭受了不计其数的攻击.
之所以我叫它垃圾邮件攻击, 是因为它只是为了推送一个政治议程. 一些人拼命地想要推送他们增加可扩展性的想法. 当五月底一个扩展性方案通过的时候, 攻击就突然停止了.
下面你看得到是一个内存池的图, 它包含了在任一时刻所有等待被加入到区块链中的未确认交易.
尽管有些人曾寄希望于这些未确认交易的尖峰是有机增长, 但是进一步的分析明确显示这只是垃圾信息.
为了鼓励人们增加块的大小, 攻击者通过各种构造方法, 尽可能多的占用交易空间, 一连几周都使得比特币交易的费用十分高昂.
他们的方法之一是通过频繁地从许多来源发送交易, 在交易中包含数十个签名, 如下所示:
(原图见 Twitter)
基于进一步的分析, 在这笔交易中的每一个来源显然都是在几天前才刚刚存在. 这仅是我在几十笔交易中识别出的其中一笔, 而其他的也都遵循同样的模式和方法. 作为这些垃圾邮件攻击的众多案例之一, 你可以 访问 block 470824 .
幸运的是, 施诺尔签名有助于抵制这种类型的垃圾邮件攻击. 如果我们每笔交易仅有一个签名, 那么区块将能够容纳更多的交易, 垃圾邮件攻击者也将需要发送更多的交易来与众人竞争, 因此很可能需要花费更多的金钱来占据之前同样的交易空间. 施诺尔签名经常是一个交易中一个最大的独立部分, 所以攻击者将会处于不利地位.
如果攻击者选择不使用施诺尔签名, 继续使用旧的签名, 那么相比之下,
其他使用施诺尔签名的人发送的交易会更小, 也就是交易费越少. 这也会使得攻击者的攻击成本高于以前.
尽管这些垃圾邮件攻击的费用估计达到数百万美元, 但对于那些想要破坏网络的富人, 政府或大型机构, 这些只不过是十分微小的投入.
尽管有些公开的参与者清楚地知道这些攻击的来源, 我仍将在本文给出谁应当为这些攻击负责的一些揣测. 终有一日, 比特币会需要抵制这些攻击, 无论它们来自内部还是外部.
有趣的是, 于我而言, 无论哪种情况, 像这样的攻击都是反生产力的:
如果这是一个为了推送议程的内部攻击, 它将导致人们不再认真对待你的议程, 因为其攻击性质十分显然 (如图所示).
如果这是试图损害比特币的外部攻击, 这只会增加曝光度而已,并证明比特币是对中心化控制货币的威胁.
但对于用户而言, 这两种情况下都必然会感到不适,不过我们最终会找到解决方案,又或者是攻击者可能会把钱花光。
在隔离见证激活以后, 看到施诺尔签名在比特币能够实现, 我真的非常兴奋. 与隔离见证类似,施诺尔签名不仅对自身的升级十分有用,而且是未来创新的一个垫脚石, 比如混币(CoinJoin), 它对提升比特币的隐私性有着巨大潜力。不过这可能是另外一篇文章的内容了.
本文译自: Why Schnorr signatures will help solve 2 of Bitcoin’s biggest problems today