Bitcoin Forum
May 08, 2024, 09:48:10 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Bitcoin wallets and error correcting code  (Read 1138 times)
Laereom (OP)
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
May 14, 2011, 11:32:08 PM
 #1

I've been mulling over the various wallet storage solutions, and most of them, I'm just not satisfied with.  One flipped bit can invalidate your entire wallet unless you keep it backed up in multiple locations.  Not that keeping it backed up in multiple locations isn't something that should be done anyway...but anything that limits the requirement to back up from a remote server is great.

I was wondering if anyone had any experience applying bytewise ECC to bitcoin.  The algorithm for tolerating 1 bit of error per byte is fairly straightforward, and would dramatically increase the robustness of a bitcoin wallet.  I've read a bit about it, but it's been a couple of years since I did any related coding, and even that was just simple classroom stuff.  I can't seem to find any programs which implement ECC archiving.  Has anyone else had thoughts along these lines, or any knowledge in the area?
1715204890
Hero Member
*
Offline Offline

Posts: 1715204890

View Profile Personal Message (Offline)

Ignore
1715204890
Reply with quote  #2

1715204890
Report to moderator
1715204890
Hero Member
*
Offline Offline

Posts: 1715204890

View Profile Personal Message (Offline)

Ignore
1715204890
Reply with quote  #2

1715204890
Report to moderator
"Bitcoin: mining our own business since 2009" -- Pieter Wuille
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4172
Merit: 8417



View Profile WWW
May 15, 2011, 12:24:07 AM
Last edit: May 15, 2011, 01:50:26 AM by gmaxwell
 #2

I've been mulling over the various wallet storage solutions, and most of them, I'm just not satisfied with.  One flipped bit can invalidate your entire wallet unless you keep it backed up in multiple locations.  Not that keeping it backed up in multiple locations isn't something that should be done anyway...but anything that limits the requirement to back up from a remote server is great.

I was wondering if anyone had any experience applying bytewise ECC to bitcoin.  The algorithm for tolerating 1 bit of error per byte is fairly straightforward, and would dramatically increase the robustness of a bitcoin wallet.  I've read a bit about it, but it's been a couple of years since I did any related coding, and even that was just simple classroom stuff.  I can't seem to find any programs which implement ECC archiving.  Has anyone else had thoughts along these lines, or any knowledge in the area?


Had basically the same thought—  but you're missing the fact that all the storage we use is not a bit error channel, but is instead a block-erasure channel:  The disk already has a strong ECC per block and if it fails the whole block is unreadable.   Failing sectors on disk are not uncommon.   The busses we carry data over can get bitflips but it's really rare.

There are many tools for FECed archiving against erasure channels: E.g. the vdmfec software here: http://members.tripod.com/professor_tom/archives/index.html


But really, the wallets are so tiny that I don't see any reason for not simply keeping many copies. It would have a lot less software complexity: e.g. it would only take a few lines of code to make the client keep 1 "before last write" and 52 "weekly" old copies of your wallet.. and only about 5MB space assuming that your wallet is 100KB.

Someone showed up in the #bitcoin channel freaked out a few days ago because their wallet.dat just disappeared with a lot of coin in it.  We convinced him to shutoff and use a rescue disk with file recovery tools. He got it back— the file was fine, just deleted.  Looked to me like his disk was on the way out and after hitting an error writing an update the wallet got unlinked.  (perhaps there isn't enough error handling in the client software).  Obviously backups are critical but the software should do all it can even in the face of careless users, and adding backup copies would do a lot to guard against stupid..
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!