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

所有评论

推荐阅读

  • 消息人士:沙特延布港暂停石油装运

    Cointime 报道,3月19日,两位消息人士:沙特延布港暂停石油装运。(金十)

  • 伊朗外长:美2000亿美元战争拨款“只是冰山一角”

    Cointime 报道,3月19日,伊朗外长阿拉格齐19日在社交媒体上说,美国国防部拟申请用于对伊军事行动的逾2000亿美元拨款“只是冰山一角”。阿拉格齐表示,战事将加重美国经济负担,而战事主要用于支持以色列利益。“美国民众要感谢以色列总理内塔尼亚胡及其在国会的帮手,因为一项价值万亿美元的‘以色列优先税’即将冲击美国经济。”(东新社)

  • 伊朗议员:对试图安全通过霍尔木兹海峡的船只征收通行费和税款

    Cointime 报道,3月19日消息,伊朗议员称,议会正在考虑通过一项法案,对试图安全通过霍尔木兹海峡的船只征收通行费和税款。(伊朗学生通讯社)

  • 欧洲议会委员会投票赞成推进美国贸易协议立法

    Cointime 报道,3月19日消息,欧洲议会委员会投票赞成推进美国贸易协议立法。(金十)

  • 欧盟外交与安全政策高级代表卡拉斯:我们需要退出伊朗战争,而不是升级

    Cointime 报道,3月19日消息,欧盟外交与安全政策高级代表卡拉斯:我们需要退出伊朗战争,而不是升级。(金十)

  • 商务部回应英伟达对华芯片销售情况

    Cointime 报道,3月19日消息,在3月19日商务部举行的例行发布会上,有美媒记者提问,“相关报道称中国政府已经批准了部分公司采购英伟达的H200芯片,请问是否有更多细节可以透露以及有何评论?”商务部新闻发言人何咏前回应称:“我不了解你提到的情况。”(央视新闻)

  • 科威特国家石油公司一炼油厂遭无人机袭击起火

    Cointime 报道,3月19日消息,当地时间19日,科威特国家石油公司发表声明称,该公司旗下的艾哈迈迪港炼油厂遭到无人机袭击并起火。公司目前已“按最高安全标准进行处理”,火灾暂未造成人员伤亡。(金十)

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

    Cointime报道,数据显示,过去1小时全网爆仓1.06亿美元,其中多单爆仓8893.83万美元,空单爆仓1667.25万美元,主爆多单。其中ETH爆仓2117.53万美元,BTC爆仓6412.00万美元。

  • 外汇局:完善跨境资金流动监测预警,必要时强化宏观审慎管理

    Cointime 报道,3月19日消息,3月17日,国家外汇管理局党组书记、局长朱鹤新主持召开党组(扩大)会议。会议强调,要更好应对新形势下的外部冲击挑战。加强对形势变化的敏锐把握,树立底线思维,完善跨境资金流动监测预警,必要时强化宏观审慎管理,进一步健全预期管理机制,维护外汇市场稳健运行。完善外汇储备经营管理,保障外汇储备资产安全、流动和保值增值。(金十)

  • 央行:坚定维护股票、债券、外汇等金融市场平稳运行

    Cointime 报道,3月19日消息,3月18日,中国人民银行党委召开扩大会议。积极稳妥化解重点领域金融风险。在宏观层面把握好经济增长、经济结构调整和金融风险防范之间的动态平衡。持续推进金融支持融资平台债务风险化解工作。坚持市场化、法治化原则,积极稳妥处置中小金融机构风险。充分发挥中央银行宏观审慎管理和维护金融稳定功能,坚定维护股票、债券、外汇等金融市场平稳运行。研究建立特定情景下对非银金融机构的流动性支持机制。会同有关部门继续高压打击非法金融活动。(金十)