bitcoin-dev

Penlock, a paper-computer for secret-splitting BIP39 seed phrases

Penlock, a paper-computer for secret-splitting BIP39 seed phrases

Original Postby Andrew Poelstra

Posted on: May 16, 2024 13:27 UTC

Andrew Poelstra, a Director at Blockstream Research, provides insightful comparisons and considerations regarding data compaction methods for secure storage solutions like cryptosteels.

He discusses the efficiency of different encoding schemes, such as BIP39, GF29 compaction, and codex32, in terms of their word and character count. Poelstra highlights that while BIP39 uses 24 words (96 characters), GF29 compaction reduces this to 14 words (56 characters). However, codex32 outperforms both by compressing data into merely 45 characters, which includes a fixed or preprinted Human Readable Part (HRP) and a 6-character header that facilitates faster processing due to its consistency.

Poelstra advises against attempting further compression if the data cannot be reduced to 48 characters, suggesting that practicality should prevail over the quest for higher compression. He reasons that the existing figures are reasonable, particularly because checksum operations, which are crucial for data integrity yet cumbersome, can be performed swiftly with current methods. Furthermore, he briefly entertains the idea of incorporating additional header data or version information but cautions against it if it necessitates a re-encoding phase by the user, implying a priority on user experience.

In discussing the design of a combination slide wheel, employed for addition/subtraction and featuring "recovery windows," Poelstra argues against the necessity for extra cutout windows. He believes that labeling characters on the inner wheel, similar to existing practices, suffices for indicating recovery windows. This simplification could enhance usability without compromising functionality.

Lastly, while touching upon Lagrange polynomials, Poelstra suggests that their discussion may not be entirely relevant to the matter at hand. He clarifies that focusing on share index differences rather than Lagrange polynomials themselves might offer clearer insights. Yet, he intriguingly notes that performing calculations using the formula from Wikipedia could inherently reveal the required differences, thereby bridging theoretical concepts with practical application.

For more details on Andrew Poelstra’s work and insights, visit his webpage at https://www.wpsoftware.net/andrew.