第五章 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