当前位置:首页 > 知识 >

深入了解比特币Taproot升级的重要性、内容和影响

吴说作者:袁奔 本期编辑:ColinWu

近期(2021年11月14日左右),比特币将迎来自己的一次重要的软分叉升级Taproot。超过90%的矿工同意了这次升级,因此不太可能会出现类似SegWit升级时的社区分叉论战。尽管这次升级似乎没有引起太多关注,但也有许多文章称其为最重要的升级。

Taproot升级究竟是什么?它是否真的令人激动不已?

Taproot本身是主根系植物的意思,大概就像下图所示。Taproot提出者Gregory Maxwell解释说,他希望比特币交易支付的过程中,能够像主根系植物一样,关注主要的根,而隐藏不必要的细小分支。

不论是哪种区块链进行升级,最终都是为了解决区块链中的不可能三角问题。这个概念是由Vitalik在一篇名为《Onshardingblockchains》的文章中提出的。它指的是,在区块链网络中同时实现去中心化、安全性和性能(效率、扩展性)这三个条件是非常困难的。通常情况下,如果我们提升其中两个条件,就必须以牺牲第三个条件为代价。

而这次的Taproot升级也不例外。Taproot升级主要解决了两个问题。首先,它进一步提高了比特币的匿名性,从而提升了安全性。其次,它通过改变区块的数据结构来提升交易的性能,减少交易中不必要的数据负担。

Taproot升级由三个相辅相成的BIP(比特币改进提案)组成,包括Schnorr签名(BIP340)、Taproot(BIP341)和TapScript(BIP342)。

Schnorr签名是由德国密码学家Claus Schnorr提出的,但由于专利问题,直到2008年才能免费使用。因此,2008年诞生的比特币选择采用了ECDSA签名。目前看来,Schnorr签名在性能和安全性方面几乎全面超越了ECDSA签名。而且,Schnorr和ECDSA采用相同的椭圆曲线算法,所以在升级的问题上更容易实施。Schnorr签名的亮点之一是对交易输出层面的聚合签名。

在多重签名的情况下,我们通常需要在交易数据中放入多个签名。特别是当签名数量较多时,这将增加交易费用和内存负担。但是利用聚合签名,我们可以将多个签名组合成一个签名。类似地,在Schnorr签名下,我们还可以对公钥进行聚合,极大地提高了比特币网络在交易时的性能。

在验证过程中,传统的ECDSA签名只能进行逐个验证。但是由于Schnorr签名的聚合特性,可以在节点上进行批量验证。

Taproot旨在提升比特币地址的匿名性,使所有地址看起来都一样,无法从地址分析交易类型。使用Taproot可以合并独立的P2PKH和P2SH,使彼此无法区分,但交易费用相同。同时,Taproot利用了Schnorr的思想,在创建默克尔抽象语法树(MAST)方面起到了关键作用。在以前的情况中,如果一个交易设置了条件,要求A在30天前发起交易,B在30天后发起交易,无论谁发起了交易,都会暴露A和B的信息。而在MAST中,只有使用了交易的用户会被暴露,另一个用户的信息将被隐藏,这大大保护了用户的隐私。

BIP342是关于Taproot脚本实施的具体内容,它增加了一些操作码,用于执行、部署Taproot、Schnorr、软分叉等代码层面的功能,如「OP_CHECKSIGADD」。它禁用了低效的操作码「OP_CHECKMULTISIG」和「OP_CHECKMULTISIGVERIFY」。它还修改了「OP_CHECKSIG」和「OP_CHECKSIGVERIFY」以提供Schnorr的功能。总体上,它完善了比特币脚本的内容,以适应Taproot升级。

总结起来,Taproot升级确实有一些亮点,但更像是对SegWit遗留问题的完善和补充。正如BIP-0341中所描述的,Taproot只是SegWit输出层面的一种新解决思路。

另一个问题是,Taproot升级是一个软分叉,Schnorr签名的真正激活也要到明年才开始。因此,Taproot本身的升级过程并不是短时间内完成的。如果P2TR(Taproot下的地址)未能成为主流,那么P2TR显然无法达到匿名化的目的。

此外,还有一种观点质疑Taproot的实际效果,认为它会导致地址空间的碎片化,使得攻击者更容易分析。

对于普通用户来说,Taproot最直观的好处是降低交易费用,提升交易的匿名性和效率。无论如何,Taproot的升级对比特币会带来怎样的影响,是否能达到预期目标,只有时间来验证。

猜你喜欢

关注我们

微信二维码

微信