Author

Topic: Old Uncompressed Addresses (Read 647 times)

sr. member
Activity: 751
Merit: 253
November 01, 2016, 02:28:40 PM
#6
Thanks for clearing that up.
legendary
Activity: 3472
Merit: 4801
November 01, 2016, 01:50:45 PM
#5
In the very early blocks, I think Satoshi may have used P2PK instead of P2PKH, so there was no address at all.  The bitcoin payment was made directly to the public key itself instead of the hash of the public key.

Thank you very much!  That is what I had read.  Very interesting.  (side/speculation, but why would Satoshi do that?)

Because they hadn't implemented the idea of hashing the public key into an address yet?

I understand the 04, 03, 02 prefix on the Public Key, but after that I get lost.

A public key is a point on a curve, represented with coordinates as (X,Y).

If it is uncompressed, then the X and Y values are stuck together (concatenated) and prefixed with 04

If it is compressed, then the Y value is thrown out (since it can be computed from the X value) and the 02 or 03 prefix are used to make sure you get the correct Y value.

So, some early blocks the mining reward did not go to an address, but was awarded to a public key?

Yes.  However, if you know the formula for computing an address from a public key, then you can represent that public key as an address when you display it (even if it isn't actually stored in the blockchain in it's hashed form).  This is what most of the block explorer websites do.  So, if you look at a block explorer (such as blockchain.info) you'll see an address.  If you look at the raw transaction in the block, you'll see the public key.

Do we know a block with the mining reward going directly to a public key?   If so, could you share it with?  Thanks!

Sure.  Block 170 has BOTH the block reward and the payment to Hal as payments directly to the public key.

If you look at the bottom of these pages where it says "Output Scripts":
https://blockchain.info/tx/b1fea52486ce0c62bb442b530a3f0132b826c74e473d1f2c220bfa78111c5082
https://blockchain.info/tx/f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16

You'll see a long string of characters starting with 04 (that's the public key) and then an OP_CHECKSIG (indicating that the signature should be checked against that public key directly).

On the other hand if you look at the "Output Scripts" of a more recent transaction such as this one:
https://blockchain.info/tx/f7bd17e421a20a9387fde36d17106a52cb6eaebf8621e8bfdae1f42c4956aea6

You'll see:
Code:
OP_DUP OP_HASH160 long_string_of_characters OP_EQUALVERIFY OP_CHECKSIG

Indicating that the value stored is the hash of the public key and that the public key should be supplied, hashed, and verified against the given string before verifying the signature.


sr. member
Activity: 751
Merit: 253
November 01, 2016, 01:24:04 PM
#4
In the very early blocks, I think Satoshi may have used P2PK instead of P2PKH, so there was no address at all.  The bitcoin payment was made directly to the public key itself instead of the hash of the public key.

Thank you very much!  That is what I had read.  Very interesting.  (side/speculation, but why would Satoshi do that?)

I understand the 04, 03, 02 prefix on the Public Key, but after that I get lost.

So, some early blocks the mining reward did not go to an address, but was awarded to a public key?
Do we know a block with the mining reward going directly to a public key?   If so, could you share it with?  Thanks!
legendary
Activity: 3472
Merit: 4801
October 31, 2016, 10:40:23 PM
#3
- snip -
Can someone explain what we are doing different than original?

Here is a 9 step explanation of what we use today:
http://gobittest.appspot.com/Address
- snip -

The process of getting from public key to address hasn't changed.

What changed was how the public key was represented.

Prior to the use of compressed key, the full public key (0x40 + 32 byte x-coordinate + 32 byte y-coordinate).  You can see this in the page you linked where in step 1 the "Public ECDSA Key" starts with 04.

Most wallets now use compressed public keys, where they throw away the 32 byte y-coordinate and replace the leading 04 with either a 02 or 03 depending on if the value of the y-coordinate was odd or even.

In the very early blocks, I think Satoshi may have used P2PK instead of P2PKH, so there was no address at all.  The bitcoin payment was made directly to the public key itself instead of the hash of the public key.
staff
Activity: 3458
Merit: 6793
Just writing some code
October 31, 2016, 08:15:22 PM
#2
Where do you see this?

Address calculation has not changed since Bitcoin's creation. Base58CheckEncoding is still used to encode public keys as addresses.
sr. member
Activity: 751
Merit: 253
October 31, 2016, 08:04:20 PM
#1
Hello,

I have read somewhere that satoshis address was calculated differently than the way we calculate the address today.  (changed somewhere around 2012-2013?)

I am guessing, he did not have as many SHA-256 steps that we use today?? 

Can someone explain what we are doing different than original?

Here is a 9 step explanation of what we use today:
http://gobittest.appspot.com/Address

What did satoshi not do in his address calculation?

Thanks!
Jump to: