第五章 Taproot编程
今天,我们将深入探讨一个经典场景:Alice通过一个中间地址发送测试网比特币,可以用两种方式解锁——Key Path和Script Path。
Key Path是说Alice可以用自己的私钥花费这笔钱
Script Path是说Bob可以提供一个秘密(preimag,比如"hello world")来花费这笔钱
这不仅仅是理论;我们将分享完整的Python代码(使用bitcoinutils
)、真实的测试网交易,以及我们调试过程中的经验教训。
接下来,我们讲扩展更多场景,我们让解锁有更多选择场景,比如可以通过以下三种方式花费:
Key Path: Alice 使用她的私钥直接签名
Script Path 1: 任何人提供正确的 preimage 'helloworld'
Script Path 2: Bob 使用他的私钥签名
这是一个典型的双叶子节点形成的taproot地址。从这里面我们将会深入理解节点路径的控制块(control block)的使用。
再接下来,我们讲扩展到四种方式花费:
Key Path: Alice 使用她的私钥直接签名
Script Path 1: 任何人提供正确的 preimage 'helloworld'
Script Path 2: Bob 使用他的私钥签名
Script Path 3: Alice、Bob、Carol 2-3多签
这是一个典型的三叶子二叉树节点形成的taproot地址。从这里我们将会更深入探讨控制块(control block)的使用,以及一些二叉树数学属性。最后我们一起通过代码,深入理解Taproot地址形成的原理。
在本章,你将感受比特币智能合约的魅力,以及典型的Commit-Reveal交易结构,这将是理解Ordinals\BRC20\ARC20\RUNES 等比特币协议的基础。
Last updated