比特幣的鎖定腳本與解鎖腳本


鎖定腳本:這筆錢發送給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交易,也就是挖礦獎勵的比特幣,由於沒有發送人,所以比較特殊。另一種就是我們常見的普通交易了,包含輸入和輸出的。

20180317215503_69483.png

 

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

scriptsig_scriptpubkey_lock_unlock.png

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM