LucasNuzzi文
本文由币信研究院原创编译,原文链接:
https://medium.com/digitalassetresearch/schnorr-signatures-the-inevitability-of-privacy-in-bitcoin-b2f45a1f7287
本文版权归原作者所有,仅代表作者本人观点,不代表币信或币信研究院的观点或立场。
本文约5500字,阅读全文需约13分钟。
虚空中的Schnorr签名。
数字签名是在线主权的支柱。公钥密码学在1976年的出现,为创建全球通信媒介、互联网以及全新的货币形式比特币铺平了道路。虽然从那时起公钥加密的基本属性并没有太大变化,但现在密码学家的工具箱中有许多开源数字签名方案。
在中本聪开始构思比特币时,要考虑的关键设计选择之一,就是在这个开放的、无许可的金融系统中使用哪种签名方案。要求很明确;中本聪需要一种使用广泛、易于理解、足够安全、轻量级,最重要的是开源的算法。在当时可用的所有选项中,他选择了最符合该标准的选项:椭圆曲线数字签名算法。
当时,ECDSA由OpenSSL本地支持,OpenSSL是由一群赛博朋克老手开发的一组开源加密工具,用于改善在线通信的隐私性。相对于其他流行的方案,ECDSA的好处是具有更精简的计算要求和更短的密钥长度;这些都是数字形式的货币的有用属性。同时,它还提供了与RSA等方案相当的安全性:例如,256位ECDSA密钥与3072位RSA密钥具有相同的安全性,但其大小只是后者的一小部分。
PieterWuille和其他人在一条被称为secp256k1的改进曲线上的努力使得比特币的ECDSA更快、更有效。然而,ECDSA仍然存在固有的缺陷,人们始终有理由去取代它。经过几年的研究和实验,出现了一种旨在提高比特币交易隐私性和效率的新签名方案:Schnorr数字签名方案。
黄金多头Peter Schiff:比特币将跌破1万美元大关:8月12日消息,在最近接受Kitco的采访中,黄金多头Peter Schiff预测,由于被迫抛售,比特币的价格仍可能跌破1万美元。他确信,比特币在去年11月达到的6.9万美元就是峰值。“我不认为它会再创新高,”Schiff预测道。谈到比特币最近的反弹,这位投资者声称,这只是一个傻瓜的反弹。最大的加密货币在主要现货交易所的交易价格略低于24000美元。Schiff称,加密货币供应会继续增长。他认为,比特币和其他2万种代币之间没有什么区别。(金十)[2022/8/12 12:21:04]
在本文中,我概述了Schnorr签名的多种实现及其相应的好处。然后,我探索了MuSig,这是一种新的多重签名标准,可作为Taproot等新型比特币技术的构建模块。最后,我描述了Schnorr的完全实现版本将如何打破区块链分析中使用的试探,同时帮助在比特币的主层建立一个强大的费用市场。
SCHNORR签名的兴起
尽管Schnorr数字签名方案比ECDSA具有许多优势,但它肯定不是新的。它由德国密码学家和学者Claus-PeterSchnorr发明,在20世纪80年代,他在法兰克福大学担任教授和研究员。他提出的签名方案是DavidChaum、TaherEIgamal、AmosFiat和AdiShamir的研究和工作的整合。然而,在发布之前,ClausSchnorr为他新发明的方案申请了多项专利,多年来,该方案一直禁止其直接使用。
十分有趣的是,ECDSA的前身DSA是ElGamal和Schnorr方案的混合体,该方案仅用于规避ClausSchnorr的专利。事实上,在Schnorr的美国专利发布仅两个月后,DSA的创始人美国国家标准与技术研究院也为其解决方案申请了专利。这里有一些基本的赛博朋克历史:在那之后,ClausSchnorr对他的专利采取了防守措施,并直接回应了码农朋克邮件列表里对他的批评者。他的回答可以在这里和这里阅读。此处还可以找到描述专利问题的内部NIST备忘录。
Peter Schiff:未来投资者将购买黄金对冲通胀,而不是选择比特币:黄金支持者、比特币反对人士Peter Schiff发推称,如今的投资者购买比特币并不是为了对冲通胀。他们之所以购买它,是因为他们猜测未来的投资者将会购买它作为通胀对冲工具。但当这些未来投资者最终意识到通胀威胁时,他们将购买黄金,而不是比特币。[2021/3/30 19:30:41]
2008年,在Schnorr签名方案推出近二十年后,ClausSchnorr的专利已经过期。巧合的是,2008年也正是我们最喜欢的赛博朋克——中本聪——正在实现比特币的那年。尽管在当时本来可以使用Schnorr签名,但它们还尚未被标准化或广泛运用,这可能是中本聪用ECDSA来替代的动机。虽然密码学家和数学家经常将其描述为极差,但ECDSA已经被广泛使用,它在当时为比特币提供了更安全的选择。
比特币上的SCHNORR
十年过去,Schnorr方案在今天不那么深奥了,像ed25519这样的标准化实现成为一些竞争币的流行选择。关于可能在比特币上实现Schnorr的非正式谈话可以追溯到2014年BitcoinTalk上的这个话题,但到了PieterWuille撰写SchnorrBIP的时候,经过多年的研究和实验,这项提案才得以正式化。本BIP草案描述了潜在Schnorr实现的规范和技术细节,该实现将比ECDSA具有以下优势:
·安全性证明:当使用足够随机的哈希函数,并且签名中使用的椭圆曲线离散对数问题足够困难时,Schnorr签名的安全性很容易证明。ECDSA不存在这样的证明。
·不可延展性:ECDSA签名具有内在的延展性,这可能使第三方在无法访问私钥的情况下改变现有的有效签名并双花资金。这个问题在BIP62中正式讨论过。相比之下,Schnorr签名可证明是不可延展的。
Marathon Patent将资助比特币核心开发人员Jonas Schnelli:金色财经报道,Marathon Patent周四宣布,将资助比特币核心开发人员Jonas Schnelli的工作。除了该赠款外,Schnelli在GitHub上还有55个个人赞助者。[2021/1/29 14:16:15]
·线性:Schnorr签名具有这样一个明显特性,即多方可以协作生成对其公钥总和有效的签名。这是各种用于提高效率和隐私的更高级构造的构成要素。
Schnorr提供的安全性证明及其不可延展性保证与ECDSA相比具有明显优势。只有在这两个好处的基础上才能证明软分叉是合理的。然而,Schnorr的线性属性格外令人兴奋。实质上,这使得一笔多重签名交易中的多个签名者能够将他们的公钥组合成一把代表该团体的聚合密钥;这一属性被称为密钥聚合。
虽然融合密钥的能力可能听起来微不足道,但我们不应该低估密钥聚合的好处。由于ECDSA本身不支持多重签名,因此它必须通过被称为Pay-to-ScriptHash的标准化智能合约来在比特币中实现。这使得用户可以添加被称为质押权的支出条件来指定资金的使用,如“只有Alice和Bob双方都对此消息签名的解锁余额才能使用。”
P2SH的第一个问题是它需要知道参与multisig的所有签名者的公钥,这不是一个有效率的系统。聚合这些密钥将允许更有效率的验证,因为网络只需要验证一个密钥,而不是n个密钥。这也意味着更少的区块链足迹、更低的交易成本和改良的带宽。
P2SH的第二个问题是它提供的隐私保证非常少。根据BIP13的规定,P2SH交易需要使用以3号开头的不同地址。这使得区块链观察者不仅能识别网络中的所有P2SH交易,而且还能准确指出多重签名内的身份:
不好。
声音 | 黄金忠实支持者Peter Schiff:比特币之前破万时是做空的理想时机:Euro Pacific Capital首席执行官、黄金忠实支持者Peter Schiff今日发推文称,比特币破10k时,我提醒你们抓住高点脱手,你们却认为这波回升会持续,现在看来,那是一个做空的理想时机,逢高卖出比逢低卖出更好。[2019/11/22]
在上面的例子中,网络将意识到多重签名交易的存在,它由多少个签名者组成,以及签名者是谁。这不利于操作安全性,特别是对于像2FA这样的用例。这不利于隐私。
另一方面,密钥聚合允许签名者保持匿名,并且不会通过泄露解锁余额所需的密钥来损害操作安全性。最重要的是,密钥聚合使得多重签名可以与常规交易无法区分:
好。
比特币中Schnorr的第一次迭代将淘汰当前与ECDSA一起使用的OP_CHECKSIG和OP_CHECKMULTISIG系列操作码,以支持一个名为OP_CHECKDLS的新类别。我这里不介绍太多细节,DLS代表的是离散日志签名,它允许使用更少的操作码更有效地验证签名。
在2018年初,GregoryMaxwell、AndrewPoelstra、YannickSeurin和PieterWuille就一项名为MuSig的基于Schnorr的新多重签名方案发表了一份白皮书。自MuSig发布以来,他们一直在努力将提出的多重签名方案转换为可用的代码。
在密钥聚合的背景下,关于MuSig最有趣的事情之一,是在区块链之外创建私人智能合约的可能性。从本质上讲,MuSig使多重签名参与者能够将质押权附加到链下聚合密钥,这不需要比特币的共识规则来知道它。
2018年12月,安东尼·汤斯是第一个为激活Schnorr提出半正式提案的核心开发者,该提案发布在比特币开发邮件列表中。我预计在接下来的几个月里会有更多关于潜在软分叉的讨论。
金色财经独家采访 NewsChain联合创始人熊振:只要能及早发现问题并进行修复,就可以把危害将至最低:金色财经独家采访NewsChain传播链联合创始人熊振,他表示:从以太坊的ERC20代币合约漏洞到EOS的智能合约漏洞,在区块链系统中智能合约是最容易受到攻击的部分。由于采用DPOS共识机制的区块链节点较少,更容易进行更新,所以只要能及早发现问题并进行修复,就可以把危害将至最低。在这点上采用DPOS共识机制的区块链具有天然的优势。[2018/5/29]
总结一下:比特币中MuSig的第一次迭代将原生支持密钥聚合,这可以立即提高多重签名的隐私,提高交易验证的效率,通过消除ECDSA的固有问题来提高安全性,启用像Taproot这样的智能合约解决方案,我计划之后讲一下这一点。
但这只是一个开始。
交叉输入聚合:隐私的下一步
如上一节所述,密钥聚合对于花费单个输入的多重签名是一个非常有用的功能。由于比特币交易通常不止一个输入,因此可以利用Schnorr的未来迭代来创建交互聚合签名方案,其中交易里的所有输入与单个签名同时使用。
再次,签名者之间的交互完全是在链下的,但现在,单个签名可用于花费一笔交易的所有输入。每个输入仍然有自己的公钥,但可由SchnorrIAS使用:
GregMaxwell,PieterWuille,AnthonyTowns等人一直致力于Taproot智能合约方案的进化,以促进这一功能。他们将此方案称为广义Taproot或G'root,它可以在将来更容易地将密钥聚合转换为交叉输入聚合。
与密钥聚合一样,交叉输入聚合进一步提高了比特币交易的效率。但是,最重要的是,它可以在比特币的基础层上实现强大的隐私保护机制。
交叉输入聚合最令人兴奋的方面之一,是它可以改善比特币上的CoinJoin交易。提一下背景,CoinJoin是一种隐私保护技术,其中多个发送者和接收者在单笔交易中组合。目标是使区块链观察者难以把特定的发送者和接收者联系起来,从而使CoinJoin内的实体能够声称合理的拒绝。
这项技术最初由GregMaxwell于2013年在BitcoinTalk上提出,此后通过各种服务向用户提供,包括JoinMarket、SharedCoin、ShufflePuff、DarkWallet和CoinShuffle。CoinJoin的各种变体,例如Wasabi钱包中使用的ChaumianCoinJoin方案,在原始模型之上做了极大的改进。然而,由于匿名爱公司,它仍然依赖足够多的用户来混淆他们的余额。
今天CoinJoin的另一个问题是整个交易类型的可识别性。考虑到今天区块链分析中最常用的试探是密切关注特定输入以确定两个或更多地址是否属于同一实体。例如,如果Alice发給Bob1.982723BTC,则区块链观察者可以跟踪该特定输入的小数以绘制交易图,或者跟踪历史细目和UTXO所有权的更改。
为了防止这种情况,CoinJoin实现需要共同的价值面额,CoinJoin中的每个人都发送相同的金额。例如,Wasabi钱包的用户在100名参与者的CoinJoin交易中发送相同的0.1BTC面额。虽然仍难以确定特定发件人和收件人之间的联系,但区块链观察者可以寻找共同面额来识别CoinJoin发生的情况,并建议其客户审查所涉及的所有实体。
交叉输入聚合可以为这种情况提供帮助,因为它在协议层引入了额外的混淆机制。从本质上讲,交叉输入聚合可以构建基于Schnorr的CoinJoin交易,其中n个签名者在外人看来就像是正常的单签名者交易。这也可能使CoinJoin更容易在流行的钱包中实现,而无需繁重的工程设计,这可能会增加网络的整体匿名性,或使用此技术的用户数量。
共同面额问题可以通过其他技术进一步解决,例如Pay-to-EndPoint,它将中本聪早期的隐私工作与CoinJoin相结合,发送者和接收者都为交易提供输入。这种新技术值得一篇独立的帖子,但你可以在这里、这里和这里阅读更多相关信息。
P2EP是向后兼容的,当与Schnorr结合使用时,它可以在比特币的基础层中实现足够的隐私。
一石二鸟
我们可以合理地假设比特币的大规模使用取决于其隐私保障的强度。与此同时,闪电网络的普及及其自身支持私人支付的潜力,也使得最后的比特币被挖后对链上结算的未来需求产生了不确定性。因此,对隐私的需求和在没有区块奖励的情况下比特币的长期可持续性可能是今天比特币最令人担忧的两个问题。值得庆幸的是,Schnorr启用的隐私机制可以同时解决这两个问题。
我花了数千小时回顾了各种复杂的隐私技术,包括RingSignatures,ConfidentialTransactions,Bulletproofs,zkSNARKs,STARKs和MimbleWimble的不同实现。虽然其中一些技术已经足够成熟,可以在比特币的基础层上实现,但它们仍然具有独特的风险和权衡。正如您可能已经听说的那样,比特币是不喜欢硬分叉的,这使得我们很难想象任何这些技术都可以实现的情况。
人们似乎在反复担忧使用同态加密或非交互式零知识证明系统,因为它们阻止了比特币货币基础的完全可听性。换句话说,当对交易价值进行编码时,很难核实比特币的供应上限是否实际上是2100万BTC。同样,当隐藏交易金额时,通胀错误和双重支付变得难以确定。这是一个相当大的权衡,推动在比特币的基础层实现最新隐私可能会分裂社区。
但是,如果比特币的基础层获得足够的隐私,甚至不需要实施这些技术呢?
Schnorr绝对可以帮到你。如果大多数比特币交易都是将Schnorr的交叉输入聚合功能与P2EP结合使用,那么通过简单地查看区块链,几乎不可能对特定发送者和接收者进行去模糊处理。比特币的供应仍然是可审计的,但其交易也将提供更强大的隐私保障。
如果存在对隐私的需求,也可以合理地假设比特币用户和企业可能都想要被动地参与CoinJoin交易,并让他们的钱包在后台不断混合他们的余额。在这种情况下,对隐私的需求直接转化为链上交易费用的增加。与SegWit一样,用户最有可能首先支持该技术的采用,但企业必须在某些时候效仿以保持重要性。
随着时间的推移,采用这些技术将使区块链分析过时,并有效地从比特币企业所需的AML/KYC程序中移除,就像实物现金一样。当您将现金存入您的银行账户时,银行将不会检查钞票上是否有药物痕迹,并在发现药物的情况下阻止您的存款。随着区块链分析的扩散,加上没有Schnorr的CoinJoin等技术的缺点,没有理由认为比特币已经做到这一点。
当在特定地址和UTXO上执行AML/KYC变得无关紧要,并且焦点转向个人而非余额时,比特币企业将完全接受隐私。事实上,我怀疑当这种情况发生时,隐私和可互换性将成为未来比特币企业价值主张的一个组成部分。
最终,在比特币的基础层上采用更强大的隐私机制将进一步增强其用户的权力,同时,有助于在最后的比特币被挖后创建一个充满活力的交易费市场。我的猜测是,这一切都始于Schnorr的激活,而每个人似乎都参与其中。
-TheEnd-
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。