交易脚本和脚本语言

比特币的原始版本引入了一种称为脚本(Script)的新编程语言,它是一种类似于Forth的基于堆栈的语言。在交易输出中放置的脚本以及用于支出交易的传统输入脚本都是用这种脚本语言编写的。

脚本是一种非常简单的语言。它需要最少的处理,并且不能轻松地做现代编程语言可以做的许多花哨的事情。

当遗留交易是比特币网络中最常见的交易类型时,大多数通过比特币网络处理的交易都具有“支付给Bob的比特币地址”形式,并使用一种称为支付到公钥哈希(P2PKH)脚本的脚本。然而,比特币交易并不限于“支付给Bob的比特币地址”脚本。事实上,脚本可以编写成表达各种复杂条件的形式。为了理解这些更复杂的脚本,我们必须首先了解交易脚本和脚本语言的基础。

在本节中,我们将演示比特币交易脚本语言的基本组成部分,并展示如何使用它来表达花费条件以及如何满足这些条件。

比特币交易验证不是基于静态模式,而是通过执行脚本语言来实现的。这种语言允许表达几乎无限种类的条件。

Last updated