主页 > imtoken国内下载 > 比特币源代码研究四(交易脚本)

比特币源代码研究四(交易脚本)

imtoken国内下载 2023-07-22 05:10:55

2021-10-02 比特币源码学习4(交易脚本)

在上一篇文章中,我写了有关脚本和事务运算符的内容。 今天继续写:

1、脚本算子是如何工作的(基于栈模型)

我以2+3=5为例

1)先把数2作为栈顶入栈,然后将执行指针右移➡️

比特币源码研读四(交易脚本)

图1

2)将数字3移动到栈顶,执行指针继续右移➡️

比特币源码研读四(交易脚本)

图 2

3)执行ADD操作,将栈顶的两个元素相加得到数字5,同时取出2和3爱交易比特币软件官网下载,将数字5入栈

比特币源码研读四(交易脚本)

图 3

4)执行指针继续向右移动➡️将数字5放入栈顶

比特币源码研读四(交易脚本)

图 4

5)执行指针移动到EQUAL,运算进行逻辑判断,两个值是否相等,如果相等则在栈顶获取TRUE

比特币源码研读四(交易脚本)

图 5

特征:

1.反波兰运算,数字在前,符号在后

2.从左到右执行

3.堆栈存储(POP、PUSH)

2.交易脚本创建

仍以2+3=5为例

1)添加锁脚本

3 OP_ADD 5 OP_EQUAL (3+?=5)

2)添加解锁脚本

2(将2代入3+2=5)

3)运行验证组合

2 3 OP_ADD 5 OP_EQUAL

逻辑判断理解为数学函数的解

创建比特币交易脚本

以爱丽丝为例

1)事务锁定脚本

OP_DUP OP_HASH160<Alice Public Key Hash>OP_EQUAL VERIFY OP_CHECKSIG(进行Alice的公钥哈希,判断比较,验证签名)

2)解锁脚本

<Alice Signature><Alice Public Key>(Alice的签名,Alice的公钥)

3)交易验证组合

<Alice Signature><Alice Public Key>OP_DUP OP_HASH160<Alice Public Key Hash>OP_EQUAL VERIFY OP_CHECKSIG(Alice的签名和公钥,解锁脚本代入锁定脚本实现交易验证组合。)

交易脚本执行流程

类似于2+3=5的运算过程,如图:

比特币源码研读四(交易脚本)

图 6

比特币源码研读四(交易脚本)

图 7

以上就是交易的公钥和签名的验证过程。 验证无误后,即可获得比特币的使用权。 这是比特币交易中执行次数最多的脚本交易类型:P2PKH(支付给公钥哈希)

2、五项标准交易

1.OP_返回

不用于真正的事务处理,主要用于存储最大40字节的非事务数据。

2. P2PKH(最常用)

比特币源码研读四(交易脚本)

图 8

3. P2PK(支付公钥)

公钥本身已经存储在锁定脚本中,代码长度也较短,用于 Coinbase 交易(挖矿奖励)。

1)锁定脚本形式

<公钥 A>OP_CHECKSIG

2)解锁脚本形式

<私钥A签名>

3)脚本组合

<私钥A的签名> <公钥A> OP_CHECKSIG

4. MS(多重签名)

MN模式的交易脚本机制,其形式为

M<公钥1><公钥2>...<公钥N>N OP_CHECKMULITSIG(N为公钥总数,M为待验证公钥,M≦N)

示例:2-3 多重签名条件

2<公钥 A><公钥 B>...<公钥 C>3 OP_CHECKMULITSIG

共有3个公钥签名,其中需要2个公钥签名才能满足解锁条件,从而提高安全性。

5. P2SH(支付脚本哈希)

作为一种新型交易于 2012 年推出爱交易比特币软件官网下载,大大简化了复杂的交易脚本。 它是 MS 多重签名的简化版本。 目的是减少网络存储结构,暂缓节点存储压力,同时让支付方降低成本。

分类:

技术要点:

相关文章: