I JUST first time successfully verified a signature of a bitcoin transaction (the first in the 170th block of the main-chain). The last undocumentated problem / was an important miss in your really helpful and detailed picture.
In step 8 the subscript string of step 4 is inserted into the Txin0. But you forgot to place the length byte(s?) infront of this in the picture!
Also in the writen OP_CHECKSIG#How_it_works this tiny but decisive information is missing. Is this always 1 byte? Or the Var-length encoding of the length for the new to be inserted subscript? The latter I assume. I will change the documentation. Also I think it is good to place for this example the Pubkey, hash and signature in raw hexadecimal for other programmers to check easily.
Thus, would you please make soon a new "Bitcoin OpCheckSig InDetail.png" and replace the current one in bitcoin-wiki? :)
BTW: I like to repeat: Nice, detailed and very helpful picture. :)
- Hi again
I found the last error in my implementation of OP_CHECKSIG. I thought firstly it was a bug introduced by myself. Sadly it is based on another error in your picture [:File:Bitcoin OpCheckSig InDetail.png]. All your "empty strings" when replacing these txin-scripts in step 7 , are no empty strings, but exactly the single byte 0x00 (for the length of the new txin-script).
This should also be corrected when you update the picture.