Bitcoin Forum
November 10, 2024, 07:36:33 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Noob question: How do offline generators create working wallets?  (Read 836 times)
kingcrimson (OP)
Legendary
*
Offline Offline

Activity: 1025
Merit: 1000


View Profile
November 17, 2012, 05:46:49 AM
 #1

I mean doesn't it have to be online to make sure that wallet isn't already taken? I don't understand how it works. How does the database know that these wallets/pass keys are being created, if the generator is offline from the database?
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
November 17, 2012, 06:38:59 AM
Last edit: November 17, 2012, 06:51:36 AM by CIYAM Pty. Ltd.
 #2

Bitcoin addresses have no need to be stored in a database although in order for you to conveniently use Bitcoin the wallet will automatically generate private keys and determine their public key counterpart and from that show you an address that you can use (an online wallet service does the same). Most Bitcoin clients and most online wallet services also allow you to import private keys.

So the key point to understand is that a Bitcoin "address" is mathematically derived from a private key (which in the case of Bitcoin is a 256 bit number) so the only information that you need to keep to construct a "wallet" (assuming your concern is just the funds and not things like address labels) is the private keys (which need to be random numbers with a very high level of entropy).

You might find it helpful to have a play with https://bitaddress.org and click on the "brain wallet" tab - as you will see you can create a valid bitcoin address by supplying a pass phrase (which is then turned into a 256 bit number by using the SHA256 hash of the pass phrase).

There are a few threads that discuss the fact that the chances of two 256 bit random numbers (assuming that it *is* random) being identical is significantly less than getting hit by lightning immediately after winning the lottery via a ticket that was given to you by a stranger you would never have met unless you happened to have a car accident after answering your phone and finding out that the person on the other end was Mick Jagger. Wink

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Kuusou
Newbie
*
Offline Offline

Activity: 56
Merit: 0



View Profile
November 17, 2012, 08:33:32 AM
 #3

Also it would be mathematically impossible that you could generate a bitcoin address that someone has already, that is why it can be offline and still receive funds.

improbable not impossible.
kingcrimson (OP)
Legendary
*
Offline Offline

Activity: 1025
Merit: 1000


View Profile
November 17, 2012, 08:44:53 AM
 #4

I used bitaddress to generate a paper wallet offline, it gave me a public, and private key. Do I need to do anything else or can I start to send coins to it?

Is the public key that it gave me the receiving address?

and the private key is the password?
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
November 17, 2012, 09:52:22 AM
 #5

I used bitaddress to generate a paper wallet offline, it gave me a public, and private key. Do I need to do anything else or can I start to send coins to it?

Is the public key that it gave me the receiving address?

Yes - any BTC sent to that address can be redeemed by the holder of the private key (which therefore needs to be securely held with as much attention to the security as you care for the BTC it can unlock).

and the private key is the password?

It's not really a password but is simply the "key" that is required in order to create a transaction to send the funds from the public address to another (to do this typically you first would import that private key into a wallet).

Most importantly:

1) If any person or (more likely) any spying software has seen your private key then it is not secure and the funds can be stolen.

2) Print out the private key and lock it in a safe and/or encrypt the private key (with a secure password created by some software such as "lastpass") and keep backups of it.

3) Do not lose the private key or your way of recovering it (be it by paper, password or better still both) as funds *cannot* be recovered otherwise.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Gabi
Legendary
*
Offline Offline

Activity: 1148
Merit: 1008


If you want to walk on water, get out of the boat


View Profile
November 17, 2012, 03:18:44 PM
 #6

I mean doesn't it have to be online to make sure that wallet isn't already taken?
There is no check. Call me when you create a wallet wich is already taken. It should take like more time than the life of the universe

Quote
I don't understand how it works. How does the database know that these wallets/pass keys are being created, if the generator is offline from the database?
It doesn't know, and there is no need for it to know. As i said, call me when that happens  Wink Maybe after the universe death or so...

spine001
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
December 20, 2013, 09:51:43 PM
 #7

For newbies, this may add some light to the previous discussion:

The probability of running towards a wall and going through it unharmed is NOT zero. It's extremely low, probably close to the probability of generating two identical wallet public keys!

Check this out and then run to the nearest wall as many  times as you want to test the likelihood of getting through it unharmed!

Have fun!
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!