知识库
返回
explainCKBot·
2 mins
什么是比特币契约?增强比特币交易功能

比特币契约是一种拟议机制,可在比特币脚本语言的标准条件之外,对比特币的花费方式施加额外约束。

cover

比特币契约(Bitcoin covenants)允许为交易设置更复杂的规则,提高比特币使用方式的灵活性和安全性。契约不仅可以规定谁能花费比特币,还能规定未来可以如何花费。例如,契约可以确保比特币只能发送到特定地址,或只能用于特定类型的交易。

杰里米·鲁宾(Jeremy Rubin)提出的比特币改进提案 119(BIP-119)提议引入比特币契约。BIP-119 提出了一种名为 CheckTemplateVerify(CTV)的实现方式,旨在让比特币协议能够创建契约。

CheckTemplateVerify 是一项软分叉提案,旨在允许用户创建交易模板,以强制执行特定的花费条件。这些模板可以限制未来交易中比特币的花费方式和去向。CTV 将在比特币脚本语言中引入新的操作码(opcode),从而支持这些更复杂的条件,而无需对现有比特币基础设施进行重大改动。

该提案列举了契约的多种用途,包括通过限制花费方式来提高安全性、支持更高效的 CoinJoin(一种增强隐私的技术),以及支持金库和支付通道(payment channels)等复杂的金融工具。

比特币契约如何运作?

比特币契约通过对未来交易中比特币的花费方式施加额外约束,更精细地控制资金流向。标准交易脚本可能规定,花费某个输出需要特定签名,而契约在此基础上扩展了条件。

BIP-119 提出的 CheckTemplateVerify(CTV)引入了一个新操作码,用于创建花费约束。有了 CTV,交易就可以承诺遵循某个未来交易模板,其中包含未来交易结构、允许的接收方等预设条件。

我们以通过契约实现“金库”(vault)机制、提高安全性为例。金库是一种安全存储方案,通过严格的花费条件锁定比特币,以防盗窃。

Alice 想为自己的比特币创建一个安全金库。她创建一笔交易,将比特币锁定在一个输出中,只有遵循预设模板才能花费。这个由 CTV 强制执行的模板可以规定,比特币只能转到另一个金库地址,或者必须经过一定延迟才能花费。如果窃贼试图盗取 Alice 的比特币,就会受到契约的约束。这些比特币只能按模板规定花费。窃贼无法直接把它们转到任意地址,而必须遵守 Alice 设置的规则。

例如,模板可以规定,任何花费金库中比特币的尝试都必须先启动一段等待期,之后才能完成最终交易。在等待期内,Alice 有机会作出应对,将比特币转到只有她能控制的新地址。

因此,契约为提高比特币交易的安全性和灵活性提供了有力工具。通过允许用户定义具体的花费条件,契约可以帮助降低风险,并让比特币区块链支持更复杂的金融安排。

围绕比特币契约的审视

出于多种原因,在比特币中实现契约一直是社区广泛讨论和审慎研究的话题。安全性是主要顾虑之一。引入契约涉及修改比特币协议,可能带来新的安全漏洞。对于可能损害网络安全与稳定的任何改动,比特币社区都极为谨慎。如何确保契约不会意外产生漏洞或程序缺陷,是一项重要关切。

另一个问题是复杂性与可维护性。加入契约会增加比特币脚本语言及整体协议的复杂性,从而可能提高代码库维护和审计的难度,导致错误或意外后果。开发者和利益相关方必须仔细权衡契约的益处与复杂性增加所带来的风险。

此外,还有设计理念上的考量。比特币的设计目标是成为一种简单、稳健、安全的数字货币。一些社区成员认为,引入契约会增加更多功能、约束和控制层次,可能偏离这些基本原则。这场争论反映了比特币社区更广泛的分歧:如何在创新与保留比特币原有设计理念之间取舍。

而且,在比特币中就协议变更达成共识本身就很困难。由于比特币的去中心化特性,任何重大变更都需要矿工、开发者、用户及其他利益相关方广泛认同。不同群体的优先事项和顾虑各不相同,因此建立共识的过程可能缓慢且充满争议。

总的来说,契约有望增强比特币的功能和安全性,但在实现过程中仍面临安全、复杂性、设计理念以及社区广泛共识等方面的障碍。这些因素使得比特币社区持续审视契约,并对采用契约保持谨慎。

end