BIP32: edits by ddustin for clarity #1903

pull jonatack wants to merge 1 commits into bitcoin:master from jonatack:2025-07-PR785-ddustin-edits-to-BIP32 changing 1 files +5 −2
  1. jonatack commented at 8:04 pm on July 25, 2025: member
    Picks up @ddustin’s work in #785, updated with the latest reviewers’ feedback.
  2. jonatack added the label Proposed BIP modification on Jul 25, 2025
  3. jonatack added the label Pending acceptance on Jul 25, 2025
  4. jonatack renamed this:
    BIP32: edits for clarity
    BIP32: edits by ddustin for clarity
    on Jul 25, 2025
  5. in bip-0032.mediawiki:58 in 3fa6bc7588 outdated
    51@@ -52,10 +52,10 @@ Addition (+) of two coordinate pair is defined as application of the EC group op
    52 Concatenation (||) is the operation of appending one byte sequence onto another.
    53 
    54 As standard conversion functions, we assume:
    55-* point(p): returns the coordinate pair resulting from EC point multiplication (repeated application of the EC group operation) of the secp256k1 base point with the integer p.
    56+* point(p): returns the coordinate pair resulting from EC point multiplication (repeated application of the EC group operation) of the secp256k1 base point with the integer p (similar to making a public key).
    57 * ser<sub>32</sub>(i): serialize a 32-bit unsigned integer i as a 4-byte sequence, most significant byte first.
    58 * ser<sub>256</sub>(p): serializes the integer p as a 32-byte sequence, most significant byte first.
    59-* ser<sub>P</sub>(P): serializes the coordinate pair P = (x,y) as a byte sequence using SEC1's compressed form: (0x02 or 0x03) || ser<sub>256</sub>(x), where the header byte depends on the parity of the omitted y coordinate.
    60+* ser<sub>P</sub>(P): serializes the coordinate pair P = (x,y) (i.e., the public key) as a byte sequence using [https://github.com/bitcoin-core/secp256k1/blob/b9313c6e/include/secp256k1.h#L227 SEC1]'s compressed form: (0x02 or 0x03) || ser<sub>256</sub>(x), where the header byte depends on the parity of the omitted y coordinate.
    


    murchandamus commented at 11:26 pm on July 25, 2025:

    #785 had another sentence that is omitted here, so I was wondering whether that was an oversight or deliberate.

    0* ser<sub>P</sub>(P): serializes the coordinate pair P = (x,y) (i.e., the public key) as a byte sequence using [https://github.com/bitcoin-core/secp256k1/blob/b9313c6e/include/secp256k1.h#L227 SEC1]'s compressed form: (0x02 or 0x03) || ser<sub>256</sub>(x), where the header byte depends on the parity of the omitted y coordinate.
    1** [https://github.com/bitcoin-core/secp256k1 Libsecp256k1]'s pubkey_serialize and pubkey_parse functions implement this format.
    

    jonatack commented at 0:08 am on July 27, 2025:
    Thanks! I had overlooked that line. Updated.
  6. murchandamus commented at 11:27 pm on July 25, 2025: contributor
    Compared to #785 and found to match the old pull request in combination with the outstanding review comments from the BIPs authors except for the mentioned spot.
  7. BIP32: edits by ddustin for clarity (picks up PR785)
    Co-authored-by: Jon Atack <jon@atack.com>
    Co-authored-by: Murch <murch@murch.one>
    879066d3ea
  8. jonatack force-pushed on Jul 27, 2025
  9. murchandamus commented at 7:01 pm on July 28, 2025: contributor
    @sipa: Could you take another look at these few lines?

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: 2025-07-29 12:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me