Bitcoin Forum
April 25, 2024, 01:35:49 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Old Uncompressed Addresses  (Read 636 times)
altcointalk14 (OP)
Sr. Member
****
Offline Offline

Activity: 751
Merit: 251


View Profile
November 01, 2016, 01:04:20 AM
Merited by ABCbits (1)
 #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!
1714008949
Hero Member
*
Offline Offline

Posts: 1714008949

View Profile Personal Message (Offline)

Ignore
1714008949
Reply with quote  #2

1714008949
Report to moderator
1714008949
Hero Member
*
Offline Offline

Posts: 1714008949

View Profile Personal Message (Offline)

Ignore
1714008949
Reply with quote  #2

1714008949
Report to moderator
Make sure you back up your wallet regularly! Unlike a bank account, nobody can help you if you lose access to your BTC.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714008949
Hero Member
*
Offline Offline

Posts: 1714008949

View Profile Personal Message (Offline)

Ignore
1714008949
Reply with quote  #2

1714008949
Report to moderator
1714008949
Hero Member
*
Offline Offline

Posts: 1714008949

View Profile Personal Message (Offline)

Ignore
1714008949
Reply with quote  #2

1714008949
Report to moderator
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3374
Merit: 6535


Just writing some code


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: 3374
Merit: 4606



View Profile
November 01, 2016, 03:40:23 AM
Merited by ABCbits (3)
 #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 (OP)
Sr. Member
****
Offline Offline

Activity: 751
Merit: 251


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: 3374
Merit: 4606



View Profile
November 01, 2016, 06:50:45 PM
Merited by ABCbits (6)
 #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 (OP)
Sr. Member
****
Offline Offline

Activity: 751
Merit: 251


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

Thanks for clearing that up.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!