Bitcoin Forum
May 01, 2024, 09:19:08 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Mutable wallets: why?  (Read 1524 times)
bitplane (OP)
Sr. Member
****
Offline Offline

Activity: 321
Merit: 250

Firstbits: 1gyzhw


View Profile WWW
July 23, 2011, 05:31:02 AM
 #1

Are there clear advantages of having a wallet that mutates whenever we open the Bitcoin client, or is this an artefact of some other design decision?

I can see several disadvantages:

1) My wallet file constantly changes, so I need to keep backing it up every time I use it.
2) It grows over time, becoming harder and harder to manage.
3) If I replace it with an old backup, I have to rescan because (I'm assuming that) transaction cache data exists within the wallet (why?!)
4) If my computer crashes while Bitcoin is writing to the wallet then it has a chance of becoming corrupted.

Is there a good reason why we don't have just one address held in a file that never changes, that's easy to back up and holds no state data?
Do we need all 100 addresses in there, do we need more than one or two?
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714598348
Hero Member
*
Offline Offline

Posts: 1714598348

View Profile Personal Message (Offline)

Ignore
1714598348
Reply with quote  #2

1714598348
Report to moderator
1714598348
Hero Member
*
Offline Offline

Posts: 1714598348

View Profile Personal Message (Offline)

Ignore
1714598348
Reply with quote  #2

1714598348
Report to moderator
1714598348
Hero Member
*
Offline Offline

Posts: 1714598348

View Profile Personal Message (Offline)

Ignore
1714598348
Reply with quote  #2

1714598348
Report to moderator
EricJ2190
Full Member
***
Offline Offline

Activity: 134
Merit: 102


View Profile
July 23, 2011, 05:35:58 AM
 #2

Having many addresses improves privacy and makes it easier to keep track of payments from multiple sources.
error
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
July 23, 2011, 05:39:33 AM
 #3

Data about YOUR transactions is stored in the wallet so it can be accessed and displayed quickly. Without this, you would have to wait as long as several minutes (however long -rescan runs) every time you started the Bitcoin client. This data could (and probably should) be stored elsewhere.

For purposes of backup, you only NEED to backup the wallet.dat every time a new address is generated. But this happens almost every time you send bitcoins, and also happens the first time you receive bitcoins at any particular address. However, though new addresses are generated, Bitcoin always uses the oldest ones in the pool of 100 addresses. So using a slightly older backup won't hurt you, unless you've sent 100 transactions or something since your last backup.

3KzNGwzRZ6SimWuFAgh4TnXzHpruHMZmV8
bitplane (OP)
Sr. Member
****
Offline Offline

Activity: 321
Merit: 250

Firstbits: 1gyzhw


View Profile WWW
July 23, 2011, 05:55:58 AM
 #4

Having many addresses improves privacy and makes it easier to keep track of payments from multiple sources.
I guess that payments from multiple sources is useful for most people, though I've never used different addresses for each person myself. I also guess that each published address could potentially mean lost funds, so a wallet per address would be out of the question; now I see the need for deterministic wallets!

This data could (and probably should) be stored elsewhere.
I agree. A separate cache in some table for each inbound address in some other database would be ideal. Maybe also hold the time when the address was generated so there's no need to scan the entire block chain if you add a new address to an old client.

For purposes of backup, you only NEED to backup the wallet.dat every time a new address is generated.
That's not very user-friendly at all though, and if you mess up it can cost you everything you own.

Are there any plans to solve this issue? It's by far my biggest complaint, savings wallets are easy but actually having one for day-to-day use is a chore
error
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
July 23, 2011, 06:06:59 AM
 #5

For purposes of backup, you only NEED to backup the wallet.dat every time a new address is generated.
That's not very user-friendly at all though, and if you mess up it can cost you everything you own.

Are there any plans to solve this issue? It's by far my biggest complaint, savings wallets are easy but actually having one for day-to-day use is a chore

Wait a minute. You're telling me you don't ALREADY backup your important data at least weekly?

3KzNGwzRZ6SimWuFAgh4TnXzHpruHMZmV8
bitplane (OP)
Sr. Member
****
Offline Offline

Activity: 321
Merit: 250

Firstbits: 1gyzhw


View Profile WWW
July 23, 2011, 04:31:44 PM
 #6

Wait a minute. You're telling me you don't ALREADY backup your important data at least weekly?
None of my important data is as sensitive and vulnerable as my unencrypted bitcoin wallet. I suppose if the wallet was encrypted I could drop it in my dropbox dir, or maybe if it were possible to keep my keys in KeePass and serve them over KeePassHTTP that would work. Currently backing up my wallet and synchronizing it across computers is a manual process, if it's not for you then you have a very specific type of backup/synchronization strategy that happens to work for this particular file. (lol congratulations)
netrin
Sr. Member
****
Offline Offline

Activity: 322
Merit: 251


FirstBits: 168Bc


View Profile
July 27, 2011, 03:23:06 PM
 #7

For purposes of backup, you only NEED to backup the wallet.dat every time a new address is generated.
That's not very user-friendly at all though, and if you mess up it can cost you everything you own.

Are there any plans to solve this issue? It's by far my biggest complaint, savings wallets are easy but actually having one for day-to-day use is a chore

Wait a minute. You're telling me you don't ALREADY backup your important data at least weekly?

Do you know any individual (in the flesh) who does? If my friends' data are backed up it's only because I do it. The number of times I've tried to restore coworkers corrupted NTFS disks never fails to amaze me. Hell just last week I was asked to help restore (assuredly non-critical) hospital data.

I think the 100 key pool is a good idea. But I think the wallet should cycle through the keys. If I want anonymity, I'll increase the pool size or create multiple wallets. But leaky wallets are disastrous.

I symmetrically encrypt each of my wallets and check them into DVCS. But its such a PITA that I've come to rely upon that 100 keypool buffer.

Greenlandic tupilak. Hand carved, traditional cursed bone figures. Sorry, polar bear, walrus and human remains not available for export.
error
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
July 27, 2011, 07:37:36 PM
 #8

For purposes of backup, you only NEED to backup the wallet.dat every time a new address is generated.
That's not very user-friendly at all though, and if you mess up it can cost you everything you own.

Are there any plans to solve this issue? It's by far my biggest complaint, savings wallets are easy but actually having one for day-to-day use is a chore

Wait a minute. You're telling me you don't ALREADY backup your important data at least weekly?

Do you know any individual (in the flesh) who does? If my friends' data are backed up it's only because I do it. The number of times I've tried to restore coworkers corrupted NTFS disks never fails to amaze me. Hell just last week I was asked to help restore (assuredly non-critical) hospital data.

I think the 100 key pool is a good idea. But I think the wallet should cycle through the keys. If I want anonymity, I'll increase the pool size or create multiple wallets. But leaky wallets are disastrous.

I symmetrically encrypt each of my wallets and check them into DVCS. But its such a PITA that I've come to rely upon that 100 keypool buffer.

I backup my important stuff daily. Some really critical things get backed up hourly or even more often. I've lost enough data to know that I don't want it to ever happen again.

3KzNGwzRZ6SimWuFAgh4TnXzHpruHMZmV8
bitplane (OP)
Sr. Member
****
Offline Offline

Activity: 321
Merit: 250

Firstbits: 1gyzhw


View Profile WWW
July 28, 2011, 05:08:55 PM
 #9

I backup my important stuff daily. Some really critical things get backed up hourly or even more often. I've lost enough data to know that I don't want it to ever happen again.
Let's assume that you know one other person with a computer, do they also have an anal backup procedure like yours?

If not then Bitcoin is a liability for 50% of all the computer users who you know. It should be accessible to 99.9% if it's to be successful.
error
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
July 28, 2011, 05:50:39 PM
 #10

I backup my important stuff daily. Some really critical things get backed up hourly or even more often. I've lost enough data to know that I don't want it to ever happen again.
Let's assume that you know one other person with a computer, do they also have an anal backup procedure like yours?

If not then Bitcoin is a liability for 50% of all the computer users who you know. It should be accessible to 99.9% if it's to be successful.

I know plenty of people who are diligent about backups. Of course, I also know plenty of people who are not. I also know that every single one of the latter knows they should be backing their data up, and they still don't do it. How do you solve a problem like that?

3KzNGwzRZ6SimWuFAgh4TnXzHpruHMZmV8
bitplane (OP)
Sr. Member
****
Offline Offline

Activity: 321
Merit: 250

Firstbits: 1gyzhw


View Profile WWW
July 29, 2011, 01:09:27 AM
 #11

I know plenty of people who are diligent about backups. Of course, I also know plenty of people who are not. I also know that every single one of the latter knows they should be backing their data up, and they still don't do it. How do you solve a problem like that?

An immutable, encrypted wallet that can be posted everywhere.
An option for either maximum anonymity (new key each time), or maximum ease of use (a single address), with the latter being the default.
Nags and prompts in the client to make people back up their wallets once they contain over a certain balance.
Store the wallet in my documents, not in %appdata%, so it's actually visible and can be backed up by normal users who do make occasional backups.
Detect DropBox, Skydrive, UbuntuOne and so on, offer to store the file in these online locations by default.
Option to print private keys or deterministic wallet seed to paper as a QR code, and the option to import it again.
Shift attitudes from "works for me, lusers" to "our users are a fragile and delicate resource that must be protected at all costs"
ctoon6
Sr. Member
****
Offline Offline

Activity: 350
Merit: 251



View Profile
July 29, 2011, 01:56:38 AM
 #12

I would agree that we need an anonymous mode and a normal i don't care if someone can trace me mode. besides, if you want to be truly anonymous, you need to use a laundering service through tor. really the way the client operates now is just a futile attempt that may not be worth the trouble it causes.

2112
Legendary
*
Offline Offline

Activity: 2128
Merit: 1065



View Profile
July 29, 2011, 02:26:15 AM
 #13

Shift attitudes from "works for me, lusers" to "our users are a fragile and delicate resource that must be protected at all costs"
While I agree with what you wrote above, I also think that you don't completely understand the motivation of the people who donate their time towards the project. Perhaps you could shift your thinking towards: "I invested years of my time to excavate through this shipwreck. Now it is payback time or forever hold your peace." and "the users are worth as much as the transaction fees they are willing to pay, no more & no less".

Your sentences above make me think that you were more involved in some commercial product development and not an open source ego-stroking fests. To that extent you'll probably find more people willing to listen if you modify your approach to the developers here.

Please comment, critique, criticize or ridicule BIP 2112: https://bitcointalk.org/index.php?topic=54382.0
Long-term mining prognosis: https://bitcointalk.org/index.php?topic=91101.0
bitplane (OP)
Sr. Member
****
Offline Offline

Activity: 321
Merit: 250

Firstbits: 1gyzhw


View Profile WWW
July 29, 2011, 03:56:46 PM
Last edit: July 29, 2011, 07:38:40 PM by bitplane
 #14

Your sentences above make me think that you were more involved in some commercial product development and not an open source ego-stroking fests.

Nope, but I've decided to put my money where my mouth is and do some hacking rather than being a whiny little girl about it. Over the coming weeks I'll focus on reading and understanding bitcoin-alt, hopefully, if I can find the time, I'll be able to contribute my ideas back this way.

edit: looks like bitcoin-alt isn't finished. I guess I'll have to get back into C++
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!