比特币交易与区块链技术详解
1. 比特币交易结构
比特币交易由多个结构组成,主要包括元数据、输入、输出等部分。
1.1 元数据
元数据包含交易的大小、输入和输出的数量、交易的哈希值以及锁定时间字段等信息。每个交易都有一个指定版本号的前缀,例如在示例中展示的锁定时间、大小、重量和版本等字段。
1.2 输入
一般来说,每个输入(vin)会花费之前的一个输出。在被输入消耗之前,每个输出都被视为未花费交易输出(UTXO),UTXO 可以作为新交易的输入被花费。交易输入的数据结构如下表所示:
| 字段 | 大小 | 描述 |
| — | — | — |
| 交易哈希 | 32 字节 | 包含 UTXO 的前一个交易的哈希 |
| 输出索引 | 4 字节 | 前一个交易的输出索引,即要花费的 UTXO |
| 脚本长度 | 1 - 9 字节 | 解锁脚本的大小 |
| 解锁脚本 | 可变 | 满足锁定脚本要求的输入脚本(ScriptSig) |
| 序列号 | 4 字节 | 通常禁用或包含锁定时间,禁用时用 0xFFFFFFFF 表示 |
在之前的示例解码交易中,输入在 “inputs”: [ 部分定义。
1.3 输出
输出(vout)有三个字段,包含发送比特币的指令。第一个字段包含聪的数量,第二个字段包含锁定脚本的大小,第三个字段包含一个锁定脚本,该脚本规定了输出被花费时需要满足的条件。交易输出的数据结构如下表所示:
| 字段 | 大小 | 描述 |
| — | — | — |
|
超级会员免费看
订阅专栏 解锁全文
5484

被折叠的 条评论
为什么被折叠?



