You're making a HUGE error
A script is: the scriptSig of your tx + the scriptPubkey of the tx you spent
In the same example:
The scriptSig of your tx is: Sig + your pubkey
The scriptPubkey of the tx you spent is (according to blockexplorer): OP_DUP OP_HASH160 fc88853163ab2a9646908a82e8a87b6f185c2047 OP_EQUALVERIFY OP_CHECKSIG
I hope ripemd160(sha256('0x0457d7d7af586aaad529b5770bb43295051e7090e2bc884181d608dae2517c7812b25e326753c
Btw here's the thread I was talking about: https://bitcointalk.org/index.php?topic=29416.0
Hmm, I'm not sure I understand it completely yet ... Thanks for posting that link, it made some things more clear.
The one thing I don't understand is how the OP_EQUALVERIFY operation passes. This operation just verifies if the last two items on the stack are the same.
Now, the question is - who calls all this? The receiving side? Miners?
When I create a new transaction, I will put in TxIn:
- Sig of the whole transaction with my privatekey
- My pubkey (I don't know anyone else's anyway)
OP_DUP OP_HASH160 <receiver's address> OP_EQUALVERIFY OP_CHECKSIG
Now, who does the verification? From the graph you sent I understand how OP_CHECKSIG works.
What I don't understand is how OP_EQUALVERIFY passes because in the original transaction there is my pubkey and receiver's address.
So OP_DUP and OP_HASH160 will perform this on *my* pubkey so the result will not be the receiver's address??
I hope I'm clear trying to explain what I don't understand, it's the verification process and OP_EQUALVERIFY.
After checking the transaction jackjack posted http://blockexplorer.com/tx/4f6f864d3047bf441317fc0f5d1586325c9e740e923c7949cc28333ff74d19df#o1
, it is clear that in the scriptSig is the Sig of the whole transaction and pubkey of the sender (TxIn). Now I don't get how it passes OP_EQUALVERIFY because it has the sender's pubkey in scriptSig and recipients address in scriptPubKey -- this makes sense that it is that way, but I don't see how it passes OP_EQUALVERIFY