深入比特币原理(四)比特币交易脚本

比特币是第一个真正的区块链“平台”,利用去中心化、不可篡改、可追溯等特点可以实现多种交易模式与虚拟货币以外的其他功能。

比特币交易脚本的特性:

1.图灵非完备

比特币交易脚本故意使用一种图灵非完备的语言,没有循环或复杂流程控制

2.基于堆栈的语言

堆栈语言极其简单,也增强了比特币的安全性。

3.无状态验证

比特币交易脚本是无状态的,所以脚本能在任何系统上以相同的方式执行,如果你的系统验证了一个脚本,每一个比特币网络中的其他系统也将验证这个脚本

比特币交易P2PKH(Pay-to-Public-Key-Hash)解锁过程

比特币最基本的交易类型为P2PKH,交易付款的对象是公钥哈希

解锁脚本:

锁定脚本(锁定脚本是由一连串堆栈命令和公钥哈希组成,公钥哈希即RIPEMD160(SHA256(公钥)),大小20字节)

OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG

解锁脚本如何解锁锁定脚本

因为比特币的交易过程是非静态的,通过锁定脚本(locking script)与解锁脚本(unlocking script)实现动态的交易过程。

比特币将解锁脚本与锁定脚本拼接后,按后进先出的顺序执行,最后完成CHECK,如果返回结果为TRUE,代表解锁成功。如果返回为FALSE或者执行过程中出现问题,则花费这笔输出的请求被拒绝。


温馨提示:
1、本站所有内容皆转载自网络。2、本站所有转载内容只代表原作者观点,不代表本站立场。
3、本站所有转载内容仅供学习参考,不构成任何投资建议。
4、本站与项目方没有任何利益关系,不接受捐赠,不接受打赏。

Subscribe to nobody
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.