<p>What's the status of wallet format standardization? Is there any proposal or work-in-progress around? If not, how come nobody urges to define standard wallet formats yet?</p>

<p>This is especially needed for <a href="https://en.bitcoin.it/wiki/Deterministic_wallet#Type_2_hierarchical_deterministic_wallet" rel="nofollow">HD wallets</a> where the seed phrase alone is virtually useless as long as each wallet software is free to use different derivation methods, branches, gap limits and other proprietary parameters.</p>

<p>Say I use software A to create a <a href="https://en.bitcoin.it/wiki/Deterministic_wallet#Type_2_hierarchical_deterministic_wallet" rel="nofollow">HD wallet</a> and A derives the master private key after hashing the seed phrase with N rounds of SHA256 or whatever function. The software also tracks the creation time to speed up the sync in case we want to do a rescan.</p>

<p>Due to a critical bug software A corrupts my wallet. The only thing I was told to remember at the time was the seed phrase. Thank God I wrote it down, my coins are safe and I want to restore them with more secure software B. Unfortunately, software B defaults to M rounds of MD5 before deriving the master private key from the seedphrase. But I'm a lucky boy and I can choose both the derivation algorithm and the number of rounds. Err.. wait: I'm not a geek and this stuff is just sci-fi. After all, wasn't I supposed to just remember the seed phrase?</p>

<p>However, suppose we are lucky enough to find the exact derivation algorithm, here comes the gap limit: what's the software A default gap limit? Ask Google? WAT? Without the exact gap limit we may be missing transactions we're not even aware of. Scan the whole branch with a ridiculously high gap? Yes, why not, but who knows the A's branching structure? Are we really sure that it used the external/internal chain convention? Are we ready to scan billions and billions of addresses?</p>

<p>Last but not least, without knowing the seed creation time the sync process is much slower and may waste a lot of bandwidth on a mobile device.</p>

<p>I think these are <strong>very strong</strong> arguments for the skeptical user, it's unacceptable that people may lose coins just because nobody agreed on an universal format, both for static and HD wallets. Forum threads on how to restore a backup into another software are extremely common and I guess a BIP on wallet formats is in order. Why struggle with things like multisignature when the fundamentals are still uncovered?</p>

<p>Given the above I couldn't blame those who won't use such a currency to store their real-life money, honestly I wouldn't either.</p>

CC BY-SA 3.0
2014-08-31T15:12:51.853Z
Your argument is valid, and I agree with you, but I don't think this is a question.
Nick ODell
CC BY-SA 3.0
2014-08-31T18:59:22.663Z
A guess: People may feel that trying to standardize a wallet format would stifle innovation, by making it impossible to create features that required wallet changes not anticipated by the standard.  Likewise, given this issue, even if there were a standard, vendors might be reluctant to adopt it.
Nate Eldredge
CC BY-SA 3.0
2014-08-31T19:09:57.640Z
Standardization should not prevent one from adding his own customizations, it rather ensures that a handful of essential features are implemented by all vendors.
keeshux
CC BY-SA 3.0
2014-09-01T01:52:50.457Z
But if those customizations aren't understood by other vendors, then what's the point?
Nate Eldredge
CC BY-SA 3.0
2014-09-01T03:10:23.727Z
I guess I'm just not understanding your vision of what such a standard might look like.  If it's going to ensure that any wallet file written by any conforming implementation is completely usable by any other conforming implementation, it seems to me it will have to be quite rigid.
Nate Eldredge
CC BY-SA 3.0
2014-09-01T10:41:12.147Z
As Nick pointed out I moved this to [an actual thread](https://bitcointalk.org/index.php?topic=765184.0), I also tried to make my point clearer.
keeshux
<wallet><security><standard><bip32-hd-wallets><adoption>
Standardize wallet format
keeshux
# Standardize wallet format

(Asked by: username_0 on 2014-08-31)

What's the status of wallet format standardization? Is there any proposal or work-in-progress around? If not, how come nobody urges to define standard wallet formats yet?

This is especially needed for [HD wallets](https://en.bitcoin.it/wiki/Deterministic_wallet#Type_2_hierarchical_deterministic_wallet) where the seed phrase alone is virtually useless as long as each wallet software is free to use different derivation methods, branches, gap limits and other proprietary parameters.

Say I use software A to create a [HD wallet](https://en.bitcoin.it/wiki/Deterministic_wallet#Type_2_hierarchical_deterministic_wallet) and A derives the master private key after hashing the seed phrase with N rounds of SHA256 or whatever function. The software also tracks the creation time to speed up the sync in case we want to do a rescan.

Due to a critical bug software A corrupts my wallet. The only thing I was told to remember at the time was the seed phrase. Thank God I wrote it down, my coins are safe and I want to restore them with more secure software B. Unfortunately, software B defaults to M rounds of MD5 before deriving the master private key from the seedphrase. But I'm a lucky boy and I can choose both the derivation algorithm and the number of rounds. Err.. wait: I'm not a geek and this stuff is just sci-fi. After all, wasn't I supposed to just remember the seed phrase?

However, suppose we are lucky enough to find the exact derivation algorithm, here comes the gap limit: what's the software A default gap limit? Ask Google? WAT? Without the exact gap limit we may be missing transactions we're not even aware of. Scan the whole branch with a ridiculously high gap? Yes, why not, but who knows the A's branching structure? Are we really sure that it used the external/internal chain convention? Are we ready to scan billions and billions of addresses?

Last but not least, without knowing the seed creation time the sync process is much slower and may waste a lot of bandwidth on a mobile device.

I think these are **very strong** arguments for the skeptical user, it's unacceptable that people may lose coins just because nobody agreed on an universal format, both for static and HD wallets. Forum threads on how to restore a backup into another software are extremely common and I guess a BIP on wallet formats is in order. Why struggle with things like multisignature when the fundamentals are still uncovered?

Given the above I couldn't blame those who won't use such a currency to store their real-life money, honestly I wouldn't either.

**Tags:** wallet, security, standard, bip32-hd-wallets, adoption

> **Comments:**
> **username_1**: Your argument is valid, and I agree with you, but I don't think this is a question.  
> **username_2**: A guess: People may feel that trying to standardize a wallet format would stifle innovation, by making it impossible to create features that required wallet changes not anticipated by the standard.  Likewise, given this issue, even if there were a standard, vendors might be reluctant to adopt it.  
> **username_0**: Standardization should not prevent one from adding his own customizations, it rather ensures that a handful of essential features are implemented by all vendors.  
> **username_2**: But if those customizations aren't understood by other vendors, then what's the point?  
> **username_2**: I guess I'm just not understanding your vision of what such a standard might look like.  If it's going to ensure that any wallet file written by any conforming implementation is completely usable by any other conforming implementation, it seems to me it will have to be quite rigid.  
> **username_0**: As username_1 pointed out I moved this to [an actual thread](https://bitcointalk.org/index.php?topic=765184.0), I also tried to make my point clearer.  

---

## 0 answers

