主页 > imtoken官网怎么找到 > 了解比特币协议的重要里程碑:Schnorr 签名和 Taproot 软分叉升级

了解比特币协议的重要里程碑:Schnorr 签名和 Taproot 软分叉升级

imtoken官网怎么找到 2023-06-07 06:54:46

比特币协议的升级可能预示着未来 3 到 5 年的趋势。 虽然大家并不关心比特币的技术迭代,而是更关注安全性和主流接受度,但大家最终都会从这次升级中受益。

你认为在技术上毫无亮点的比特币协议终于迎来了值得关注的技术升级。 比特币协议中具有里程碑意义的技术升级,Schnorr Signature(施诺尔签名)和Taproot(树的主根)已经集成到刚刚发布的Bitcoin Core 0.21中。 它将影响未来3到5年的比特币生态,尤其是机构用户和多重签名的各种应用场景。

当然,目前比特币协议的重要关键词是“稳定”和“安全”,所以即使在这些技术上线之后,社区和生态通常还是比较谨慎的。 必要的风险和漏洞。

由于本次升级需要通过软分叉才能激活,后续仍需依赖矿池和矿工对提案的支持。 至少目前,矿池和矿工相当活跃,90%以上的算力已经释放。 宣布支持升级。

Schnorr Signature是以德国数学家和密码学家Claus-Peter Schnorr的名字命名的数字签名算法。 由于在2008年之前受到专利保护比特币协议,中本聪在设计比特币协议时并没有使用这个签名算法。 选择了在当时比较适用且开源的椭圆曲线数字签名算法(ECDSA)。

然而,十多年后,比特币核心开发者认为,Schnorr Signature 是比特币的未来,因为它在密码学上的优势,可以在几乎相同(甚至更好)的安全性的基础上更加方便。 以“低调”的方式构建多重签名交易,也可以为昂贵的区块节省大量空间。

除了签名算法,比特币协议中还设计了一种脚本语言来定义如何使用比特币。 Taproot 是一种新的脚本语言系统,可以在 Schnorr Signature 的特性下让比特币更加强大,同时也设计了 Tapscript 脚本语言来微调比特币的消费方式——具体的技术细节,这里不继续展开。

在这些技术的结合下,比特币多重签名地址可以在不暴露其“多重签名”身份的情况下支持大量的多重签名场景。 同时,它们在经济层面也有一些优势,可以减少链上交易。 成本,特别是对于需要高频操作的地址,可以节省很多成本。

比特币协议是如何升级的?

在介绍Schnorr Signature和Taproot之前,有必要回顾一下比特币协议升级的流程步骤。 毕竟,这是一个比其他区块链网络升级频率要低很多的事件,甚至很多区块链从业者也不是很了解。 .

粗略地说,比特币协议的升级分为六个阶段:

第一阶段:一切都源于一个想法或一个创新的想法,然后比特币的核心开发人员将在电子邮件中进行初步阐述和讨论。 第 2 阶段:提交 BIP(比特币改进提案)草案,可通过 GitHub 存档。 第三阶段:核心开发人员在邮件中详细讨论提案,涉及所有技术细节或可能存在的问题和挑战。 第四阶段:进入正式开发阶段,后续测试,为比特币核心客户端添加功能。 第五阶段:投票,然后等待网络逐渐激活,也就是最后的上线。 第六阶段:第三方应用集成支持。 如果我们回顾一下比特币之前比较重要的协议升级,我们会发现新特性的采用率并不高,而且通常在 3 年后只有很低的采用率。

比特币转错到比特币现金地址了_比特币协议_siteshilian.com 比特币协议

比如大约三年前的隔离见证(SegWit)升级,为区块提供了一点扩展,使用隔离见证地址可以降低一些转账成本。 根据 txstats.com 的数据,目前只有不到 8% 的比特币存储在隔离的见证地址中。 (数据源:)

出现这种情况,一方面是因为很多BTC资产可能已经丢失,或者对于大型机构来说,改造这个系统成本太大,也会引入一些不必要的风险,毕竟安全更重要。 然而,从积极的方面来看,网络上近一半的新交易都使用 SegWit。 (数据源:)

闪电网络协议也是比特币从2018年开始迭代更新的Layer 2扩展支付通道技术。目前这个网络的容量还处于非常小的规模(约1000个BTC),占比特币的不到10000个总比特币。 一。

所以对于Schnorr Signature和Taproot来说,虽然在最新的客户端中已经植入了这个功能,但是这个功能会不会被激活,在后续的生态中如何支持,还要看未来三五年的发展。 钱包、托管商、交易所、大型机构将根据自身的用户需求、安全需求、功能需求逐步引入。

布局三年多,由Blockstream领衔

当我们梳理比特币核心开发者对 Schnorr Signature 和 Taproot 的讨论和研究的时间线时,发现这个方案从提出到集成已经过去 3 年多了。

比特币转错到比特币现金地址了_比特币协议_siteshilian.com 比特币协议

虽然 Schnorr Signature 是 Taproot 实现的基础,但实际上是 Taproot 最先提出的——一套可以丰富比特币脚本的解决方案。 它最初是由 Blockstream 联合创始人 Gregory Maxwell 在比特币核心开发者邮件组中提出的。

半年后,Blockstream 的另一位联合创始人 Pieter Wuille 提出了 Schnorr Signature 来取代比特币现有的椭圆曲线签名(ECDSA)。 通过其独特的“线性”特性,可以实现密钥的聚合,提高区块验证的速度。

之后,这两项技术被合并为一个大计划,一起推广。 终于在去年初形成了BIP的三个正式版本并进入开发阶段:

BIP-340: Implement Schnorr Signature on the secp256k1 curve (注:比特币之前使用的椭圆曲线签名也是secp256k1) BIP-341: Taproot: Segregated Witness V1 version of the spending rules (注: 之前于2017年底推出在Segregated Witness升级中,使用了V0版本规则)BIP-342:Taproot脚本验证方法(注:本文档描述了部分比特币操作码的修改)虽然Gregory Maxwell和Pieter Wuille相继离开了Blockstream,但Schnorr Signature和Most of Taproot的核心参与者都来自Blockstream,除了Anthony Towns,他之前是Xapo的工程师,后来加入了投资机构Paradigm。

什么是 Schnorr 签名?

比特币协议中,判断用户是否有权使用某项资产时,除了“数字签名”算法这一经典的密码学成分外,还构建了一个基于“锁定脚本”和“解锁脚本”的概念。 .

在此之前,中本聪在设计比特币协议时,需要考虑签名算法的签名长度、是否开源、是否拥有专利、是否经过足够长时间的验证等各种条件,性能等,最终选择了椭圆曲线数字签名算法(ECDSA)在其他专家的建议下也选择了一种特殊的椭圆曲线secp256k1。

但是,能够满足上述条件的数字签名算法并不仅限于ECDSA,尤其是Schnorr Signature,是一种各方面都不亚于ECDSA的数字签名算法。 之前中本聪之所以没有采用,可能是因为Schnorr Signature的专利在比特币白皮书诞生的那一年就到期了。

没错,德国数学家、密码学家Claus-Peter Schnorr在1990年提交了相关专利申请并获得批准。 对于开源社区来说,这项技术在专利到期之前是无法被采用的。 在比特币协议实现的初始版本中,确实可以采用这种签名算法机制。

与ECDSA相比,Schnorr Signature更像是比特币签名算法该有的样子。 且不说性能提升和签名长度的优势,更重要的是它的“线性”特性,可以方便地进行密钥聚合,而不是使用其他特殊技术来实现多重签名。

这种“线性”也很容易理解。 通过简单的机制处理,可以聚合每个密钥的参与者,生成新的密钥。 并且这种聚合机制可以通过多种方式进行。 例如,Blockstream 提出了 MuSig 以及后来的更新版本 MuSig2。 在MuSig2方案中,多个签名可以从各自的私钥创建一个聚合公钥,然后共同为公钥创建一个有效签名,将原来的三轮交互(MuSig)优化为只有两轮交互。

比特币协议_比特币转错到比特币现金地址了_siteshilian.com 比特币协议

所以从一个2-3多重签名的交易来看,原来传统的方式需要三个公钥加两个签名才能发起一笔交易。

比特币转错到比特币现金地址了_比特币协议_siteshilian.com 比特币协议

在Schnorr Signature场景下,链上交易只需要一个聚合公钥和一个签名,同时可以减少很多交易字节,也就是降低转账成本。

比特币转错到比特币现金地址了_比特币协议_siteshilian.com 比特币协议

因此,这可以带来两个额外的优势:隐私和超级多重签名。

由于只需要暴露一个签名和公钥比特币协议,对于一个使用Schnorr Signature的地址,很难判断这个地址是否是一个多重签名地址,所以无法知道多重签名的组成是什么。 对于外部观察者,这是一个普通地址。

对于之前的比特币脚本,在交易过程中需要暴露一些多重签名的细节,所以这也是为什么可以知道地址的多重签名组成的原因。

比特币转错到比特币现金地址了_siteshilian.com 比特币协议_比特币协议

BitInfoCharts的比特币富豪榜,后面的小标记标示了多重签名地址和多重签名规则

之前由于脚本的限制,无法支持大量的多重签名,而由于实现了Schnorr Signature,这可能会开启很多以前无法想象的应用场景,比如用一个几百个地址的规模来实现更去中心化或者更多样化的资产托管等。但是,这可能会增加链下交互的复杂性,我们只能希望MuSig2的这些机制能够更快地发展和迭代。

什么是主根?

Taproot 是一种新的比特币脚本结构,它定义了如何使用和接收地址来进行类似 Taproot 的交易。 它最早的概念来自于比特币开发者提出的MAST(Merkel Abstract Syntax Tree),因此Taproot可以看作是MAST的一种特殊实现。

与之前的比特币脚本逻辑相比,MAST 概念的主要优势在于可以以更私密的方式实现更多样化的逻辑。

siteshilian.com 比特币协议_比特币协议_比特币转错到比特币现金地址了

在构建 MAST 结构时,它可以支持大量脚本。 这里以两个为例,用户可以预先准备一个主支付脚本和一个备用支付脚本,最后生成一个递归的MAST根哈希值。 花费此资产时,用户可以解锁主要支付脚本而无需透露备用支付脚本的详细信息,而是使用其哈希值。

这意味着无论MAST根有多复杂,包含多少种解锁方案,用户在解锁资产时只需要暴露其中一种脚本,其他更多的逻辑都可以体现在哈希值中,而无需暴露其他任何脚本细节。

说到Taproot,其实质也差不多。 而这需要签名算法的“线性”特性,所以Taproot需要绑定Schnorr Signature。

Taproot 也是 Segregated Witness 的延续

比特币协议中,“锁定脚本”(输出脚本)定义了如何接收比特币(UTXO)的规则,“解锁脚本”(输入脚本)定义了如何使用比特币(UTXO)的规则。 如果前者是Create a lock,则后者是key。

三年前隔离见证(Segwit)升级期间,比特币的脚本规则进行了大规模升级,提出了两条新的脚本规则:P2WPKH(Pay to Witness Public Key Hash)和P2WSH(Pay to Witness Script Hash),也就是说,那些以 bc1 开头的地址现在采用上述脚本规则之一。 P2WPKH一般用于普通地址,P2WSH一般用于多重签名地址。

另外,在Segregated Witness的升级中,脚本中也保留了版本号的概念。 之前所有的Segwit脚本规则都是使用V0作为版本号,所以也可以称为Segwit V0。 Taproot在Segwit框架上升级,版本号升级到V1,也就是BIP 341标题中Segwit V1的由来,或者这套脚本规则也可以叫做P2TR(Pay to Taproot)来对应P2WPKH 和 P2WSH 名称。

比特币转错到比特币现金地址了_siteshilian.com 比特币协议_比特币协议

例如某笔交易,输出脚本中的Segwit版本号为V0

甚至可以构建多样化的多重签名系统

在 Schnorr Signature 和 Taproot 的结合下,构建多重签名的方式多种多样。 例如,比特币布道者 Steve Lee 介绍了 () 两种方法,即阈值签名和穆西格密钥树(Musig Keytree)。

例如,对于一个交易所的热钱包,可能可以通过三个私钥进行2-3次多重签名,分别是“交易所私钥”、“可信第三方私钥”、“冷钱包备份私钥” . ”。

在门限签名中,多个签名者需要使用MuSig机制预建支付地址; 使用时,将两个签名聚合起来实现交易。

比特币协议_siteshilian.com 比特币协议_比特币转错到比特币现金地址了

在树状结构(Musig Keytree)中构建多重签名可以充分利用Taproot和MAST的优势。 BTC 也可以在三种情况下使用。 一种消费方法放在MAST外部,另外两种方法存储在MAST的两个节点中,构造接收地址。

siteshilian.com 比特币协议_比特币协议_比特币转错到比特币现金地址了

如果你有交易所密钥和第三方密钥的签名,你可以绕过 MAST 树结构,直接生成一个聚合的 Taproot 签名来花费这笔交易。

siteshilian.com 比特币协议_比特币转错到比特币现金地址了_比特币协议

或者用户可以通过解锁“第三方密钥+冷钱包密钥”的脚本并在MAST树的另一侧添加脚本的哈希来构建Taproot签名来花费交易。 当然,用户消费还有第三种方式,也是同样的逻辑。

比特币转错到比特币现金地址了_比特币协议_siteshilian.com 比特币协议

兼容性:没问题

Schnorr Signature和Taproot需要以软分叉的形式进行升级,即旧版本的协议和客户端可以继续运行,无需做其他调整。

但是,未升级的节点无法验证Segwit V1版本的Taproot脚本,并将其视为任何人都可以花费的脚本(anyone-can-spend scripts)。 对于那些没有升级的钱包,可以继续接受和发送SegWit V0版本的隔离见证地址,或者更早的传统地址类型(P2PKH)。 对于部分实现 BIP 173(Bech32 地址)逻辑的钱包,可能支持将 BTC 发送到 Taproot(Segwit V1)地址。

但是,核心开发人员仍然鼓励大家升级以支持验证这些新型交易。

矿工算力支持率已超过90%

软分叉通常可以通过多种方式激活。 此前,使用BIP 9的规则激活多个软分叉,需要大量的算力才能发出支持信号,BIP 8也遵循类似的规则。

所以最终这个方案的推出还是需要矿工和矿池投票激活。 根据Coinin Pool整理的Taproot软分叉升级算力支持情况,目前支持度已经超过90%。 至于具体选择哪种激活规则,很多矿池都没有公开确认。

比特币协议_siteshilian.com 比特币协议_比特币转错到比特币现金地址了