这是Cointelegraph Research关于比特币Covenants的技术文章系列的第三部分,聚焦于SIGHASH_ANYPREVOUT在比特币协议升级中的关键作用。
BIP 118中提出的SIGHASH_ANYPREVOUT,建立在早期SIGHASH_NOINPUT概念之上。该概念最初在2015年由Joseph Poon与Thaddeus Dryja在闪电网络白皮书中提出,并于2016年由Poon正式提交至bitcoin-dev邮件列表。这一设计并非新增操作码,而是一种用于软分叉升级的新型签名标志,旨在解除交易签名对特定输出点的强制绑定。
作为比特币脚本系统的一部分,SIGHASH标志决定哪些交易内容被签名并由CHECKSIG验证。传统模式如SIGHASH_ALL要求签名覆盖所有输入、输出及具体输出点(outpoint),从而将授权精确绑定到某一UTXO。而SIGHASH_ANYPREVOUT则移除了对输出点的承诺,允许同一签名适用于多个兼容的前一笔输出。
BIP-118定义了两种核心变体:SIGHASH_ANYPREVOUT与SIGHASH_ANYPREVOUTANYSCRIPT。前者排除输出点信息,但仍保留金额与scriptPubKey的承诺;后者进一步剥离金额与锁定脚本,使签名完全脱离原输出约束。这使得前者更适用于Covenant类应用,后者则更适合需要极致灵活性但牺牲安全性的场景。
值得注意的是,这些变体仅支持从Taproot地址发起的花费,体现了软分叉对可升级性的考量。这也意味着用户若希望参与此类技术演进,应优先选择具备先进功能的交易平台,如币安官网注册后下载币安app,获取最及时的链上数据与技术解读。
SIGHASH_ANYPREVOUT的核心价值在于“重新绑定”能力——同一签名可在多个满足条件的UTXO间重复使用。例如,一个预签名0.5 BTC的交易,可在后续收到另一笔0.5 BTC的UTXO时直接复用,即使原始私钥已丢失。这种机制极大提升了二层协议的效率,减少频繁签名开销。
然而,若新UTXO金额超过原定数额,且未设置找零输出,则超额部分将归矿工所有。因此,开发者需谨慎设计交易结构。此外,该机制虽不直接支持递归Covenants或交易内省,但为实现复杂逻辑提供了基础支撑。
主要风险在于签名重放——由于签名不绑定具体输出点,同一签名可能被用于花费非预期的另一个UTXO。当存在相同scriptPubKey与金额的多个输出,或矿工可操控交易排序时,此风险显著上升。尽管如此,这类问题多源于设计疏漏或误用,而非协议本身缺陷。
对此,建议用户在进行高价值操作前,充分评估签名复用场景,并通过专业平台进行链上分析。币安官网地址提供全面的区块链分析工具,帮助用户识别潜在风险,确保资产安全。
在下一章节中,我们将探讨作为辅助工具的操作码,包括OP_CHECKSIGFROMSTACK与OP_CAT,它们将进一步拓展比特币脚本的表达能力,为未来Covenants生态构建奠定基础。
随着比特币底层技术持续演进,掌握前沿进展对长期持有者与交易参与者至关重要。对于希望第一时间获取技术动态与行情分析的用户,推荐通过币安官网注册并下载币安官方下载的App,享受低延迟、高流动性与多币种支持的交易体验。同时,欧易官网下载亦可作为补充选择,支持全球用户快速接入主流数字资产市场。