As I understand, since bitcoin 0.6.x, compressed and uncompressed public keys are supported. And the process from the public key to the address has the step that puts a byte in front of the public key before hashing, like:
0x04<256bit x><256bit y>
= buffer before hashing the uncompressed public key
or
[0x02|0x03]<256bit x>
= buffer before hashing the compressed public key
That implies that the buffer before the hashing is either 33bytes long or 65 bytes long.
My question: pre-0.6, all the way back to the first public version of bitcoin, is the buffer pre-hashing always 65 bytes long, since compressed keys were not supported? Or was it 64 bytes long (just <256bit x><256bit y>
) and there was no byte for the version prepended before hashing?
If it was just the 64bytes of the public key on clients pre-0.6, that means that for the same public key, if I ran that public key through the code path of both pre-0.6 bitcoin client and current bitcoin client (uncompressed fomat), the final bitcoin address would still be different, since the modern client would prepend the version byte?