輸入0.7
輸出0.5
23個確認 不太可能回滾了
交易id
hash值
版本
locktime 交易剩下時間:0立即生效
confirmation:確認信息
time:產生時間
blocktime:塊產生時間
vout: 交易中第0個輸入
scriptSig:輸入腳本(input script)
n:交易里第0個輸出
scriptPubKey:輸出
reqSigs: 需要1個簽名才能兌現
addresses:公鑰地址
第一種
最簡單情況,直接給出收款人的公鑰
執行過程,壓入棧=》檢查簽名

方式二
輸出腳本沒有直接給公鑰 只給Hash
公鑰是在輸入腳本里給出的,也要給出簽名
執行過程:
DUP 復制
HASH160: 彈出棧頂元素取Hash,然后把得到的hash壓入棧
推入output中的PubKeyhash
當前兩個Hash一個是input提供一個是output計算hash后得到
EQUALVERIFY 彈出棧頂兩個元素比較他們是否相等
CHECKSIG 彈出棧頂兩個元素 檢查簽名是否正確
第三種
給出收款人提供的一個腳本(redeemScript) 的hash
舉例:
拼接輸入+輸出腳本
壓入sig
壓入RSH
計算HASH
壓入RAH
EQUAL比較
反序列化執行腳本
檢查PubKey
多重簽名
× 存在bug需要多壓入一個元素
交易時需要給出公鑰以及M,N的值。
多重簽名 方式2
將復雜度轉移到輸入腳本
贖回腳本由input提供(電商)。
第二階段
第二階段與之前paytohash一樣
最后一個
RETUREN 用于返回false
- 用于銷毀比特幣,有些小幣種要求銷毀一定數量,AlternativeCoin
- 添加永久保存的內容:digital commitment。某種知識產權保護放到RETURN后面不會被執行。證明你在某個時間點已經知道某個知識。
- coinbase只有獲得記賬權的節點才能用,
輸入金額全部用于支付交易費
PPT例子中省略了執行命令的OP_前綴正常應該是:
OP_CHECKSIG
OP_DUP
OP_xxx