主页 > imtoken国内下载 > 比特币源代码研究四(交易脚本)
比特币源代码研究四(交易脚本)
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 多重签名的简化版本。 目的是减少网络存储结构,暂缓节点存储压力,同时让支付方降低成本。
分类:
技术要点:
相关文章: