Bug#731953: [Pkg-bitcoin-devel] Bug#731953: bitcoin: Package is allowed to build with too-new libdb, resulting in non-portability of wallets
On May 15, 2014 7:09 PM, Brian May br...@microcomaustralia.com.au wrote: Hello, Is this bug still relevant? My understanding is that upstream switched from bdb to leveldb: https://github.com/bitcoin/bips/blob/master/bip-0050.mediawiki The blockchain uses leveldb but the wallet still uses bdb. I remember some talk about switching but nothing happened yet. Cheers, Scott
Bug#731953: [Pkg-bitcoin-devel] Bug#731953: bitcoin: Package is allowed to build with too-new libdb, resulting in non-portability of wallets
What happened with 0.8 was this: rather than keeping an index of every transaction, with its position in each block, etc, in BDB, a LevelDB is created, and it's used to maintain what's called the UTXO set, short for Unspent Transaction Output set. Basically, this contains all unspent transaction outputs, with the information needed to redeem them, making it much more efficient to look up UTXOs, rather than having to look up the position of the transaction within the blockchain and seek them out. However, BDB is still used for the wallet, which is where compatibility is an issue. On Fri, May 16, 2014 at 3:00 PM, pkg-bitcoin-devel-requ...@lists.alioth.debian.org wrote: snip -- Message: 2 Date: Fri, 16 May 2014 09:06:01 +1000 From: Brian May br...@microcomaustralia.com.au To: 731...@bugs.debian.org Subject: [Pkg-bitcoin-devel] Bug#731953: bitcoin: Package is allowed to build with too-new libdb, resulting in non-portability of wallets Message-ID: caa0zo6aotcnhyb1+wn5_xfbednygezjkjg5rrfygx80n5qf...@mail.gmail.com Content-Type: text/plain; charset=utf-8 Hello, Is this bug still relevant? My understanding is that upstream switched from bdb to leveldb: https://github.com/bitcoin/bips/blob/master/bip-0050.mediawiki Which presumably means compatibility issues with older bdb no longer matters any more. Although I see bitcoin-qt depends on libdb5.3++, so it is possible my understanding my not be correct. If I am correct though, can this bug be closed? -- Brian May br...@microcomaustralia.com.au -- next part -- An HTML attachment was scrubbed... URL: http://lists.alioth.debian.org/pipermail/pkg-bitcoin-devel/attachments/20140516/ca92a482/attachment-0001.html -- Subject: Digest Footer ___ Pkg-bitcoin-devel mailing list pkg-bitcoin-de...@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-bitcoin-devel -- End of Pkg-bitcoin-devel Digest, Vol 68, Issue 3
Bug#731953: [Pkg-bitcoin-devel] Bug#731953: bitcoin: Package is allowed to build with too-new libdb, resulting in non-portability of wallets
severity 731952 wishlist tags 731952 wontfix thanks In the bitcoin_0.8.6-1.dsc file, the Build-Depends: section includes the entry libdb++-dev | libdb4.8++-dev. This results in the package potentially being built with BDB version 5.1. The recommended version, and the one that the upstream release binaries for all platforms (including Windows, OS X, and Linux) are built with, is 4.8. BDB is used in the Bitcoin software for the bitcoin wallet. BDB 5.1 databases are not backwards-compatible with BDB 4.8. The result of this is any wallet.dat files that are created by, or even opened with, a Bitcoin binary compiled with BDB 5.1, that wallet will become incompatible with most other bitcoin binaries out there. This text is well written and should be added to README.Debian and a summary of this statement added to the package description. Debian removed libdb4.8, so this is unfixable. The severity is minor since this only shows up when you try to mix upstream and Debian binaries. Additionally, you can work around it by importing/exporting private keys to and from wallets of any version. You can open wallet.dat with the client that created/modified it in order to export keys. Backing up wallet.dat is very important for this and many other reasons. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#731953: [Pkg-bitcoin-devel] Bug#731953: bitcoin: Package is allowed to build with too-new libdb, resulting in non-portability of wallets
The problem is not easily worked around by importing/exporting private keys, as there will potentially be many different keys that need to be exported and reimported, some of which aren't even exposed to the user due to the mechanics of change addresses and the keypool. Additionally, users expect to be able to move from one platform to another. Re: your comment about backing up wallet.dat, backups of the wallet are exactly where this problem is the worst, because a backup is expected to work on any system. Users of the package *need* to know that a backup of their wallet.dat from a Debian/Ubuntu system using the distro's repository cannot be expected to be usable on the majority of systems that run Bitcoin. On Wed, Dec 11, 2013 at 6:23 PM, Scott Howard showard...@gmail.com wrote: severity 731952 wishlist tags 731952 wontfix thanks In the bitcoin_0.8.6-1.dsc file, the Build-Depends: section includes the entry libdb++-dev | libdb4.8++-dev. This results in the package potentially being built with BDB version 5.1. The recommended version, and the one that the upstream release binaries for all platforms (including Windows, OS X, and Linux) are built with, is 4.8. BDB is used in the Bitcoin software for the bitcoin wallet. BDB 5.1 databases are not backwards-compatible with BDB 4.8. The result of this is any wallet.dat files that are created by, or even opened with, a Bitcoin binary compiled with BDB 5.1, that wallet will become incompatible with most other bitcoin binaries out there. This text is well written and should be added to README.Debian and a summary of this statement added to the package description. Debian removed libdb4.8, so this is unfixable. The severity is minor since this only shows up when you try to mix upstream and Debian binaries. Additionally, you can work around it by importing/exporting private keys to and from wallets of any version. You can open wallet.dat with the client that created/modified it in order to export keys. Backing up wallet.dat is very important for this and many other reasons.
Bug#731953: [Pkg-bitcoin-devel] Bug#731953: bitcoin: Package is allowed to build with too-new libdb, resulting in non-portability of wallets
And additionally, if you attempt to run a 4.8-built binary with a 5.1 wallet, the error isn't clear about the problem, as it's a BDB failure and not a Bitcoin one, that can be very confusing to troubleshoot. On Wed, Dec 11, 2013 at 6:51 PM, Micha Bailey michabai...@gmail.com wrote: The problem is not easily worked around by importing/exporting private keys, as there will potentially be many different keys that need to be exported and reimported, some of which aren't even exposed to the user due to the mechanics of change addresses and the keypool. Additionally, users expect to be able to move from one platform to another. Re: your comment about backing up wallet.dat, backups of the wallet are exactly where this problem is the worst, because a backup is expected to work on any system. Users of the package *need* to know that a backup of their wallet.dat from a Debian/Ubuntu system using the distro's repository cannot be expected to be usable on the majority of systems that run Bitcoin. On Wed, Dec 11, 2013 at 6:23 PM, Scott Howard showard...@gmail.comwrote: severity 731952 wishlist tags 731952 wontfix thanks In the bitcoin_0.8.6-1.dsc file, the Build-Depends: section includes the entry libdb++-dev | libdb4.8++-dev. This results in the package potentially being built with BDB version 5.1. The recommended version, and the one that the upstream release binaries for all platforms (including Windows, OS X, and Linux) are built with, is 4.8. BDB is used in the Bitcoin software for the bitcoin wallet. BDB 5.1 databases are not backwards-compatible with BDB 4.8. The result of this is any wallet.dat files that are created by, or even opened with, a Bitcoin binary compiled with BDB 5.1, that wallet will become incompatible with most other bitcoin binaries out there. This text is well written and should be added to README.Debian and a summary of this statement added to the package description. Debian removed libdb4.8, so this is unfixable. The severity is minor since this only shows up when you try to mix upstream and Debian binaries. Additionally, you can work around it by importing/exporting private keys to and from wallets of any version. You can open wallet.dat with the client that created/modified it in order to export keys. Backing up wallet.dat is very important for this and many other reasons.