主页 > 最新版imtoken官网 > 比特币 Taproot 升级终于来了!一篇文章了解它的过去、现在和未来

比特币 Taproot 升级终于来了!一篇文章了解它的过去、现在和未来

最新版imtoken官网 2023-07-31 05:14:23

Taproot 升级对比特币有什么影响?

早在 2018 年初,Gregory Maxwell 提出 Taproot 方案后,国内比特币社区就对该方案进行了早期报道。当时社区的重点是:

“实施主根升级后,闪电网络将变得更加私密,这使得 LN 交易与所有比特币交易无法区分,因此人们将无法区分比特币的链上交易和闪电网络的链下交易”。

应用Taproot的前提是需要先实现Schnorr签名方案。

2019 年,除了提升比特币的隐私性,Taproot 解决方案被社区赋予了新的使命——扩展比特币智能合约的灵活性。因此,Taproot 升级和 Schnorr 签名被宣传为“比特币下一阶段的重要技术”。

2020 年 1 月,Bitcoincore 代码库的维护者之一 Pieter Wuille 正式发布了 BIP340‌、BIP341‌ 和 BIP342‌,包括 Taproot/Schnorr 软分叉升级。于是,这两个升级方案开始逐渐进入比特币用户的视线。视觉。

比特币taproot是什么意思

今年6月,支持Taproot升级的比特币全网算力超过90%,满足锁定升级的最低要求,这也意味着Taproot在比特币区块高度(预计在北京时间11月13日左右正式与大家见面)。

关于 Taproot 和 Schnorr 签名的一些有趣事实

1、比特币最初使用的是ECDSA签名方案,但实际上Schnorr签名比ECDSA签名诞生得更早。我们说 Schnorr 签名是对比特币原始 ECDSA 签名的升级,因为它们可以更轻松地实现各种加密技术。按时间顺序,Schnorr签名算法的诞生要早于ECDSA所基于的DSA算法。而中本聪使用 DSA 部分是为了规避 ClausPeterSchnorr 的 Schnorr 签名专利,该专利于 2011 年到期。

2、虽然不成功,但在比特币采用 Schnorr 签名的早期发展中,有人建议不要将 Claus-Peter Schnorr 这个名字与比特币联系起来比特币taproot是什么意思,因为他的专利导致了这种有价值的密码学尚未被广泛使用了20多年。 Pieter Wuille 曾经说过:

“我们确实考虑过将 BIP340 称为 DLS(离散对数签名),但最终我们没有这样做,因为 Schnorr 这个名字已经被谈论得太多了。”

比特币taproot是什么意思

3、Paytocontract:IljaGerhardt 和 TimoHanke 创建了一个名为 Paytocontract 的协议,由 Hanke 在 2013 年圣何塞比特币会议上提出,该协议允许支付承诺其合约的哈希值。任何拥有合同副本和用于避免某些攻击的 nonce 的人都可以验证承诺,但在其他人看来,付款类似于任何其他比特币付款。

2014 年关于侧链的论文中包含对这种按合同付费 (P2C) 协议的轻微改进,其中承诺还包括原始支付公钥,并且 Taproot 使用相同的结构。

Taproot 落地后,未来比特币共识可能发生变化

激活 Taproot 后,开发者会对比特币做出哪些共识层改进?

1、交叉输入签名聚合:Schnorr 签名允许多个不同公钥和私钥对的所有者轻松创建单个签名,以证明所有密钥所有者在签名时创建了协作。随着未来共识的变化,这可能允许交易包含单个签名,该签名可用于证明该交易中使用的所有 UTXO 的所有者已授权使用。这将在第一次进入后为每个 keypath 成本节省大约 16 个虚拟字节 (vbytes),从而节省集成和合并的成本。它甚至可以使基于coinjoin的支付比常规支付更便宜,从而温和地激励使用更多的私人交易。

比特币taproot是什么意思

2、SIGHASH_ANYPREVOUT:每个正常的比特币交易都包含一个或多个输入,每个输入都使用其 txid 来引用前一个交易的输出。这会告诉一个完全验证节点(例如 BitcoinCore)该交易的成本是多少,以及需要满足哪些条件才能证明该支出是经过授权的。为比特币交易生成签名的所有方式,无论是否有主根,要么提交到 prevout 中的 txid,要么根本不涉及 prevout。对于不想使用精确的、预先安排的一系列事务的多用户协议来说,这是一个问题。如果任何用户可以跳过特定交易,或更改除见证验证数据之外的任何交易的任何细节,这将更改任何后续交易的 txid。更改 txid 会使之前为未来交易创建的任何签名无效。这迫使链下协议实施惩罚任何提交旧交易的用户的机制(例如 LN 的惩罚机制)。

而 SIGHASH_ANYPREVOUT‌通过允许签名跳过对 prevouttxid 的提交来消除此问题。这使得实现闪电网络 (LN) 的 eltoo 层以及改进保险库和其他合约协议成为可能。

3、委托和归纳:创建脚本(taproot 或其他)后,您几乎无法授权其他人使用该脚本,除了将私钥提供给其他人(非常危险) 此外,对于想要使用 keypath 成本加上一些基于脚本的条件的用户来说,taproot 可以变得更加经济。开发人员提出了几种通过泛化和提供签名者委托来增强主根的方法:

(1)Graftroot:Graftroot是在taproot的想法之后不久提出的,该方案将为任何可以制作taproot路径的人提供附加功能。Keypath签名不是直接花费资金,而是一个人可以签署一个脚本,描述可以使用资金的新条件比特币taproot是什么意思,将支出权限委托给任何能够满足脚本要求的人。签名、脚本以及满足脚本所需的任何数据,将在交易中提供. Keypath 签名者可以通过这种方式委托给无限数量的脚本,而无需创建任何链上数据,直到发生实际支出。

(2)Generalized taproot(g'root):几个月后,Anthony Towns 想出了一种方法,可以使用公共关键点来承诺多种不同的支付条件,而不必使用 MAST 结构之类的东西。这个广义的主根(g'root)构造“在主根假设不成立的情况下可能更有效”,此外还提供了一种构建软分叉安全交叉输入聚合系统的简单方法。

比特币taproot是什么意思

(3)Entroot:Graftroot 和 g'root‌ 的最新合成方案,简化了许多情况并提高了带宽效率。

4、新旧操作码(操作码):taproot 软分叉包括对 tapscript 的支持,它提供了一种改进的方式来向比特币添加新的操作码,即 OP_SUCCESSx 操作码。一些提议的新操作码包括:

(1)恢复旧的操作码:由于担心安全漏洞,2010 年开发人员禁用了一些用于数学和字符串操作的操作码。许多开发人员希望在安全审查后重新启用这些操作码,并且操作码可能会被扩展(在某些情况下)处理更大的数字。

(2)OP_CAT:一个值得特别提及的之前禁用的操作码是 OP_CAT‌,研究人员发现它可以单独在比特币上启用各种有趣的行为,或者以有趣的方式与其他新的操作码结合。

(3)OP_TAPLEAF_UPDATE_VERIFY:当与 taproot 的 keypath 和 scriptpath 功能一起使用时,OP_TLUV 操作码以一种特别有效和强大的方式启用契约。这可用于实现 JoinPool‌、Vault 和其他安全和隐私改进。它也适用于 OP_CHECKTEMPLATEVERIFY‌。

比特币taproot是什么意思

请注意,以上所有想法仍然只是提案,并不能保证它们会成功应用,需要研究人员和开发人员完成每个提案,然后由用户决定这些功能是否值得改变比特币的共识规则。

相关信息:

1、

2、

3、

4、