2021-11-07 01:39 | 出处: 区块链初心
据消息,比特币Taproot升级将于11月16日生效。
被视为比特币数年来“最雄心勃勃的升级”, Taproot 在业内尤其是比特币爱好者的眼中确实代表着着非比寻常的意义,甚至是“目前为止比特币协议升级提议中最具重要性的一次”。
但与引起行业大辩论的以太坊 EIP 1559 提案相比,Taproot 升级引发的行业声量并不大,不少朋友甚至都没怎么听说过,那究竟什么是 Taproot 升级,它又将为比特币带来怎样的改变?
01什么是 Taproot 升级?
Taproot激活
比特币每隔段时间就会更新一次(网络软分叉),主要通过比特币改进提案(BIPs)的形式为比特币引入新功能和信息。
而此次最新的 Taproot 升级,就是三个BIPs的汇编“升级包”,也即 Taproot 升级包含了Schnorr签名(BIP 340)、Taproot (BIP 341)和Tapscript (BIP 342)三个部分:
1、BIP340 — Schnorr签名
Schnorr 签名计划长期以来一直列在许多比特币开发者的愿望清单上,作为由德国数学家和密码学家ClausSchnorr开发的密码学数字签名方案,主要以其生成短签名的简便性和效率著称。
Schnorr签名的主要优点之一是它们能够在复杂的比特币成交中获取多个密钥并产生唯一签名。这意味着涉及多方的签名可以被“汇总”成单一的Schnorr签名,所以被称为聚合签名。
所以一言以蔽之,Schnorr签名主要是节省空间、减少费用,也被誉为比特币Segwit后的最大技术更新。据消息,比特币Taproot升级将于11月16日生效。
被视为比特币数年来“最雄心勃勃的升级”, Taproot 在业内尤其是比特币爱好者的眼中确实代表着着非比寻常的意义,甚至是“目前为止比特币协议升级提议中最具重要性的一次”。
但与引起行业大辩论的以太坊 EIP 1559 提案相比,Taproot 升级引发的行业声量并不大,不少朋友甚至都没怎么听说过,那究竟什么是 Taproot 升级,它又将为比特币带来怎样的改变?
01什么是 Taproot 升级?
Taproot激活
比特币每隔段时间就会更新一次(网络软分叉),主要通过比特币改进提案(BIPs)的形式为比特币引入新功能和信息。
而此次最新的 Taproot 升级,就是三个BIPs的汇编“升级包”,也即 Taproot 升级包含了Schnorr签名(BIP 340)、Taproot (BIP 341)和Tapscript (BIP 342)三个部分:
1、BIP340 — Schnorr签名
Schnorr 签名计划长期以来一直列在许多比特币开发者的愿望清单上,作为由德国数学家和密码学家ClausSchnorr开发的密码学数字签名方案,主要以其生成短签名的简便性和效率著称。
Schnorr签名的主要优点之一是它们能够在复杂的比特币成交中获取多个密钥并产生唯一签名。这意味着涉及多方的签名可以被“汇总”成单一的Schnorr签名,所以被称为聚合签名。
所以一言以蔽之,Schnorr签名主要是节省空间、减少费用,也被誉为比特币Segwit后的最大技术更新。2、BIP 341 — Taproot
Taproot 是在 Schnorr 签名基础上的解决方案,它可以包含复杂的成交条件和资金使用细节,再把所有这些内容作为一个新的资金使用条件(新的锁)提供给外界使用,这个新的使用条件和该使用条件下的解锁方法(新的钥匙)是通过 Schnorr 的线性特征来支持的。
这就为用户提供了消费(不是收款)时,在复杂的任意脚本和简单地支付到公开密钥之间进行选择的能力,此外密钥聚合还使所有的Taproot输出看起来类似。
所以由于多重签名输出、单签名输出和其他复杂智能合约在区块链上看起来都是一样的,许多区块链分析将不可用,从而为所有Taproot用户保留隐私。
3、BIP 342 — Tapscript
BIP 342添加和更新了几个操作码,这些操作码是指定要执行的操作的机器语言指令的一部分。这些新脚本有助于验证Taproot开销和Schnorr签名,统称为Tapscript,最大限度地提高了P2TR支出的灵活性,也有利于未来的升级。
它将提高脚本功能和隐私,可以通过在支出时只显示合约的相关部分,来帮助使智能合约更加高效和私密。
简言之,Tarpoot 升级的核心就在于 Schnorr 签名,而 Taproot 在Schnorr 签名算法的基础,可以为比特币带来性能、隐私乃至智能合约方面的全新组合和可能性。
02Tarpoot升级比特币协议升级提议中最具重要性的一次众所周知,比特币是通过数字签名来解锁 UTXO 中的未花费余额从而完成兑换,具体可以对一笔兑换进行简单拆解——以A转给B一个比特币为例,实际过程可分为“解锁”、“加锁”两步:
解锁:A提供自己的私钥,而完成解锁,从而证明这一个比特币属于自己并可以调用;
加锁:A用B的公钥把这一个比特币加锁,然后转给B,从而只有B能够用它自己的私钥进行解锁使用;
也即比特币需要利用公钥进行加锁,利用私钥进行解锁,从而实现加密货币的转账兑换,而公钥、私钥的产生则是通过数字签名算法,而上面提到的 Schnorr 签名就是新的签名算法。
它最突出的特点在于可以把多个公钥或多个私钥签名聚合成一个新的公钥或一个新的签名,可以简单理解为把多个需要同时解开的锁变成一个锁,把用于解锁的一串钥匙变成一把钥匙。
所以从这个角度讲,被视为“比特币协议升级提议中最具重要性的一次”的Tarpoot “升级包”,对比特币所能比特改变可能是多方面的。