new BIP: codex32 #1425

pull apoelstra wants to merge 6 commits into bitcoin:master from apoelstra:2023-02--volvelles changing 2 files +603 −0
  1. apoelstra commented at 6:40 PM on February 20, 2023: contributor

    This introduces "codex32", a wallet seed/share format that uses the bech32 alphabet, a bech32-like checksum, and supports Shamir Secret Sharing, all possible without the use of electronic computers (although you can, and for some steps probably should, use computers if you want).

    Mailing list discussion: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-February/021469.html Website with more docs about hand computation (which isn't really covered by the BIP): https://secretcodex32.com/index.html

  2. roconnor-blockstream commented at 2:38 AM on February 21, 2023: contributor

    Add a comment that notes that if you are resharing a secret by taking existing shares an recovering the secret, tossing out the old shares and making new ones, it is important to create a fresh unique ID. Without a fresh ID you run the risk of accidentally combining old shares with new shares (due to forgetting to destroy some old shares), which could lead to confusion and/or the apparent loss of funds.

  3. roconnor-blockstream commented at 4:14 AM on February 21, 2023: contributor

    After discussion with Christopher Allen et. al., I've opened PR https://github.com/apoelstra/bips/pull/2 for adding a rationale section for not encoding BIP-0039 entropy.

    I suppose comments on that proposed amendment should be directed to that PR, while this PR remains open for assigning a BIP number and other comments on this proposal.

  4. roconnor-blockstream commented at 3:15 PM on February 21, 2023: contributor

    Recommend noting master xprvs in each test case.

  5. in bip-0000.mediawiki:4 in 6ce70ec5ea outdated
       0 | @@ -0,0 +1,472 @@
       1 | +<pre>
       2 | +  BIP: ????
       3 | +  Layer: Applications
       4 | +  Title: codex32
    


    luke-jr commented at 5:08 PM on February 21, 2023:

    Would prefer a title that means something


    roconnor-blockstream commented at 6:27 PM on February 21, 2023:

    Yes.

    Maybe something like Codex32 format for Shamir Secret Shares of [BIP-0032] master seeds.


    apoelstra commented at 12:05 AM on February 22, 2023:

    Sure. How about "codex32: a bech32-based BIP32 seed encoding supporting Shamir Secret Sharing and hand computation"?


    roconnor-blockstream commented at 1:25 AM on February 22, 2023:

    SGTM.


    apoelstra commented at 1:27 AM on February 22, 2023:

    Pushed.

  6. apoelstra force-pushed on Feb 22, 2023
  7. michaelfolkson commented at 12:05 PM on March 11, 2023: none

    It'd be nice to get SLIP39 BIPed as well as this at some point in the future (especially as this draft BIP references it) if that factors into the BIP number allocation and possible number grouping(s).

  8. vicariousdrama commented at 4:43 PM on March 12, 2023: none

    NACK - Not in keeping with the Bitcoin Philosophy

  9. luke-jr commented at 10:13 PM on March 15, 2023: member

    I stumbled across a memo from 93 BC that appears to say this has been assigned BIP number 93.

  10. new BIP: codex32 599b26fe05
  11. assign BIP #93; set type to "Informational" 5bbf0db981
  12. apoelstra force-pushed on Mar 15, 2023
  13. apoelstra commented at 11:32 PM on March 15, 2023: contributor

    Thanks @luke-jr!

    I have squashed all the existing commits and added a new one which sets the number (and sets the type to "Informational", which matches my intuition about this and also matches BIP 173, which is similar in spirit).

    We are not quite ready to merge -- we have a new reference implementation we want to link to (with Postscript and Rust, for now) and ~we want to replace some test vectors with nicer ones~ done.

  14. Updated set of invalid test vectors
    Using the identifier "faux" for invalid test vectors.
    
    Extending the set of example a little bit.
    04ce941c36
  15. change title to fit under length limit b6821a4f28
  16. apoelstra force-pushed on Mar 16, 2023
  17. kallewoof commented at 9:57 AM on March 16, 2023: contributor

    Just a reminder to add the BIP entry to README.mediawiki as well.

  18. add links to reference impls b5c0185dcc
  19. add bip93 to README 7d73d30991
  20. roconnor-blockstream approved
  21. roconnor-blockstream commented at 4:05 PM on March 16, 2023: contributor

    LGTM

  22. apoelstra commented at 4:29 PM on March 16, 2023: contributor

    @kallewoof I think we are ready to merge this

  23. kallewoof merged this on Mar 17, 2023
  24. kallewoof closed this on Mar 17, 2023

  25. apoelstra deleted the branch on Mar 17, 2023

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-20 06:50 UTC