Skip to content

Detached556#185

Draft
l0rinc wants to merge 8 commits into
masterfrom
detached556
Draft

Detached556#185
l0rinc wants to merge 8 commits into
masterfrom
detached556

Conversation

@l0rinc
Copy link
Copy Markdown
Owner

@l0rinc l0rinc commented Jun 2, 2026

No description provided.

achow101 and others added 8 commits May 12, 2026 11:01
Multiple signing sessions over the same message are allowed. Including
the pubnonce in the session id allows distinguishing the signing
sessions.

This should be safe as a new secret nonce is used for each signing
session, and after the nonce is used, it is still deleted from memory in
order to avoid reuse.
Run each MuSig2 operation twice to check that new nonces are generated
and used throughout signing.
After PR 28333, `LegacyDataSPKM` doesn't need to use the private or
protected members of `DescriptorScriptPubKeyMan` class such as
`AddDescriptorKeyWithDB` and `TopUpWithDB`. Moreover, these two SPKMs
are siblings that inherit from the common `ScriptPubKeyMan`.

It seems reasonable to me that they are unfriended so that private
members of one are not exposed to another unnecessarily.
A loopback address can range from `127.0.0.0` to `127.255.255.255`.
This commit relaxes the loopback check in `rpc_bind.py` by checking whether
an IP address (from `all_interfaces()`) starts with `'127.'` instead of
strictly matching `'127.0.0.1'`.

Programs like VPNs might add an extra loopback address (e.g., 127.1.130.83),
which failed under the previous state. These addresses will now pass with this update.
…d.py`

c8b8c27 test: Improve loopback address check in `rcp_bind.py` (xyzconstant)

Pull request description:

  A [loopback address](https://www.geeksforgeeks.org/computer-networks/what-is-a-loopback-address/) can range from `127.0.0.0` to `127.255.255.255`. This commit relaxes the loopback check in `rpc_bind.py` by checking whether an IP address (from `all_interfaces()`) starts with `'127.'` instead of strictly matching `'127.0.0.1'`.

  Programs like VPNs might add an extra loopback address (e.g., 127.1.130.83), which failed under the previous state. These addresses will now pass with this update.

  ---
  **For context:** I found this while running tests with the Mullvad daemon active. Mullvad adds a custom lo0 interface like `inet 127.141.11.239 netmask 0xff000000` that failed with `--nonloopback`, which should not be the case since the address is a valid loopback IP.

ACKs for top commit:
  maflcko:
    lgtm ACK c8b8c27
  willcl-ark:
    ACK c8b8c27

Tree-SHA512: 3b82002d6bc90cfc4023dd0274a40970abb2dc6a9ced77dd97e275b31340bb657d5222bb55a768ebf71047ac1521dd4ba77fb427398f7cc9857738bcd16c5818
…riptPubKeyMan

6c525c2 wallet: unfriend LegacyDataSPKM and DescriptorScriptPubKeyMan classes (rkrux)

Pull request description:

  After bitcoin#28333, `LegacyDataSPKM` doesn't need to use the private or protected members
  of `DescriptorScriptPubKeyMan` class such as `AddDescriptorKeyWithDB` and
  `TopUpWithDB`. Moreover, these two SPKMs are siblings that inherit from the common
  `ScriptPubKeyMan` that have non intersecting use cases semantically. It seems reasonable
  to me that they are unfriended so that private members of one are not exposed to
  another unnecessarily.

ACKs for top commit:
  polespinasa:
    ACK 6c525c2
  sedited:
    ACK 6c525c2

Tree-SHA512: ebcd9b4e202b152b53c390f44cac46748b7fdebd4f854e84d322468a1f117e729d75210db5688dc7f38124280378f62fa469d2e5ee9adb4cb77acb2c73cc8480
2ef6679 test: Check that MuSig2 signing does not reuse nonces (Ava Chow)
bb05986 musig: Include pubnonce in session id (Ava Chow)

Pull request description:

  It is safe to have multiple musig signing sessions over the same message so long as the nonces used are different. Including the pubnonce in the session id allows for multiple simultaneous signing sessions over the same message, rather than asserting when the user tries to do this.

  The second commit tests this behavior, both ensuring that there is no crash, and verifying that both sessions produce unique nonces and signatures to verify that no reuse is occurring.

  Lastly, the assertion in `SetMuSig2SecNonce` is retained as hitting it now would indicate that a nonce has been reused. We prefer to assert and crash rather than do something that is highly likely to leak a private key.

  Fixes bitcoin#35250

ACKs for top commit:
  rkrux:
    lgtm ACK 2ef6679
  junbyjun1238:
    utACK 2ef6679
  theStack:
    ACK 2ef6679

Tree-SHA512: 9fb60b68ebe0ea9656408afb65b9ec9f280632e1bb84a4821b074c8d8569847845f7c29da800c757b9ddf3aa31aa890dd9e3646cf119917a714e7daf20be2198
Add per-block input, output, witness byte, and weight counts to the UpdateTip log line so IBD benchmark logs can correlate processing time with block shape.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants