New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Breadwallet seed not compatible with Trezor? #131

Closed
jeroenvanagt opened this Issue Jan 7, 2015 · 40 comments

Comments

Projects
None yet
@jeroenvanagt

jeroenvanagt commented Jan 7, 2015

When I recovered my Trezor using the Breadwallet seed (12 words) I could not see / access the BTC.

The Trezor uses a deterministic wallet (BIP0032) https://en.bitcoin.it/wiki/Deterministic_wallet
So I expected to be able to access the Breadwallet funds using the Trezor

The same trick worked between Mycellium -> Trezor

What is going wrong?

@dabura667

This comment has been minimized.

Show comment
Hide comment
@dabura667

dabura667 Jan 7, 2015

Trezor and Mycelium and Wallet 32 use:

m/44'/0'/0'/0/0 as their key derivation path.

breadwallet uses:
m/0'/0/0

So BIP39 (mnemonic phrase seed generation) is the same.
BIP32 (Hierarchical Deterministic wallets) is the same.

BUT the hierarchy that is used varies from wallet to wallet.

(Note: breadwallet was started LONG before BIP44)

dabura667 commented Jan 7, 2015

Trezor and Mycelium and Wallet 32 use:

m/44'/0'/0'/0/0 as their key derivation path.

breadwallet uses:
m/0'/0/0

So BIP39 (mnemonic phrase seed generation) is the same.
BIP32 (Hierarchical Deterministic wallets) is the same.

BUT the hierarchy that is used varies from wallet to wallet.

(Note: breadwallet was started LONG before BIP44)

@voisine voisine added the enhancement label Jan 9, 2015

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Jan 9, 2015

Owner

@jeroenvanagt, @dabura667 has it right, BIP32 is more of a framework for multiple different deterministic wallet layouts. Trezor and mycelium decided to go with a different layout than breadwallet and hive were already using. We're using the simplest "default" layout actually mentioned in the BIP32 spec, while they use a different layout described in BIP44, which came out afterward.

It is confusing for users though, so maybe breadwallet should check the first few addresses in the BIP44 layout when restoring from a backup phrase and handle it. I'll leave the issue open as a feature request.

Owner

voisine commented Jan 9, 2015

@jeroenvanagt, @dabura667 has it right, BIP32 is more of a framework for multiple different deterministic wallet layouts. Trezor and mycelium decided to go with a different layout than breadwallet and hive were already using. We're using the simplest "default" layout actually mentioned in the BIP32 spec, while they use a different layout described in BIP44, which came out afterward.

It is confusing for users though, so maybe breadwallet should check the first few addresses in the BIP44 layout when restoring from a backup phrase and handle it. I'll leave the issue open as a feature request.

@mcelrath

This comment has been minimized.

Show comment
Hide comment
@mcelrath

mcelrath Jan 27, 2015

Does BIP44 supercede the recommendations of BIP32 and shouldn't it then be followed?

In any case, +1 for scanning the first few address derivation paths for other known wallets.

mcelrath commented Jan 27, 2015

Does BIP44 supercede the recommendations of BIP32 and shouldn't it then be followed?

In any case, +1 for scanning the first few address derivation paths for other known wallets.

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Jan 28, 2015

Owner

No, BIP44 doesn't supersede. BIP43 describes various different layouts of which BIP44 is one. There was some talk of adding "purpose 0" to the BIP43 list to describe the original simplest single wallet tree structure that breadwallet and hive both use.

Owner

voisine commented Jan 28, 2015

No, BIP44 doesn't supersede. BIP43 describes various different layouts of which BIP44 is one. There was some talk of adding "purpose 0" to the BIP43 list to describe the original simplest single wallet tree structure that breadwallet and hive both use.

@jeroenvanagt

This comment has been minimized.

Show comment
Hide comment
@jeroenvanagt

jeroenvanagt Feb 10, 2015

If the majority of HD wallets use BIP44 (m/44'/0'/0'/0/0) as their key derivation path, wouldn't it be better for breadwallet to join this (upcoming) 'industry standard'? This makes it easy for users to manage their BTC from different HD wallets and easily switch between HD wallets. This will also generate more trust because your BTC's are not locked-in to a single HD wallet solution.

How difficult would the migration from m/0'/0/0 to m/44'/0'/0'/0/0 be?

jeroenvanagt commented Feb 10, 2015

If the majority of HD wallets use BIP44 (m/44'/0'/0'/0/0) as their key derivation path, wouldn't it be better for breadwallet to join this (upcoming) 'industry standard'? This makes it easy for users to manage their BTC from different HD wallets and easily switch between HD wallets. This will also generate more trust because your BTC's are not locked-in to a single HD wallet solution.

How difficult would the migration from m/0'/0/0 to m/44'/0'/0'/0/0 be?

@mcelrath

This comment has been minimized.

Show comment
Hide comment
@mcelrath

mcelrath Feb 10, 2015

It is already the industry standard, as defined by BIP44 (hence the 44 in the path).

And yes, bread wallet should join. ;-)

mcelrath commented Feb 10, 2015

It is already the industry standard, as defined by BIP44 (hence the 44 in the path).

And yes, bread wallet should join. ;-)

@dabura667

This comment has been minimized.

Show comment
Hide comment
@dabura667

dabura667 Feb 11, 2015

This makes it easy for users to manage their BTC from different HD wallets and easily switch between HD wallets.

Why is this desirable from a security perspective? You are opening yourself up to a wider attack area, and a normal user won't be able to grasp that concept and just assume their bitcoins are just as safe on a Trezor as they are on http://www.HDWEBWALLET.com/inputyourHDseedhereplz.html

dabura667 commented Feb 11, 2015

This makes it easy for users to manage their BTC from different HD wallets and easily switch between HD wallets.

Why is this desirable from a security perspective? You are opening yourself up to a wider attack area, and a normal user won't be able to grasp that concept and just assume their bitcoins are just as safe on a Trezor as they are on http://www.HDWEBWALLET.com/inputyourHDseedhereplz.html

@dabura667

This comment has been minimized.

Show comment
Hide comment
@dabura667

dabura667 Feb 11, 2015

Re: the reason why Electrum 2.0 won't be supporting BIP44 or BIP39 anymore.

dabura667 commented Feb 11, 2015

Re: the reason why Electrum 2.0 won't be supporting BIP44 or BIP39 anymore.

@rgenito

This comment has been minimized.

Show comment
Hide comment
@rgenito

rgenito Feb 11, 2015

I don't see anything wrong with supporting BIP44. If the user wants to widen their points of attack, then so let them. The idea of a the 12-word phrase (from my understanding) is being able to use that phrase to have access to your funds on any device (or software package) in the world...and that alone is pretty powerful.

As far as security goes, I see no difference between m/0'/0/0 and m/44'/0'/0'/0/0. BIP44 alone I could care less about, as to my understanding and the use cases of "currency" is concerned, other cryptocurrency protocols solve nothing that Bitcoin hasn't solved.

rgenito commented Feb 11, 2015

I don't see anything wrong with supporting BIP44. If the user wants to widen their points of attack, then so let them. The idea of a the 12-word phrase (from my understanding) is being able to use that phrase to have access to your funds on any device (or software package) in the world...and that alone is pretty powerful.

As far as security goes, I see no difference between m/0'/0/0 and m/44'/0'/0'/0/0. BIP44 alone I could care less about, as to my understanding and the use cases of "currency" is concerned, other cryptocurrency protocols solve nothing that Bitcoin hasn't solved.

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Feb 11, 2015

Owner

There's an advantage to using a standard in that users aren't locked in, but there's also an advantage to not using a standard in that users aren't exposed to the security flaws of other wallet implantations and platforms. Breadwallet is splitting the difference I feel. There are other wallets you can use if we screw it up, and the standard is published and available, but at the same time it's not what most others are using, reducing the incentive for users to experiment with random tools of questionable reliability and security.... It feels like a good compromise to me.

Owner

voisine commented Feb 11, 2015

There's an advantage to using a standard in that users aren't locked in, but there's also an advantage to not using a standard in that users aren't exposed to the security flaws of other wallet implantations and platforms. Breadwallet is splitting the difference I feel. There are other wallets you can use if we screw it up, and the standard is published and available, but at the same time it's not what most others are using, reducing the incentive for users to experiment with random tools of questionable reliability and security.... It feels like a good compromise to me.

@mcelrath

This comment has been minimized.

Show comment
Hide comment
@mcelrath

mcelrath Feb 11, 2015

Here's an idea... Allow the importation of master seeds, and check all known-used derivation paths. But on importing immediately offer the user a transaction sending his coins to a NEW bread wallet chain.

This conversion makes me wonder what is the point of allowing wallet backups in the first place. I agree with the security concerns expressed. In fact I filled this issue on behalf of a friend who tried to switch to a new phone. The fact remains that someone could obtain her old phone and compromise her keys. So a send is the right answer.

But then what's the point of a wallet backup phrase?

mcelrath commented Feb 11, 2015

Here's an idea... Allow the importation of master seeds, and check all known-used derivation paths. But on importing immediately offer the user a transaction sending his coins to a NEW bread wallet chain.

This conversion makes me wonder what is the point of allowing wallet backups in the first place. I agree with the security concerns expressed. In fact I filled this issue on behalf of a friend who tried to switch to a new phone. The fact remains that someone could obtain her old phone and compromise her keys. So a send is the right answer.

But then what's the point of a wallet backup phrase?

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Feb 12, 2015

Owner

I like the idea of sweeping to a new wallet whenever a wallet is recovered. Of course the problem is that then you can't have the same wallet on two different devices if you actually want to do that, so maybe just offer it as an option for breadwallet recovery phrases, but require it for a seed mnemonic from any other wallet.

Owner

voisine commented Feb 12, 2015

I like the idea of sweeping to a new wallet whenever a wallet is recovered. Of course the problem is that then you can't have the same wallet on two different devices if you actually want to do that, so maybe just offer it as an option for breadwallet recovery phrases, but require it for a seed mnemonic from any other wallet.

@dabura667

This comment has been minimized.

Show comment
Hide comment
@dabura667

dabura667 Feb 12, 2015

imho supporting BIP44 will introduce a lot of UX changes, as BIP44 supports multiple accounts with change addresses on each account...

Not to mention that some apps support BIP44 by path only and have non-compliant gap limits. (Re: Mycelium iOS for example) so it would be difficult to decide how many addresses from how many accounts to check at startup... also, if you grouped them all together into one lump sum, it would defeat the purpose of BIP44 (separating accounts for spending)

I think sweeping into the m/0'/0/0 path is the best solution unless you were to complete overhaul UX to support multiple accounts.

For sweeping check, even though BIP44 states "don't create account n+1 until account n has at least one transaction in its history." you might want to check the first 20 addresses of the first 10 accounts or so... just in case. (200 addresses off the bat might take a while to scan though, as you can't make any assumptions about when the phrase was created)

It's a very hairy problem, to which I think "We won't support it" is a perfectly valid response. But if you must, I think it's either 1. sweep; or 2. overhaul UX and support BIP44

dabura667 commented Feb 12, 2015

imho supporting BIP44 will introduce a lot of UX changes, as BIP44 supports multiple accounts with change addresses on each account...

Not to mention that some apps support BIP44 by path only and have non-compliant gap limits. (Re: Mycelium iOS for example) so it would be difficult to decide how many addresses from how many accounts to check at startup... also, if you grouped them all together into one lump sum, it would defeat the purpose of BIP44 (separating accounts for spending)

I think sweeping into the m/0'/0/0 path is the best solution unless you were to complete overhaul UX to support multiple accounts.

For sweeping check, even though BIP44 states "don't create account n+1 until account n has at least one transaction in its history." you might want to check the first 20 addresses of the first 10 accounts or so... just in case. (200 addresses off the bat might take a while to scan though, as you can't make any assumptions about when the phrase was created)

It's a very hairy problem, to which I think "We won't support it" is a perfectly valid response. But if you must, I think it's either 1. sweep; or 2. overhaul UX and support BIP44

@gigq

This comment has been minimized.

Show comment
Hide comment
@gigq

gigq Feb 14, 2015

I'd personally like to see support for BIP44. In some cases it's definitely nice to have separate accounts. A timely example I can give since it's tax season is separating coins for cost basis purposes.

I'd be interested in helping out if there is support from @voisine.

gigq commented Feb 14, 2015

I'd personally like to see support for BIP44. In some cases it's definitely nice to have separate accounts. A timely example I can give since it's tax season is separating coins for cost basis purposes.

I'd be interested in helping out if there is support from @voisine.

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Feb 15, 2015

Owner

@gigq having multiple accounts isn't necessarily tied to BIP44, but I agree on the usefulness of multiple accounts. The main issue is keeping the UI clean and simple and having all the usability features like being able to easily transfer funds between accounts.

One idea I had was to implement accounts as a purely logical layer rather than encoding it directly in the blockchain. That way you could do things like move funds between accounts without incurring tx fees. It would just be a logical organization of the pool of funds in the wallet.

Owner

voisine commented Feb 15, 2015

@gigq having multiple accounts isn't necessarily tied to BIP44, but I agree on the usefulness of multiple accounts. The main issue is keeping the UI clean and simple and having all the usability features like being able to easily transfer funds between accounts.

One idea I had was to implement accounts as a purely logical layer rather than encoding it directly in the blockchain. That way you could do things like move funds between accounts without incurring tx fees. It would just be a logical organization of the pool of funds in the wallet.

@traidman

This comment has been minimized.

Show comment
Hide comment
@traidman

traidman Feb 15, 2015

I like this. Like a local email structure based on tags or labels.

traidman commented Feb 15, 2015

I like this. Like a local email structure based on tags or labels.

@gigq

This comment has been minimized.

Show comment
Hide comment
@gigq

gigq Feb 15, 2015

For tax purposes I'm not sure a logical layer only would work.

Imagine I bought 1 BTC at $100 and 1 BTC for $1000. If they are both in the same blockchain address but logically separated in the app when I spend 1 BTC at a price of $200 there is no proof of which BTC was spent. For tax purposes at that point you would have to do FIFO and pay tax gains on the $100 -> $200 gain since that was the first coin you bought. If you can show that you were spending the 1 BTC you bought at $1000 (because it's in it's own address on the blockchain) then you can claim a loss of $800 on the transaction.

Keeps coins separated is also important for short term vs long term capital gains (perhaps the $100 was close to a year old so you didn't want to spend it to get more favorable long term gains treatment).

gigq commented Feb 15, 2015

For tax purposes I'm not sure a logical layer only would work.

Imagine I bought 1 BTC at $100 and 1 BTC for $1000. If they are both in the same blockchain address but logically separated in the app when I spend 1 BTC at a price of $200 there is no proof of which BTC was spent. For tax purposes at that point you would have to do FIFO and pay tax gains on the $100 -> $200 gain since that was the first coin you bought. If you can show that you were spending the 1 BTC you bought at $1000 (because it's in it's own address on the blockchain) then you can claim a loss of $800 on the transaction.

Keeps coins separated is also important for short term vs long term capital gains (perhaps the $100 was close to a year old so you didn't want to spend it to get more favorable long term gains treatment).

@mcelrath

This comment has been minimized.

Show comment
Hide comment
@mcelrath

mcelrath Feb 15, 2015

Dollars are not distinguishable. One dollar is equivalent to any other. (Currency is bosonic) Same for bitcoins. What you do for your accounting, and how you arrange your accounts, is your responsibility. The IRS places no requirements on how you do your accounting. They allow you to do LIFO or FIFO, it's up to you as long as you are consistent. I can't speak for other countries.

I saw a great tax seminar by these guys in NYC this week. http://globaltaxaccountants.com/form1.php

mcelrath commented Feb 15, 2015

Dollars are not distinguishable. One dollar is equivalent to any other. (Currency is bosonic) Same for bitcoins. What you do for your accounting, and how you arrange your accounts, is your responsibility. The IRS places no requirements on how you do your accounting. They allow you to do LIFO or FIFO, it's up to you as long as you are consistent. I can't speak for other countries.

I saw a great tax seminar by these guys in NYC this week. http://globaltaxaccountants.com/form1.php

@gigq

This comment has been minimized.

Show comment
Hide comment
@gigq

gigq Feb 15, 2015

My example was a little poor as you are correct it would be easy to apply LIFO and get the same result. Really what I'm trying to do is use specific-shares method in more complicated situations where it will be more favorable than either FIFO or LIFO.

http://www.investopedia.com/terms/s/specificsharesmethod.asp

When you do this with stock you have to declare which tax lot you are selling from at the time of the sale. You can't go back at the end of the year and figure out the most favorable treatment you have to tell your broker which set you are selling which determines the cost basis.

While maybe you could do this with bitcoin that is lumped together in one address and it would be OK with the IRS, I would much rather play it safe and be able to show in the blockchain that these coins haven't been touched in a year and are now being sold as long term capital gains or this set of specific BTC was bought at price X and sold at price Y vs them all getting mixed together in the same address.

gigq commented Feb 15, 2015

My example was a little poor as you are correct it would be easy to apply LIFO and get the same result. Really what I'm trying to do is use specific-shares method in more complicated situations where it will be more favorable than either FIFO or LIFO.

http://www.investopedia.com/terms/s/specificsharesmethod.asp

When you do this with stock you have to declare which tax lot you are selling from at the time of the sale. You can't go back at the end of the year and figure out the most favorable treatment you have to tell your broker which set you are selling which determines the cost basis.

While maybe you could do this with bitcoin that is lumped together in one address and it would be OK with the IRS, I would much rather play it safe and be able to show in the blockchain that these coins haven't been touched in a year and are now being sold as long term capital gains or this set of specific BTC was bought at price X and sold at price Y vs them all getting mixed together in the same address.

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Feb 15, 2015

Owner

@gigq I'm personally a big believer in doing everything we can to keep bitcoin fungible. Fungibility is one of the core monetary properties like scarcity, durability and transportability. Without it bitcoin functions far less well as money, which is the reason I work on bitcoin in the first place.

That said, I don't think segregating funds on the blockchain or logically with wallet metadata will have any meaningful impact on the general fungibility of bitcoin. The more salient issue is that by doing it on the blockchain you can prove separation of funds cryptographically, vs relying on the say-so of the wallet owner. I make software for wallet owners though, so I lean towards making it easier for wallet owners claim whatever they wish after the fact. Financial privacy and all.

Owner

voisine commented Feb 15, 2015

@gigq I'm personally a big believer in doing everything we can to keep bitcoin fungible. Fungibility is one of the core monetary properties like scarcity, durability and transportability. Without it bitcoin functions far less well as money, which is the reason I work on bitcoin in the first place.

That said, I don't think segregating funds on the blockchain or logically with wallet metadata will have any meaningful impact on the general fungibility of bitcoin. The more salient issue is that by doing it on the blockchain you can prove separation of funds cryptographically, vs relying on the say-so of the wallet owner. I make software for wallet owners though, so I lean towards making it easier for wallet owners claim whatever they wish after the fact. Financial privacy and all.

@gigq

This comment has been minimized.

Show comment
Hide comment
@gigq

gigq Feb 15, 2015

I agree that bitcoin would be far easier to deal with tax wise if it was treated like a currency. But as of right now it is treated as property by the IRS so I'm working with what I'm given (http://www.irs.gov/uac/Newsroom/IRS-Virtual-Currency-Guidance).

Aside from taxes (and sorry to derail this BIP44 issue into a tax discussion) there are other reasons why it's nice to keep coins separate. For example a hierarchical deterministic wallet isn't really doing you any favors for keeping your purchases secret. If I give some BTC to a known public address (a donation to wikileaks for example) and then later pay someone else with that wallet they will be able to easily figure out that I donated to that public address by just following the trail of deterministic addresses.

Being able to keep multiple deterministic wallets allows an easy separation of those two transactions and can guard your privacy by not mixing all purchases in the same deterministic chain.

gigq commented Feb 15, 2015

I agree that bitcoin would be far easier to deal with tax wise if it was treated like a currency. But as of right now it is treated as property by the IRS so I'm working with what I'm given (http://www.irs.gov/uac/Newsroom/IRS-Virtual-Currency-Guidance).

Aside from taxes (and sorry to derail this BIP44 issue into a tax discussion) there are other reasons why it's nice to keep coins separate. For example a hierarchical deterministic wallet isn't really doing you any favors for keeping your purchases secret. If I give some BTC to a known public address (a donation to wikileaks for example) and then later pay someone else with that wallet they will be able to easily figure out that I donated to that public address by just following the trail of deterministic addresses.

Being able to keep multiple deterministic wallets allows an easy separation of those two transactions and can guard your privacy by not mixing all purchases in the same deterministic chain.

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Feb 15, 2015

Owner

@gigq the privacy benefit of separating funds is definitely something I agree with, i.e. merge avoidance. Doing it manually with multiple accounts though isn't a very good general solution, but better than nothing for now. I want to get the same benefit for all users, not just the ones who know enough about bitcoin privacy to recognize the issue.

Owner

voisine commented Feb 15, 2015

@gigq the privacy benefit of separating funds is definitely something I agree with, i.e. merge avoidance. Doing it manually with multiple accounts though isn't a very good general solution, but better than nothing for now. I want to get the same benefit for all users, not just the ones who know enough about bitcoin privacy to recognize the issue.

@rgenito

This comment has been minimized.

Show comment
Hide comment
@rgenito

rgenito Feb 16, 2015

@gigq @voisine isn't it only able to be determined if the master public key is known?

rgenito commented Feb 16, 2015

@gigq @voisine isn't it only able to be determined if the master public key is known?

@rgenito

This comment has been minimized.

Show comment
Hide comment
@rgenito

rgenito Feb 16, 2015

never tried, but from my research i guess that must be easy to figure out =|

rgenito commented Feb 16, 2015

never tried, but from my research i guess that must be easy to figure out =|

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Feb 16, 2015

Owner

@rgenito, when you spend an amount larger than any one input, you must combine multiple inputs. This indicates those inputs belong to the same wallet. Merge avoidance techniques or using separate wallets can prevent this.

Owner

voisine commented Feb 16, 2015

@rgenito, when you spend an amount larger than any one input, you must combine multiple inputs. This indicates those inputs belong to the same wallet. Merge avoidance techniques or using separate wallets can prevent this.

@rgenito

This comment has been minimized.

Show comment
Hide comment
@rgenito

rgenito Feb 17, 2015

Ah ok, I didn't realize he was referring to this...I thought he was talking about a privacy issue that only existed in bread's deterministic wallet.

rgenito commented Feb 17, 2015

Ah ok, I didn't realize he was referring to this...I thought he was talking about a privacy issue that only existed in bread's deterministic wallet.

@jeroenvanagt

This comment has been minimized.

Show comment
Hide comment
@jeroenvanagt

jeroenvanagt Feb 18, 2015

@voisine You mentioned "Of course the problem is that then you can't have the same wallet on two different devices". Why is that? It possible to manage a single Trezor wallet with two Trezor devices using the same seed. Further more, being compatible between different HD wallets and no vendor lockings is a big win IMHO.

jeroenvanagt commented Feb 18, 2015

@voisine You mentioned "Of course the problem is that then you can't have the same wallet on two different devices". Why is that? It possible to manage a single Trezor wallet with two Trezor devices using the same seed. Further more, being compatible between different HD wallets and no vendor lockings is a big win IMHO.

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Feb 18, 2015

Owner

@jeroenvanagt, I was saying that you wouldn't be able to if the default behavior was to sweep funds into a new wallet when restoring. The advantage to using a new wallet after a restore is improved security since you have no idea about the security level of other wallets.

Owner

voisine commented Feb 18, 2015

@jeroenvanagt, I was saying that you wouldn't be able to if the default behavior was to sweep funds into a new wallet when restoring. The advantage to using a new wallet after a restore is improved security since you have no idea about the security level of other wallets.

@HostFat

This comment has been minimized.

Show comment
Hide comment
@HostFat

HostFat Jun 3, 2015

Are there any news about this topic?

HostFat commented Jun 3, 2015

Are there any news about this topic?

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Jun 3, 2015

Owner

@HostFat not at the moment. We are accepting pull requests though.

Owner

voisine commented Jun 3, 2015

@HostFat not at the moment. We are accepting pull requests though.

@keo

This comment has been minimized.

Show comment
Hide comment
@keo

keo Nov 8, 2015

Would love to see BIP44 implemented too. More and more wallets use that structure, and this would make restoring passphrases compatible between wallets.

I agree that the UI should be kept simple, so I don't have a recommendation in mind for multiple accounts right now. But it would be great to have the passphrases work everywhere.

keo commented Nov 8, 2015

Would love to see BIP44 implemented too. More and more wallets use that structure, and this would make restoring passphrases compatible between wallets.

I agree that the UI should be kept simple, so I don't have a recommendation in mind for multiple accounts right now. But it would be great to have the passphrases work everywhere.

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Nov 8, 2015

Owner

@keo, you can just send funds from a BIP44 wallet to breadwallet. That's how we would implement importing from other wallet structures, rather than supporting them natively.

Owner

voisine commented Nov 8, 2015

@keo, you can just send funds from a BIP44 wallet to breadwallet. That's how we would implement importing from other wallet structures, rather than supporting them natively.

@keo

This comment has been minimized.

Show comment
Hide comment
@keo

keo Nov 8, 2015

I understand that... But having multiple accounts and seeing the transaction history when switching wallets is valuable to me (maybe I'm alone with this...)

I use the multi-account feature in Mycelium and Trezor as well.

For example, on my daily used phone, I have to have another wallet downloaded for company travel expense funds, because breadwallet is my personal wallet and it only supports one account.

keo commented Nov 8, 2015

I understand that... But having multiple accounts and seeing the transaction history when switching wallets is valuable to me (maybe I'm alone with this...)

I use the multi-account feature in Mycelium and Trezor as well.

For example, on my daily used phone, I have to have another wallet downloaded for company travel expense funds, because breadwallet is my personal wallet and it only supports one account.

@gigq

This comment has been minimized.

Show comment
Hide comment
@gigq

gigq Nov 8, 2015

You aren't alone on this issue.  I also like keeping funds separate the same way you can have separate bank accounts.  The way bread wallet works now though keeps it from being my only wallet.

On Sun, Nov 8, 2015 at 12:08 PM, Barnabas Debreczeni
notifications@github.com wrote:

I understand that... But having multiple accounts and seeing the transaction history when switching wallets is valuable to me (maybe I'm alone with this...)
I use the multi-account feature in Mycelium and Trezor as well.

For example, on my daily used phone, I have to have another wallet downloaded for company travel expense funds, because breadwallet is my personal wallet and it only supports one account.

Reply to this email directly or view it on GitHub:
#131 (comment)

gigq commented Nov 8, 2015

You aren't alone on this issue.  I also like keeping funds separate the same way you can have separate bank accounts.  The way bread wallet works now though keeps it from being my only wallet.

On Sun, Nov 8, 2015 at 12:08 PM, Barnabas Debreczeni
notifications@github.com wrote:

I understand that... But having multiple accounts and seeing the transaction history when switching wallets is valuable to me (maybe I'm alone with this...)
I use the multi-account feature in Mycelium and Trezor as well.

For example, on my daily used phone, I have to have another wallet downloaded for company travel expense funds, because breadwallet is my personal wallet and it only supports one account.

Reply to this email directly or view it on GitHub:
#131 (comment)

@ntpeters

This comment has been minimized.

Show comment
Hide comment
@ntpeters

ntpeters Feb 10, 2016

I'm in the same boat of wanting to import a Mycelium wallet into Breadwallet. Full BIP44 support would be an awesome addition to an already great product!

ntpeters commented Feb 10, 2016

I'm in the same boat of wanting to import a Mycelium wallet into Breadwallet. Full BIP44 support would be an awesome addition to an already great product!

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Feb 10, 2016

Owner

Since most are not strong on infosec, and other wallets are available on non secure-by-default platforms, we generally don't want users importing seeds from those wallets. If/when we implement it, it will likely be done as a sweep, like importing a single private key today.

You can of course just send the full balance from mycelium to breadwallet to achieve the same result.

Owner

voisine commented Feb 10, 2016

Since most are not strong on infosec, and other wallets are available on non secure-by-default platforms, we generally don't want users importing seeds from those wallets. If/when we implement it, it will likely be done as a sweep, like importing a single private key today.

You can of course just send the full balance from mycelium to breadwallet to achieve the same result.

@ntpeters

This comment has been minimized.

Show comment
Hide comment
@ntpeters

ntpeters Feb 10, 2016

That's understandable, but there are users who do ensure their Android devices are fully encrypted, etc. If a user would like to manage the same wallet on multiple devices that they are reasonably sure to be secure, the option should at least exist. This would be especially true if a user manages a Trezor wallet via Mycelium and would also like to manage the same wallet via Breadwallet, as both platforms in this case could be trusted as reasonably secure.

Might a better option when implementing this feature be to default to a sweep, but offer the option for advanced users to do a direct import of the key while displaying a warning to the user that what they are doing is not recommended?

ntpeters commented Feb 10, 2016

That's understandable, but there are users who do ensure their Android devices are fully encrypted, etc. If a user would like to manage the same wallet on multiple devices that they are reasonably sure to be secure, the option should at least exist. This would be especially true if a user manages a Trezor wallet via Mycelium and would also like to manage the same wallet via Breadwallet, as both platforms in this case could be trusted as reasonably secure.

Might a better option when implementing this feature be to default to a sweep, but offer the option for advanced users to do a direct import of the key while displaying a warning to the user that what they are doing is not recommended?

@voisine

This comment has been minimized.

Show comment
Hide comment
@voisine

voisine Feb 10, 2016

Owner

That's a better option than just allowing importing directly. I might go a step further and have it as a hidden option, kind of like how we currently do watch-only wallets. You can create a watch only wallet for a list of bitcoin addresses by pasting them in instead of a recovery phrase. When you enter a normal recovery phrase maybe you could type in the BIP32 path following the last word in the phrase.

Owner

voisine commented Feb 10, 2016

That's a better option than just allowing importing directly. I might go a step further and have it as a hidden option, kind of like how we currently do watch-only wallets. You can create a watch only wallet for a list of bitcoin addresses by pasting them in instead of a recovery phrase. When you enter a normal recovery phrase maybe you could type in the BIP32 path following the last word in the phrase.

@thesoftwarejedi

This comment has been minimized.

Show comment
Hide comment
@thesoftwarejedi

thesoftwarejedi Jun 20, 2017

Just wanted to drop a note on this issue and the pain it causes me this eve. I e decided to abandon breadwaller (huge supporter, even forked and toyed with) because it doesn't support allowing me to change the mining fee.

I'm currently manually crafting a transaction using this antiquated derivation scheme just to get my money out of breadwallet without spending $15 to do so. I'll make a transaction with $0 fee and send to trezor, then make a tx from the trezor to itself with a $1 miner fee, try again at $2 if it doesn't catch in a day.

Child pays for parent. Might take a while, but I'm not in a hurry and breadwallet gives me and the kids no options on fees.

This comment is somewhat unrelated to the issue at hand, but related to the point that it's not easy to change wallets and voisine's position on miner fees has made this unusable.

I will attempt to make the solution I write open source based on providing xprv, receive address, and outputting a tx you can broadcast via other tools.

thesoftwarejedi commented Jun 20, 2017

Just wanted to drop a note on this issue and the pain it causes me this eve. I e decided to abandon breadwaller (huge supporter, even forked and toyed with) because it doesn't support allowing me to change the mining fee.

I'm currently manually crafting a transaction using this antiquated derivation scheme just to get my money out of breadwallet without spending $15 to do so. I'll make a transaction with $0 fee and send to trezor, then make a tx from the trezor to itself with a $1 miner fee, try again at $2 if it doesn't catch in a day.

Child pays for parent. Might take a while, but I'm not in a hurry and breadwallet gives me and the kids no options on fees.

This comment is somewhat unrelated to the issue at hand, but related to the point that it's not easy to change wallets and voisine's position on miner fees has made this unusable.

I will attempt to make the solution I write open source based on providing xprv, receive address, and outputting a tx you can broadcast via other tools.

@samuraisam

This comment has been minimized.

Show comment
Hide comment
@samuraisam

samuraisam Jun 20, 2017

Collaborator

Breadwallet is just not designed to provide this level of sophistication in managing the low-level wallet. Our first and foremost design principal is to provide an easy-to-use and safe-by-default bitcoin wallet that enables bitcoin for everyone. So certainly some highly specific use cases will be left out. As such our "position" on miner fees is to provide the simplest solution that works for everyone the first time. If you need help with extremely high fees solutions exist to help. Please contact support@breadwallet.com and we can help.

Collaborator

samuraisam commented Jun 20, 2017

Breadwallet is just not designed to provide this level of sophistication in managing the low-level wallet. Our first and foremost design principal is to provide an easy-to-use and safe-by-default bitcoin wallet that enables bitcoin for everyone. So certainly some highly specific use cases will be left out. As such our "position" on miner fees is to provide the simplest solution that works for everyone the first time. If you need help with extremely high fees solutions exist to help. Please contact support@breadwallet.com and we can help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment