Bug#731953: [Pkg-bitcoin-devel] Bug#731953: bitcoin: Package is allowed to build with too-new libdb, resulting in non-portability of wallets

2014-05-16 Thread Scott Howard
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

2014-05-16 Thread Micha Bailey
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

2013-12-11 Thread Scott Howard
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

2013-12-11 Thread Micha Bailey
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

2013-12-11 Thread Micha Bailey
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.