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
评论

所有评论

推荐阅读

  • 以太坊基金会:拟出售 5000 枚 ETH 用于资助研发、拨款和捐赠

    Cointime 报道,4月8日,以太坊基金会在 X 平台发文表示,今日将通过 CoWSwap 的 TWAP 功能将 5000 枚 ETH 兑换为稳定币,作为持续资助研发、拨款和捐赠工作的一部分。

  • 伊朗将向过境霍尔木兹海峡船只收取费用,可用数字货币支付

    Cointime 报道,据市场消息,伊朗石油、天然气和石化产品出口商联盟发言人哈米德·侯赛尼周三表示,在为期两周的停火期间,伊朗将要求船只支付通行费才能通过霍尔木兹海峡,所有货物都可以通行,但每艘船的通关手续都需要时间���每艘油轮必须先通过电子邮件发送货物详情,才能被告知费用,可以用包括比特币在内的数字货币支付。

  • Polygon Labs正在洽谈融资1亿美元以支持旗下支付业务

    Cointime 报道,据知情人士透露,区块链开发商Polygon Labs正在与投资者进行早期洽谈,计划筹集至多 1 亿美元资金,用于构建新的稳定币支付业务。Polygon是预测市场Polymarket和其他加密平台的基础区块链,此次融资洽谈正值加密货币市场低迷之际,对于Polygon而言,拓展新业务将有助于其摆脱停滞不前的加密货币市场,实现业务多元化。

  • BTC突破72000美元

    Cointime 报道,行情显示,BTC突破72000美元,现报72003.73美元,24小时涨幅达到5.37%,行情波动较大,请做好风险控制。

  • 特朗普:将与伊朗讨论关税和制裁事宜 铀浓缩将被禁止

    Cointime 报道,4月8日讯,特朗普发文表示,美国将与伊朗密切合作,我们已经确定伊朗经历了一次将极具成效的政权更迭!铀浓缩活动将被禁止,美国将与伊朗合作,挖掘并移除所有深埋地下的核“尘埃”(由B-2轰炸机投掷)。现在以及一直以来,这些区域都处于极其严格的卫星监控之下(太空部队负责监控)。自攻击之日起,所有东西都未被触动。我们正在并将继续与伊朗讨论关税和制裁减免事宜。15点内容中的许多项已经达成一致。

  • 特朗普:如果同伊朗谈判不顺,美方将能轻易恢复对伊朗的军事行动

    Cointime 报道,美国总统特朗普8日表示,如果美国同伊朗谈判不顺,美方将能轻易恢复对伊朗的军事行动。(新华社)

  • 美国现货以太坊ETF昨日净流出6461万美元

    Cointime 报道,4月8日,据Trader T监测,美国现货以太坊ETF昨日净流出6461万美元。

  • 伊朗公布通过巴基斯坦提交给美方的十点计划核心内容

    Cointime 报道,4月8日,伊朗最高国家安全委员会当地时间8日凌晨发表声明,称根据最高领袖的建议和最高国家安全委员会批准,接受巴基斯坦提出的停火提议。声明称,伊朗在此次战争中的几乎所有目标都已实现,敌人“遭受历史性的和彻底的失败”,伊方将“继续斗争直至其取得的伟大成果得到巩固,在地区内建立新的安全和政治格局”,并决定在伊斯兰堡举行谈判以确定细节,“在最多15天内通过政治谈判巩固胜利成果”。声明还表示,伊朗拒绝了敌方提出的所有计划并制定了一项十点计划,通过巴基斯坦提交给美国方面。该计划强调了以下几个基本要点: 与伊朗武装部队协调,控制通过霍尔木兹海峡的通行;结束对“抵抗轴心”所有成员的战争,终结以色列政权的侵略;美国作战部队从该地区所有基地和部署点撤出;在霍尔木兹海峡建立安全过境议定书,确保伊朗享有主导地位;根据评估结果全额赔偿伊朗的损失;解除所有一级和二级制裁以及安理会有关决议;释放所有被冻结在海外的伊朗资产和财产;最后,所有这些事项都应在具有约束力的安理会决议中予以批准。(央视)

  • BTC突破72000美元

    Cointime 报道,行情显示,BTC突破72000美元,现报72044.71美元,24小时涨幅达到5.01%,行情波动较大,请做好风险控制。

  • ETH突破2200美元

    Cointime 报道,行情显示,ETH突破2200美元,现报2201.63美元,24小时涨幅达到4.22%,行情波动较大,请做好风险控制。