BOLT 3:比特币交易和脚本格式 本文档详细介绍了链上交易的确切格式,这是闪电网络双方需要达成一致以确保签名有效的内容。这包括资助交易输出脚本、承诺交易和 HTLC 交易。本文档涵盖了交易输出排序、隔离见证的使用、各种交易类型(如资助交易输出、承诺交易、HTLC 超时和成功交易、关闭交易)的具体格式和要求以及高效的密钥推导和存储。 比特币 交易格式 脚本 HTLC 密钥推导 隔离见证 lightning 发布于 2025-03-21 2161 0 0
比特币 - BIP-0341.mediawiki,位于bip-anyprevout · ajtowns/bips 该文档提出了一个新的SegWit版本1输出类型,其花费规则基于Taproot、Schnorr签名和Merkle分支。Taproot旨在提高比特币脚本功能的隐私性、效率和灵活性,而无需添加新的安全假设。文档详细介绍了Taproot的设计、规范、构造以及花费Taproot输出的方法,并讨论了安全性、测试向量、基本原理、部署和向后兼容性。 Taproot Schnorr签名 Merkle分支 Segwit 比特币 脚本 ajtowns 发布于 2025-01-20 1480 0 0
CSFS 的有趣用法(其一) 本文作者介绍了他发现的几个 CSFS(Client-Side Filtering and Signing)在比特币中的有趣用法,包括创建不可替换和不可复用的地址、函数查找表预编译以及SIGHASH标签检测。使用CSFS和密钥串联可以实现一些高级功能,例如保护带有担保品的地址、添加新的操作码以及约束公钥使用哪个sighash标签。 CSFS Taproot 比特币 SIGHASH 密钥串联 脚本 BTCStudy 发布于 2026-02-05 920 0 0
OP_CCV 及其数额语义 本文介绍了`OP_CHECKCONTRACTVERIFY`(OP_CCV)操作码的语义及其处理数额的逻辑。OP_CCV 开启了携带状态的 UTXO,允许在花费 UTXO 时检查输入/输出的公钥,并指定数额的流动。文章还讨论了OP_CCV 的优点和缺点,并提供了一些案例,最后作者希望得到大家对 OP_CHECKCONTRACTVERIFY 的规范、实现和应用的评论。 OP_CHECKCONTRACTVERIFY UTXO Taproot 智能合约 脚本 数额 BTCStudy 发布于 2026-01-23 1127 0 0
Script:用通俗易懂的方式讲解比特币智能合约语言 本文介绍了比特币的脚本语言Script,它是一种基于堆栈的语言,用于验证交易的安全性,解释了Script的工作原理,包括ScriptPubKey和ScriptSig的概念,以及如何使用OP_CODE进行验证, 另外,还介绍了常见的比特币地址类型,以及SegWit如何修复延展性问题,提高交易安全性,同时,还提到了为了安全,比特币禁用了某些OP_CODE。 比特币 Script 脚本 scriptPubKey ScriptSig OP_CODE blockmagnates 发布于 2025-10-04 1772 0 0
了解 Minicsript 时间锁钱包的取舍 本文介绍了时间锁钱包的基本原理、工作方式以及一些应用案例。时间锁钱包利用时间锁和 Miniscript 技术,为比特币资金的安全模式增加额外的复杂性,可以定制成实现一些巧妙的结构,但也存在一些交易手续费、UTXO管理、钱包迁移等方面的挑战。文章分析了时间锁钱包的优缺点,并与标准的多签名钱包进行了对比,帮助读者做出明智的决定。 时间锁 Miniscript 多签名 比特币钱包 脚本 CSV CLTV BTCStudy 发布于 2025-10-05 3588 0 0
比特币限制条款研究汇总 本文介绍了比特币中限制条款(covenant)的概念,即限制 UTXO 花费方式的脚本。 限制条款 UTXO 脚本 SIGHASH_ANYPREVOUT OP_CHECKTEMPLATEVERIFY 签名 BTCStudy 发布于 2023-02-11 1080 0 0
Miniscript:可组合、可分析、更智能的比特币脚本 本文是Sanket Kanjalkar在Advancing Bitcoin 2022上关于Miniscript的演讲稿,Miniscript旨在解决比特币脚本在分析、使用和组合方面的难题,它通过结构化的方式实现脚本的语义分析、通用签名和互操作性,并可用于创建复杂的花费方案,简化脚本编写和分析的过程。 Miniscript 比特币脚本 脚本 可组合性 Taproot PSBT BTCStudy 发布于 2022-11-17 1178 0 0
bips/bip-0011.mediawiki,位于ajtowns/bips 的 bip-anyprevout 该BIP (Bitcoin Improvement Proposal) 提议将需要M个签名的多重签名交易作为一种新的“标准”交易类型。这可以实现安全钱包、托管交易等需要多个签名才能赎回资金的应用场景。定义了一种新的标准交易类型 scriptPubKey,并规定了OP_CHECKMULTISIG 的使用方式和脚本结构。 多重签名 交易类型 scriptPubKey OP_CHECKMULTISIG 比特币 脚本 ajtowns 发布于 2025-01-19 1411 0 0
bips/bip-0016.mediawiki,位于ajtowns/bips的任意prevout 该BIP (Bitcoin Improvement Proposal) 描述了一种新的比特币脚本交易类型,即“Pay to Script Hash (P2SH)”,并定义了适用于新交易的额外验证规则。P2SH 的目的是将提供交易赎回条件的责任从资金发送者转移到赎回者,允许发送者使用固定长度的 20 字节哈希来资助任何复杂的交易。 P2SH Pay-to-Script-Hash 脚本 交易 比特币 软分叉 ajtowns 发布于 2025-05-05 1583 0 0
BIP-0065:bip-anyprevout 上的 bips/bip-0065.mediawiki 该BIP (Bitcoin Improvement Proposal) 描述了比特币脚本系统中的一个新的操作码 OP_CHECKLOCKTIMEVERIFY,允许交易输出在未来的某个时间点之前保持不可花费状态。它重新定义了现有的 NOP2 操作码,并通过与交易的 nLockTime 字段进行比较,验证所需的块高度或块时间是否已达到。 OP_CHECKLOCKTIMEVERIFY nLocktime 脚本 操作码 共识机制 软分叉 ajtowns 发布于 2025-06-24 1770 0 0
bip-anyprevout · ajtowns/bips 中的 bips/bip-0112.mediawiki 该BIP(Bitcoin Improvement Proposal)描述了一种新的比特币脚本操作码CHECKSEQUENCEVERIFY,结合BIP68,允许基于输出的年龄限制脚本的执行路径。它通过重新定义NOP3操作码,使得可以根据交易的nSequence字段来限制脚本的执行,从而实现诸如带过期时间的合约、追溯失效、HTLCs、双向支付通道和闪电网络等应用。 CHECKSEQUENCEVERIFY nSequence BIP68 脚本 相对时间锁 闪电网络 ajtowns 发布于 2025-01-28 1447 0 0
什么是比特币默克尔化抽象语法树? 本文介绍了默克尔化抽象语法树(MAST)在比特币中的应用,MAST 通过将复杂的脚本条件分解为独立的子脚本,并使用默克尔树进行验证,从而减少交易体积、提高隐私性,并扩大智能合约的潜力。文章还讨论了 MAST 的优点并总结了当前包含这项技术的提案。 默克尔树 抽象语法树 MAST 智能合约 脚本 比特币 BTCStudy 发布于 2021-09-08 1530 0 0
用于验证 Taproot 资产转移的虚拟机执行环境 该文档描述了用于验证 Taproot Asset (资产)转移的虚拟机执行环境,该环境使用 `asset_script_version` 版本 1。 Taproot Asset 虚拟机 比特币 脚本 默克尔树 资产转移 Roasbeef 发布于 2025-06-22 1989 0 0
比特币核心中对输出描述符的支持 本文档详细介绍了比特币核心中Output Descriptors的使用方法。Output Descriptors是一种用于描述输出脚本集合的简单语言,Bitcoin Core从v0.17版本开始支持Output Descriptors,包括其特性、功能以及各种脚本类型的描述方式,并提供了大量示例和参考信息,以便开发者理解和使用。 Output Descriptors 比特币 脚本 P2PK P2SH Miniscript bitcoin 发布于 2024-01-06 1800 0 0