主页 > imtoken最新下载 > Schnorr 签名和比特币隐私的必然性

Schnorr 签名和比特币隐私的必然性

imtoken最新下载 2023-06-17 06:22:38

比特币使用的数字签名方案叫什么_数字货币——比特币数据报告与操作指南_比特币用于数字交易

空白处的 Schnorr 签名。

比特币用于数字交易_比特币使用的数字签名方案叫什么_数字货币——比特币数据报告与操作指南

数字签名是在线主权的支柱。 1976 年公钥密码学的出现为全球通信媒介互联网和全新货币比特币的创建铺平了道路。 虽然从那时起公钥密码学的基本属性没有太大变化,但现在密码学家的工具箱中有许多开源数字签名方案。

当中本聪开始构想比特币时,考虑的关键设计选择之一是在这个开放的、无需许可的金融系统中使用哪种签名方案。 要求很明确; 中本聪需要一种被广泛使用、易于理解、足够安全、轻量级且最重要的是开源的算法。 在当时可用的所有选项中,他选择了最符合该标准的选项:椭圆曲线数字签名算法 (ECDSA)。

当时,ECDSA 由 OpenSSL 原生支持,OpenSSL 是一组开源加密工具,由一群赛博朋克老手开发,旨在提高在线通信的隐私性。 ECDSA 相对于其他流行方案的好处是更精简的计算要求和更短的密钥长度; 数字货币的两种有用特性。 同时,它提供与 RSA 等方案相当的安全性:例如,256 位 ECDSA 密钥与 3072 位 RSA 密钥一样安全,但大小仅为其一小部分。

Pieter Wuille 和其他人在称为 secp256k1 的改进曲线(如椭圆曲线)上所做的努力使比特币的 ECDSA 更快、更高效。 然而,ECDSA 仍然存在先天缺陷,并且总是有替换它的理由。 经过几年的研究和实验,一种旨在提高比特币交易的隐私性和效率的新签名方案应运而生:Schnorr 数字签名方案。

在本文中,我概述了 Schnorr 签名的各种实现及其相应的好处。 然后,我探索了 MuSig,这是一种新的多重签名标准,可作为 Taproot 等较新比特币技术的构建块。 最后,我描述了一个完全实施的 Schnorr 版本将如何打破区块链分析中使用的启发式方法,同时帮助在比特币的主层上建立一个强大的费用市场。

SCHNORR 签名的兴起

虽然 Schnorr 数字签名方案比 ECDSA 有很多优势,但它肯定不是新的。 它是由德国密码学家和学者 Claus-Peter Schnorr 发明的,他是 1980 年代法兰克福大学的教授和研究员。 他提出的签名方案融合了 David Chaum、Taher EIgamal、Amos Fiat 和 Adi Shamir 的研究和工作。 然而,在出版之前,Claus Schnorr 为他新发明的方案申请了多项专利,多年来禁止其直接使用。

相当有趣的是,ECDSA 的前身 DSA 是 ElGamal 和 Schnorr 方案的混合体,仅用于规避 Claus Schnorr 的专利。 事实上,就在 Schnorr 的美国专利发布两个月后,DSA 的创始人美国国家标准技术研究院 (NIST) 也为其解决方案申请了专利。 这是一些基本的赛博朋克历史:在那之后,Claus Schnorr 对他的专利采取了防御措施,并直接回应了代码朋克邮件列表(原始赛博朋克邮件列表的一个分支)上对他的批评。 他的答案可在此处 (://privacy.nb.ca/cryptography/archives/coderpunks/new/1998-08/0006.html) 和此处 (://www.privacy.nb.ca/cryptography/archives/coderpunks /new/1998-08/0009.html)阅读。 还可以在此处 ( ) 找到描述专利问题的 NIST 内部备忘录。

2008 年,在 Schnorr 签名方案推出近二十年后,Claus Schnorr 的专利到期。 巧合的是,2008 年也是我们最喜欢的赛博朋克中本聪实施比特币的一年。 虽然当时可以使用 Schnorr 签名,但它们尚未标准化或广泛使用,这可能是中本聪改用 ECDSA 的动机。 尽管密码学家和数学家经常将 ECDSA 描述为残酷,但 ECDSA 曾经(现在仍然)被广泛使用,并且它在当时提供了比比特币更安全的替代方案。

比特币上的 SCHNORR

十年过去了,Schnorr 方案在今天已经不那么深奥了,像 ed25519() 这样的标准化实施成为一些山寨币的流行选择。 关于可能在比特币上实施 Schnorr 的非正式讨论可以追溯到 2014 年 BitcoinTalk 上的这个话题(),但是当 Pieter Wuille 编写 Schnorr BIP()时,多年的研究和实验已经导致提案正式变更。 该 BIP 草案描述了潜在 Schnorr 实施的规范和技术细节,与 ECDSA 相比具有以下优势:

安全性证明:当使用足够随机的哈希函数(随机预言机模型)时,Schnorr 签名的安全性很容易证明,而签名中使用的椭圆曲线离散对数问题(ECDLP)足够困难。 ECDSA 不存在这样的证据。

不可延展性:ECDSA 签名本质上是可延展的,这可能允许第三方更改现有的有效签名并在无法访问私钥的情况下双花资金。 这个问题在 BIP62() 中正式讨论。 相比之下,Schnorr 签名被证明是不可延展的。

线性:Schnorr 签名具有独特的属性,即多方可以协作生成对其公钥总和有效的签名。 这是各种更高级别构造的构建块,例如多重签名和其他用于提高效率和隐私的智能合约。

Schnorr 提供的安全证明及其不可延展性保证与 ECDSA 相比具有明显的优势。 只有在这两个好处的基础上才能证明软分叉是合理的。 然而,Schnorr 的线性特性尤其令人兴奋。 从本质上讲,这使多重签名交易中的多个签名者能够将他们的公钥组合成一个代表该方的聚合密钥; 此属性称为密钥聚合。

虽然融合密钥的能力听起来微不足道,但我们不应低估密钥聚合的好处。 由于 ECDSA 本身不支持多重签名,它必须通过称为 Pay-to-ScriptHash (P2SH) 的标准化智能合约在比特币中实现(是的,比特币也有智能合约)。 这允许用户添加称为保留的支出条件来指定资金的用途,例如“只有 Alice 和 Bob 都签署了此消息的解锁余额才能花费”。

P2SH 的第一个问题是它需要知道所有参与多重签名的签名者的公钥,这不是一个高效的系统。 聚合这些密钥将允许更有效的验证,因为网络只需要验证一个密钥而不是 n 个密钥。 它还意味着更小的区块链足迹、更低的交易成本和更高的带宽。

P2SH 的第二个问题是它提供的隐私保证非常少。 根据 BIP 13 的规定,P2SH 交易需要使用以数字 3 开头的不同地址。这使得区块链观察者不仅可以识别网络中的所有 P2SH 交易,还可以查明多重签名中的身份:

数字货币——比特币数据报告与操作指南_比特币用于数字交易_比特币使用的数字签名方案叫什么

不好。

在上面的示例中,网络将知道 (1) 多重签名交易的存在,(2) 它由多少签名者组成,以及 (3) 签名者是谁。 这不利于操作安全,尤其是对于 2FA 这样的用例。 这对隐私不利。

另一方面,密钥聚合允许签名者保持匿名,并且不会通过泄露解锁余额所需的密钥来损害操作安全性。 最重要的是,密钥聚合使多重签名与常规交易无法区分:

数字货币——比特币数据报告与操作指南_比特币使用的数字签名方案叫什么_比特币用于数字交易

这很好。

比特币中 Schnorr 的第一次迭代将逐步淘汰目前与 ECDSA 一起使用的 OP_CHECKSIG 和 OP_CHECKMULTISIG 系列操作码,以支持名为 OP_CHECKDLS 的新类。 这里就不多说了比特币使用的数字签名方案叫什么,DLS全称Discrete Log Signature,可以用更少的操作码更高效地验证签名。

2018 年初,Gregory Maxwell、Andrew Poelstra、Yannick Seurin 和 Pieter Wuille 发布了一份白皮书,介绍了一种名为 MuSig 的基于 Schnorr 的新多重签名方案。 自 MuSig 发布以来,他们一直在努力将提议的多重签名方案转换为可用代码 ( )。

在密钥聚合的背景下,MuSig 最有趣的事情之一是可以在区块链之外创建私人智能合约。 本质上,MuSig 使多重签名参与者能够将承诺附加到链外聚合密钥上,这不需要比特币的共识规则来了解它。

2018 年 12 月,Anthony Towns 是第一个提出激活 Schnorr 的半正式提案 ( ) 的核心开发者,该提案发布在 bitcoin-dev 邮件列表上。 我希望在接下来的几个月里看到更多关于潜在软分叉的讨论。

总结一下:比特币中 MuSig 的第一次迭代将原生支持密钥聚合,这立即 (1) 提高了多重签名的隐私性,(2) 提高了交易验证的效率,以及 (3) 消除了 ECDSA 的固有问题。 提高安全性,(4)启用像 Taproot 这样的智能合约解决方案,我打算稍后再谈。

但这仅仅是开始。

交叉输入聚合:隐私的下一步

如前一节所述,密钥聚合对于花费单个输入的多重签名来说是一个有用的功能。 由于比特币交易通常有多个输入,因此可以利用 Schnorr 的未来迭代来创建交互式聚合签名 (IAS) 方案,其中交易中的所有输入都同时使用一个签名。

同样,签名者之间的交互完全是链下的,但现在可以使用单个签名来花费交易的所有输入。 每个输入仍然有自己的公钥,但可以被 Schnorr IAS 使用:

数字货币——比特币数据报告与操作指南_比特币用于数字交易_比特币使用的数字签名方案叫什么

Greg Maxwell、Pieter Wuille、Anthony Towns 和其他人一直致力于 Taproot 智能合约方案的发展以促进此功能。 他们称这种方案为 Generalized Taproot 或 G'root,这使得将来更容易将密钥聚合转换为交叉输入聚合。

与密钥聚合一样,交叉输入聚合进一步提高了比特币交易的效率。 但是,最重要的是,它在比特币的基础层之上启用了强大的隐私保护机制。

交叉输入聚合最令人兴奋的方面之一是它可以改进比特币上的 CoinJoin 交易。 作为一个小背景,CoinJoin 是一种隐私保护技术,其中多个发送者和接收者组合在一个事务中。 目标是让区块链的观察者难以链接特定的发送者和接收者,从而使 CoinJoin 中的实体能够合理拒绝。

该技术于 2013 年由 Greg Maxwell 在 BitcoinTalk 上首次提出(),此后通过各种服务向用户提供,包括 JoinMarket、SharedCoin、ShufflePuff、DarkWallet 和 CoinShuffle。 CoinJoin 的变体,例如 Wasabi 钱包中使用的 Chaumian CoinJoin 方案,大大改进了原始模型。 不过多亏了匿名爱公司,还是靠着足够多的用户来混淆自己的余额。

今天 CoinJoin 的另一个问题是整个交易类型的可识别性(和潜在的审查)。 考虑到当今区块链分析中最常见的启发式方法是密切关注特定输入以确定两个或多个地址是否属于同一实体。 例如,如果 Alice 向 Bob 发送 1.982723 BTC,区块链观察者可以跟踪该特定输入的分数以绘制交易图,或跟踪 UTXO 所有权的历史故障和变化。

为了防止这种情况,CoinJoin 实现需要一个共同的面额,CoinJoin 中的每个人都发送相同的金额。 例如,Wasabi 钱包的用户在有 100 名参与者的 CoinJoin 交易中发送相同面额的 0.1BTC。 虽然确定特定发送者和接收者之间的联系仍然很困难,但区块链观察员可以寻找共同面额以确定 CoinJoin 发生的位置,并建议他们的客户审查所有相关实体。

交叉输入聚合在这种情况下会有所帮助,因为它在协议层引入了额外的混淆机制。 从本质上讲,交叉输入聚合可以构建基于 Schnorr 的 CoinJoin 交易,其中 n 个签名者在外部看来就像正常的单一签名者交易。 它还可以使 CoinJoin 更容易在流行的钱包中实施,而无需大量工程,这可能会增加网络的整体匿名性,或使用该技术的用户数量。

通用面额问题可以通过其他技术进一步解决,例如 Pay-to-EndPoint (P2EP),它将中本聪早期的隐私工作(参见 P2IP:)与 CoinJoin 相结合,其中发送方和接收方都为交易提供输入。 这项新技术值得单独发表,但您可以在此处 ()、此处 (@nopara73/pay-to-endpoint-56eb05d3cac6) 和此处 () 阅读更多相关信息。

P2EP 是向后兼容的,当与 Schnorr 结合时,它可以在比特币的底层实现足够的隐私。

一石二鸟

我们可以合理地假设比特币的大规模采用取决于其隐私保证的强度。 同时,闪电网络的火爆及其自身支持隐私支付的潜力,也为比特币挖完后未来的链上结算需求带来了不确定性。 因此,对隐私的需求和没有区块奖励的比特币的长期可持续性可能是当今比特币最令人担忧的两个问题。 值得庆幸的是,Schnorr 启用的隐私机制可以解决这两个问题。

我花了数千小时审查各种复杂的隐私技术,包括环签名、机密交易、Bulletproofs、zkSNARKs、STARKs 和 MimbleWimble 的不同实现。 虽然其中一些技术已经足够成熟,可以在比特币的基础层之上实施,但它们仍然具有独特的风险和权衡。 您可能听说过,比特币不喜欢硬分叉,这使得很难想象这些技术中的任何一种都可以实现。

人们似乎反复担心使用同态加密或非交互式零知识证明系统,因为它们阻止了比特币货币基础的完全可听性。 换句话说,在对交易价值进行编码时,很难验证比特币的供应上限是否真的是 2100 万个 BTC。 同样,当交易金额被隐藏时,通货膨胀错误和双重支出变得难以确定。 这是一个相当大的权衡,推动在比特币的基础层实施最先进的隐私可能会分裂社区。

但是,如果比特币的基础层获得足够的隐私,甚至不需要实施这些技术呢?

Schnorr 绝对可以帮助您。 如果大多数比特币交易都使用 Schnorr 的 P2EP 交叉输入聚合功能,则几乎不可能通过简单地查看区块链来消除特定发送者和接收者的混淆。 比特币的供应仍将是可审计的,但其交易也将提供更强的隐私保证。

如果需要隐私,也可以合理地假设比特币用户和企业可能都希望被动地参与 CoinJoin 交易,并让他们的钱包在后台不断地混合他们的余额。 在这种情况下,对隐私的需求直接转化为链上交易费用的增加。 与 SegWit 一样,用户最有可能首先支持采用该技术,但企业必须在某个时候效仿才能保持相关性。

随着时间的推移,采用这些技术将使区块链分析过时,并有效地将其从比特币业务所需的 AML/KYC 程序中移除,就像实物现金一样。 当您将现金存入您的银行账户时,银行不会检查钞票是否有毒品痕迹,如果发现它们会冻结您的存款。 随着区块链分析的普及,再加上 Schnorr 的 CoinJoin 等技术的不足,没有理由认为比特币已经做到了这一点。

当对特定地址和 UTXO 执行 AML/KYC 变得无关紧要,并且重点转向个人而不是余额时比特币使用的数字签名方案叫什么,比特币业务将完全拥抱隐私。 事实上,我怀疑当这种情况发生时,隐私和可替代性将成为比特币未来企业价值主张不可或缺的一部分。

最终,在比特币基础层之上采用更强大的隐私机制将进一步赋予其用户权力,同时有助于在最后一个比特币被开采后创造一个充满活力的交易费用市场。 我的猜测是,这一切都始于 Schnorr 的激活,似乎每个人都参与其中。

-结束-

作者:感谢 Pieter Wuille 对本文的慷慨反馈,以及他教我有关 Schnorr 的知识。 自从他发表评论以来,我做了很多更改以简化此处介绍的关键概念。 *本文中的任何错误和意见都是我的*