Bitcoin Forum
November 18, 2018, 01:06:32 PM *
News: Latest Bitcoin Core release: 0.17.0 [Torrent].
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Old Uncompressed Addresses  (Read 551 times)
altcointalk14
Sr. Member
****
Offline Offline

Activity: 603
Merit: 250



View Profile
November 01, 2016, 01:04:20 AM
 #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!

1542546392
Hero Member
*
Offline Offline

Posts: 1542546392

View Profile Personal Message (Offline)

Ignore
1542546392
Reply with quote  #2

1542546392
Report to moderator
1542546392
Hero Member
*
Offline Offline

Posts: 1542546392

View Profile Personal Message (Offline)

Ignore
1542546392
Reply with quote  #2

1542546392
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1542546392
Hero Member
*
Offline Offline

Posts: 1542546392

View Profile Personal Message (Offline)

Ignore
1542546392
Reply with quote  #2

1542546392
Report to moderator
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 1582
Merit: 1751


bc1qshxkrpe4arppq89fpzm6c0tpdvx5cfkve2c8kl


View Profile WWW
November 01, 2016, 01:15:22 AM
 #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.

DannyHamilton
Legendary
*
Offline Offline

Activity: 2198
Merit: 1385



View Profile
November 01, 2016, 03:40:23 AM
 #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.

altcointalk14
Sr. Member
****
Offline Offline

Activity: 603
Merit: 250



View Profile
November 01, 2016, 06: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!

DannyHamilton
Legendary
*
Offline Offline

Activity: 2198
Merit: 1385



View Profile
November 01, 2016, 06: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.



altcointalk14
Sr. Member
****
Offline Offline

Activity: 603
Merit: 250



View Profile
November 01, 2016, 07:28:40 PM
 #6

Thanks for clearing that up.

Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!