Author

Topic: key questions (Read 566 times)

newbie
Activity: 8
Merit: 0
September 05, 2013, 12:22:52 PM
#5
OK on that.  What I am trying to d is write up a paper on all of this.  It is hard to do something will make sense to a laymen.  I can explain the public point to SHA 256 and then repmd 160 to base 58 so that a human can possibly remember it.  All of that is good.  The issue that is up front is in the wallet creation.  Not being a programmer I am looking at it and this does not make sense.  The main problem is that in looking at the code it first make a random seed of 64 bits.  Then it somehow does the Koblitz curve line private public set from this.  The public address is an 04 then two 256 bit line points.  Even though there are big endian they normally settle in a higher range on purpose by how the code is written.  I also cannot figure out how to decode this into the negative values.  Look at the signatures are here:

https://en.bitcoin.it/wiki/Protocol_specification

Then look at Satoshi zero here:

http://blockexplorer.com/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

Then the associated wallet for the 50 coins which has grown:

http://blockexplorer.com/address/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

 Jim over at multibit thinks that maybe Reiner can talk on this.  I am just wondering how to walk a laymen through this process to have it make sense.
b!z
legendary
Activity: 1582
Merit: 1010
August 27, 2013, 04:58:36 AM
#4
First there is a 256 bit private key.  This private key may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

Then the computer computes a 256 bit public key.  This public key may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

Then the computer calculates a 256 bit SHA256 hash of the public key.  This SHA256 hash may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

Then the computer calculates a 160 bit RIPEMD-160 hash of the SHA256 hash value.  This RIPEMD-160 hash may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

Finally the computer calculates a 32 bit checksum of the RIPEMD-160 value.  This checksum may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

The computer concatenates a version number, the RIPEMD-160 hash, and the checksum.  This concatenated value is what is known as a Bitcoin Address.  It may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

https://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_addresses

Very interesting read. I didn't know exactly how addresses are formed until I read this.
legendary
Activity: 3472
Merit: 4801
August 26, 2013, 10:46:16 PM
#3
First there is a 256 bit private key.  This private key may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

Then the computer computes a 256 bit public key.  This public key may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

Then the computer calculates a 256 bit SHA256 hash of the public key.  This SHA256 hash may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

Then the computer calculates a 160 bit RIPEMD-160 hash of the SHA256 hash value.  This RIPEMD-160 hash may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

Finally the computer calculates a 32 bit checksum of the RIPEMD-160 value.  This checksum may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

The computer concatenates a version number, the RIPEMD-160 hash, and the checksum.  This concatenated value is what is known as a Bitcoin Address.  It may be converted to Hex or Base58 for the purposes of display to humans in some cases, but internally the computer represents it in binary.

https://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_addresses
legendary
Activity: 4536
Merit: 3188
Vile Vixen and Miss Bitcointalk 2021-2023
August 26, 2013, 10:03:35 PM
#2
It doesn't. Computers work in binary (base 2). The conversion to hex (base 16) or base58 or any other base happens later and is purely for the benefit of us humans.
newbie
Activity: 8
Merit: 0
August 26, 2013, 09:01:26 PM
#1
How does the system make the base 58 public addresses.  There is also a public key and private.  Those look to be in hex.  Does the system first come up with the 58 number or does it somehow work the other way?
Jump to: