bitcoin-dev

Introducing a version field to BIP39 mnemonic phrases

Introducing a version field to BIP39 mnemonic phrases

Original Postby Leslie

Posted on: January 13, 2024 15:55 UTC

The ongoing discussion about BIP39, a crucial standard in the cryptocurrency ecosystem, revolves around the idea of maintaining its foundational principles while addressing contemporary challenges and needs.

The debate centers on whether introducing versioned mnemonic phrases could manage variations in wallet derivation paths without causing fragmentation within the community. Such an approach might not only maintain order but also pave the way for future improvements aligned with emerging standards.

One of the critical points raised is the potential impact on hardware wallets, which are integral to the security and functionality of digital asset storage. Any changes to the Key Derivation Function (KDF) or other aspects of the system must be carefully considered to avoid disrupting the interoperability that BIP39 ensures. The proposal suggests that rather than altering the KDF, one could explore other ways to evolve mnemonics, such as potentially omitting the 32-bit version field when deriving the seed. This flexibility could prove vital in adapting to future technological shifts while still upholding the integrity of the original design.

Furthermore, the current landscape illustrates that users often manage multiple mnemonics to cater to different applications, indicating diverse user practices and requirements. Developments such as aezeed[1] and Electrum V2[2] show that the standard entropy provided by BIP39 may not always meet specific application demands, prompting the creation of alternative solutions. This context emphasizes the importance of considering enhancements to the existing framework to more effectively support these changing needs.

In conclusion, the proposition to incorporate versioned mnemonics into BIP39 aims to strike a balance between honoring the standard's core tenets and allowing for growth and adaptation to serve the dynamic nature of user practices and technological progress.

[1]: Link to aezeed standard or documentation [2]: Link to Electrum V2 information or release notes