Cointime

扫码下载App
iOS & Android

从入门到深入:带你全面认识 ANYPREVOUT

媒体

作者:Che Kohler 编译:Cointime.com 237

随着比特币发展成为一个价值数十亿美元的网络,并且每天进行数十亿美元的交易,可以理解到任何提议的变化都将受到严格审查。人们在比特币中投资的价值以及通过结算交易创造的价值都太重要了,不能轻率地对待任何代码更改。

此外,我们正在使用以前从未使用过的工具,我们不知道市场将如何接收任何更新。这使得协议变更成为一个非常复杂的话题。一个例子就是2016年至2017年之间围绕SegWit2x提议和Taproot进行的激烈讨论。

随着比特币的发展,推动通过越来越难,尤其是那些需要软分叉的BIP(Bitcoin Improvement Proposal)。例如,SIGHASH_ANYPREVOUT 及其前身已经自2016年开始被讨论。

比特币代码基础的僵化确保只有经过充分检验的想法才能通过,而其他想法则会被推到二层解决方案,而不是拖累基础链。

但这并不意味着我们将来不会看到比特币升级的提案,也不意味着它们不会作为比特币核心的更新版本合并到代码库中。

现在你对升级有了一些了解,让我们看一下 BIP-118 以及为什么它已经存在这么长时间了。

什么是ANYPREVOUT?

考虑到人们对简单契约和更好的离链协议的兴趣和需求,BIP118 是一个可能有益于比特币并符合其扩展方向的软分叉候选方案。

BIP 118 最初于2017年编写,当时被称为 SIGHASH_NOINPUT。这个提议最初是由闪电网络白皮书的作者(Joseph Poon 和 Thaddeus Dryja)提出的,旨在解决一种被称为“交易可篡改性”的问题,后来由 SegWit 解决了。

BIP-118 提议了一种软分叉,允许交易不仅花费特定的先前交易输出,而是使用相同签名密钥的任何交易输出,在 SIGHASH_ANYPREVOUTANYSCRIPT(APOAS)的情况下,或者花费具有特定金额和脚本的输出,在 SIGHASH_ANYPREVOUT(APO)的情况下。

只有引用新的公钥类型前缀的 Taproot 交易的 Taproot 脚本路径支出才能启用使用这两个签名哈希。

ANYPREVOUT 是一个签名哈希标记,允许使用一个签名来花费具有相同脚本的任何未花费交易输出(UTXO)。这意味着签名不需要特定于被花费的 UTXO,这在某些情况下非常有用。

简而言之,ANYPREVOUT 允许不签名与先前交易相关的部分信息。具有这种类型签名哈希标记的交易不会与过去的交易关联,并且可以花费具有相同公钥(或花费条件)的任何比特币地址中的比特币。

ANYPREVOUT 的工作原理

ANYPREVOUT 的工作原理是将输入的 scriptPubKey、序列号和要花费的输出金额进行哈希处理。然后使用该哈希对交易进行签名。

在稍后验证交易时,将检查签名是否与 scriptPubKey 和序列号匹配。如果签名有效,则认为交易有效。

使用ANYPREVOUT的好处

使用ANYPREVOUT有几个好处。首先,它可以简化创建交易的过程。

例如,假设您要创建一笔将花费相同脚本的多个UTXO的交易。在这种情况下,您可以使用ANYPREVOUT一次签名整个交易,而不是逐个签署每个UTXO。

其次,ANYPREVOUT可以提高交易的隐私性。当您使用常规签名哈希标记时,签名是特定于被花费的UTXO的。这意味着如果有人知道被花费的UTXO的哈希,他们也可以知道签名。然而,通过使用ANYPREVOUT,签名与被花费的UTXO无关,因此对于某人来跟踪您的交易更加困难。

另一个用例是“契约”的替代形式,而不是CHECK TEMPLATE VERIFY。这些契约可以实现更复杂的智能合约,如盲目状态链、空间链、创建更安全的比特币保险库或使用Eltoo。

契约是一种确保只有在特定条件下才能花费某笔交易的方式,可以利用这个小技巧,在交易的输出中嵌入用于第 t+1 个交易的签名。

使用ANYPREVOUT的缺点

使用ANYPREVOUT也有一些缺点。

首先,问题是一旦广播了交易,就无法撤销或“收回”先前签名的交易。您只能签署一个新交易,并赋予其更新或取消先前交易的权限,如果有人试图使用它,但您无法收回先前的交易。

其次,不是所有比特币钱包都支持ANYPREVOUT。这意味着如果您想使用ANYPREVOUT,必须确保您的钱包和接收方的钱包支持它。

软分叉和向后兼容性

旧版软件将在软分叉的情况下继续运行,无需进行修改,不希望处理这些功能的用户可以继续正常使用。

未升级以支持BIP 341的节点将把所有Taproot见证程序视为任何人都可以花费的脚本;已经升级以支持BIP 341和BIP 342但未升级以支持BIP 118的节点将把针对BIP 118公钥的任何非空签名视为有效。

因此,鼓励节点升级以完全验证新公钥类型的签名。

未升级的钱包可以与未升级和升级的钱包之间进行比特币的接收和发送,使用SegWit版本0程序、传统的支付至公钥哈希等方式。

根据实现方式,如果非升级的钱包支持向BIP350 Bech32m地址发送,并且不会因为认为输出是非标准的而阻止交易广播,则可能能够发送到SegWit版本1程序。

更平滑地在链上和链下过渡

ANYPREVOUT在某些情况下是一个有用的功能,尽管现在可能不太流行,但它在未来肯定会产生影响。如果我们吸引更多的比特币用户,链上和各种链下协议之间的流动将需要更加平滑,否则您的扩展解决方案将无法充分发挥其影响。

假设您在高费用/竞争激烈的区块空间环境中仍然使用传统的链上交易,那么您要么被限制在第二层封闭的生态系统中,直到费用合理,要么等待着在链上和链下之间进行转移,这对于比特币来说并不是一个理想的情况。

BTC
评论

所有评论

推荐阅读

  • BTC突破81000美元

    行情显示,BTC突破81000美元,现报81002美元,24小时跌幅达到2.94%,行情波动较大,请做好风险控制。

  • 美国现货比特币ETF昨日净流出2.614亿美元

    10月15日,据Farside Investors监测数据,美国现货比特币ETF昨日净流出2.614亿美元。

  • 美国现货以太坊ETF昨日净流出1.295亿美元

    10月15日,据Farside Investors监测数据,美国现货以太坊ETF昨日净流出1.295亿美元。

  • 过去1小时全网爆仓4.76亿美元,主爆多单

    数据显示,过去1小时全网爆仓4.76亿美元,其中多单爆仓4.57亿美元,空单爆仓1979.45万美元,主爆多单。其中ETH爆仓2.00亿美元,BTC爆仓1.16亿美元。

  • BTC跌破81000美元

    行情显示,BTC跌破81000美元,现报80989.9美元,24小时跌幅达到2.87%,行情波动较大,请做好风险控制。

  • ETH跌破2400美元

    行情显示,ETH跌破2400美元,现报2395.62美元,24小时跌幅达到4.47%,行情波动较大,请做好风险控制。

  • 美国考虑放宽对影子船队的制裁,以降低海运费率

    10月15日,一名美国官员当地时间周三表示,特朗普政府正在考虑放宽针对所谓“影子船队”船只的制裁。这些船只曾运输来自俄罗斯、伊朗和委内瑞拉等国的石油及石油产品。此举旨在降低目前处于历史高位的全球海运费率。此前不久,美国总统特朗普刚刚暂时解除了针对俄罗斯柴油的制裁。这一决定招致了乌克兰总统泽连斯基、欧洲多国政府,以及特朗普所属的共和党内部分参议员的强烈批评。该美国官员透露,目前的讨论重点在于,美国是否允许此前遭制裁的船只运输“合法石油”。这里的“合法石油”是指未受到美国制裁的原油或石油产品,而非受到制裁措施限制的俄罗斯和伊朗石油。该官员表示,此举旨在推动更多成品油和原油从海湾地区运出。(金十)

  • 韩国股指开盘大跌逾5%

    10月15日,韩国KOSPI指数跌破6000点,日内跌5.59%。SK海力士跌超7%,三星电子跌超6%。(金十)

  • 美元指数抹去CPI报告公布以来的所有涨幅

    10月15日,美元指数DXY在亚盘初缓慢下跌,已完全抹去昨日美国9月CPI数据公布以来的所有涨幅(最高累计上涨约70点),现报102.16。英镑兑美元GBP/USD及欧元兑美元EUR/USD涨约0.3%,现分别报1.3231和1.1197。(金十)

  • BTC跌破82000美元

    行情显示,BTC跌破82000美元,现报81984.48美元,24小时跌幅达到2.01%,行情波动较大,请做好风险控制。