鎖定腳本:這筆錢發送給A(包含A的共鑰);
解鎖腳本:我是A,這筆錢是我的;
鎖定腳本:我要驗證你的身份;
解鎖腳本:這個是我用我的私鑰簽名的上一筆交易信息的簽名;
礦工:
1、使用解鎖腳本關聯的公鑰的地址的hash信息與鎖定腳本的地址hash比較;
2、如果一致;
3、獲取共鑰,使用公鑰+上一筆交易信息+解鎖腳本的私鑰簽名結果進行驗簽;
4、驗簽通過,說明這筆錢是A的,可以使用這筆錢。
總結:
1、鎖定腳本包含驗簽過程;
2、解鎖腳本包含簽名過程;
3、礦工負責整合資源完成驗簽。
4、簽名的原信息為上一筆交易的交易信息。
難點:
1、簽名與驗簽倒置;
2、鎖定腳本中只包含驗簽函數。只是打包到交易數據中,等到下一次交易時,由礦工使用。
https://blog.csdn.net/wen294299195/article/details/80220651
下圖,是一筆交易的完整過程。這里面交易有兩種類型,一種是Coinbase交易,也就是挖礦獎勵的比特幣,由於沒有發送人,所以比較特殊。另一種就是我們常見的普通交易了,包含輸入和輸出的。
https://bbs.huaweicloud.com/blogs/d4c97558190611e89fc57ca23e93a89f
解鎖腳本:<Sig> <PubKey>
解鎖腳本是由簽名與公鑰組成,這就保證了必須擁有私鑰的用戶才能對某一筆交易進行解鎖。
鎖定腳本:OP_DUP OP_HASH160 <PubkeyHash> OP_EQUALVERIFY OP_CHECKSIG
鎖定腳本是由一連串堆棧命令和公鑰哈希組成,公鑰哈希即RIPEMD160(SHA256(公鑰)),大小20字節;由第二節的知識可知比特幣地址實際是由該公鑰Hash進行Base58check編碼而來,所以必須擁有該地址的私鑰才能將鎖定腳本解鎖。
http://www.cryptocapitalism.center/bitcoin-crash-course/
Bitcoin’s two most basic scripts: ‘ScriptPubKey’ locks bitcoin into the recipient’s wallet, and ‘ScriptSig’ unlocks the funds by checking the digital signature