Bitcoin Forum
November 13, 2024, 03:05:21 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: BTC Permissions stored in Wallet or Address? Wallet Reconstruction  (Read 1382 times)
bitrainbow (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
April 22, 2013, 05:24:47 PM
Last edit: April 22, 2013, 05:43:53 PM by bitrainbow
 #1

OK, I've been trying to get my head around the whole bitcoin thing, and many of the technical aspects. I'm interested in the way it works, beneath the surface.

Some questions:

1. where does the bitcoin data live? For example, if you have a wallet and get 1 BTC at address A, and another bitcoin at address B (both in the same wallet) then, do you have to do anything to consolidate the bitcoins? let's say, if you then want to send 1.5 bitcoins - how does it know which address to take the bitcoins from (at which amount ) and send them on to your desired address?
Do you have any control over these addresses, and which ones get taken from to send bitcoins?

2. What is the point of the separate addresses - besides personal book keeping or accounting - is there a more technical answer to this?

3. If your wallet is the sum of your addresses, then do the btc live in the addresses?

4. For the sake of being very hypothetical- If someone sends me a bitcoin to my software wallet, and immediately after I send it, but before I have a chance to back it up, a meteorite hits my computer, but I have written down the address within the wallet that it was sent to, as well as the private key associated with that particular address inside my wallet -- can I still recover my funds? not just what was in my wallet before being backed up, but also, the new payment?

   - in short: if you loose the backup of your wallet, but have each address and private key written on a piece of paper, can you reconstruct your wallet?








CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
April 22, 2013, 05:28:52 PM
 #2

Fundamentally understand that your wallet contains "private keys" (not bitcoins) - the blockchain (which every full node has a copy of) is the *ledger* of every single tx that has ever occurred.

Provided you have a backup of your wallet then yes it doesn't matter if your computer is destroyed, or crashed, or if your internet connection died - the wallet can be restored and the blockchain contains all the tx's (so your balance will also be able to be restored).

There are some edge cases where your wallet might get "out of whack" (due to a crash or other problem) but at worst you can always restore the backup to a new install to recover (always keep backups).

Also if you do have offline backups of your private keys then your wallet indeed can be reconstructed, however, you need to understand that *change* addresses are normally hidden from you (so after sending a tx bitcoins sent as change back to yourself are then likely to be at a new address that you do not have stored in paper form).

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

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
bitrainbow (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
April 22, 2013, 05:42:56 PM
 #3

Fundamentally understand that your wallet contains "private keys" (not bitcoins) - the blockchain (which every full node has a copy of) is the *ledger* of every single tx that has ever occurred.

Provided you have a backup of your wallet then yes it doesn't matter if your computer is destroyed, or crashed, or if your internet connection died - the wallet can be restored and the blockchain contains all the tx's (so your balance will also be able to be restored).

There are some edge cases where your wallet might get "out of whack" (due to a crash or other problem) but at worst you can always restore the backup to a new install to recover (always keep backups).

Also if you do have offline backups of your private keys then your wallet indeed can be reconstructed, however, you need to understand that *change* addresses are normally hidden from you (so after sending a tx bitcoins sent as change back to yourself are then likely to be at a new address that you do not have stored in paper form).


I understand that the blockchain is a ledger of every transaction that has ever occured and that the wallet does not actually hold the coins- but you see on the surface, that you have x amt BTC in your wallet.

Is it the case, that it is only permissions within the blockchain linked with addresses, such that, the permissions are only accessed through private keys to each address within your wallet that you've had coins sent to you? 

The main question, is if you can not back up your wallet, after the last transaction, yet you know the address the last transaction was sent to, along with the private key for that address, can you still reconstruct/gain access to those funds somehow?
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
April 22, 2013, 05:46:06 PM
 #4

The main question, is if you can not back up your wallet, after the last transaction, yet you know the address the last transaction was sent to, along with the private key for that address, can you still reconstruct/gain access to those funds somehow?

If you are using the Satoshi client then a "key pool" of 100 addresses is stored in your wallet (this can be increased if desired) - thus if you have backed up your wallet it can be fully restored even if up to 100 txs have occurred since that backup was taken.

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

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
bitrainbow (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
April 22, 2013, 06:30:55 PM
 #5

The main question, is if you can not back up your wallet, after the last transaction, yet you know the address the last transaction was sent to, along with the private key for that address, can you still reconstruct/gain access to those funds somehow?

If you are using the Satoshi client then a "key pool" of 100 addresses is stored in your wallet (this can be increased if desired) - thus if you have backed up your wallet it can be fully restored even if up to 100 txs have occurred since that backup was taken.



Thank you! I am looking into the satoshi client and how the key pool works for reconstruction. Is this also the case for blockchain.info online wallets?

I've been reading about change address since your message- so every time you send BTC, your wallet uses coins from random addresses in your wallet and generates a new address for you to give you your change.
So even if you had each address and private key, if you had sent BTC out, and thus your wallet sent you back a new address with your change - you would be missing those BTC in the new address if you tried to reconstruct?

Does the satoshi client solve that issue as wel--Does the key pool, include the change addresses?
w1R903
Full Member
***
Offline Offline

Activity: 218
Merit: 100


View Profile
April 22, 2013, 10:25:16 PM
 #6


Does the satoshi client solve that issue as wel--Does the key pool, include the change addresses?

Yes, as CIYAM wrote, it includes the change addresses up to the first 100 transactions.  At that point, it generates an additional pool of addresses that must be backed up for the next 100 transactions.  The 100 is the default setting -- that can be increased or decreased in the config file.

4096R/F5EA0017
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
April 23, 2013, 01:53:08 AM
 #7

Actually a new address is added to the pool each time one is used (so the pool is *always* 100 addresses) but otherwise correct.

The best idea to to keep regular backups (I back up my wallet pretty much after every tx) and keep them on different media (i.e. hard drive, flash drive and CD-R) and at different physical locations.

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

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
bitrainbow (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
April 25, 2013, 07:32:53 PM
 #8

OK I got it - thank you so much!

If I could trouble you for one more question, I've been searching for an answer on-- Is it possible to print out a backup of a hard wallet (eg. bitcoin QT or litecoin QT) -even if it is an extremely long string paragraph or page of characters- that you could use to restore your wallet after hand typing out each one?
This would be as a safety, in case your hard drive, flash drive, and all digital copies failed.

I want to have a form of paper wallet that does not have to be created online -on a website I have no way of trusting to generate my private keys.

Thank you for any and all advice.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
April 26, 2013, 03:21:51 AM
 #9

I don't think bitoin-qt has such a feature.

Understand that you can use sites like "bitaddress.org" and "brainwallet.org" *offline* (by saving the web page) so if you have an "offline" computer and a USB flash drive that you trust then simply copy the offline "web page" to the USB and use it in the offline computer to create your wallet.

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

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
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!