Bitcoin Core Github
44 subscribers
119K links
Download Telegram
📝 l0rinc opened a pull request: "RFC: blocks: add `-reobfuscate-blocks` arg to xor existing blk/rev on startup"
(https://github.com/bitcoin/bitcoin/pull/33324)
### Draft for now - comments are welcome

* Should we repurpose the existing `-blocksxor` arg instead?
* Would multithreading help enough to justify the extra complexity (ordering, extra memory), given the current IO-bound profile?
* Should we split `ObfuscateBlocks` out of init?
* Which additional scenarios would you like covered in testing (resume mid-run, explicit 16-hex key path, large datadirs, pruned)?
* Release notes, translations?
* Given user concern about what they store on disk
...
💬 BenWestgate commented on pull request "doc: update multisig tutorial to use multipath descriptors":
(https://github.com/bitcoin/bitcoin/pull/33286#discussion_r2326489489)
Good idea. I moved that note to section 1.1, right before our snippet with sed. I'd rather explain it in words before the command.
💬 BenWestgate commented on pull request "doc: update multisig tutorial to use multipath descriptors":
(https://github.com/bitcoin/bitcoin/pull/33286#issuecomment-3260971981)
Thanks for the suggestion @Sjors. I've updated the test to use multi-path descriptors as well.

> Although not directly related to this PR, I have a minor suggestion: it might be helpful to add a loadwallet command for multisig_wallet_01, not just for participant wallets.

I agree it's a flaw to not load multisig_wallet_01 so I added it to this PR, we'll see if that's OK or reviewers want it in a separate commit or PR.
💬 purpleKarrot commented on pull request "stabilize translations by reverting old ids by text content":
(https://github.com/bitcoin/bitcoin/pull/33270#issuecomment-3261215698)
> do we really want to do that :)? I don't...

I would do It, but I am concerned about the bus factor, so I would prefer to train someone else.
05255d5d1ec1852d8d8d7683ccbf28351f57b89e is an example for replacing a sed replacement with cmake code.
🤔 yuvicc reviewed a pull request: "kernel: make blockTip index const"
(https://github.com/bitcoin/bitcoin/pull/33321#pullrequestreview-3191698366)
Code review ACK 75d9b72475708ee0da13fb23ef65dcced805b6af
💬 Sjors commented on pull request "Update libmultiprocess subtree to improve build and logs":
(https://github.com/bitcoin/bitcoin/pull/33322#issuecomment-3261747558)
Windows error seems to be a failing download of one of the previous release binaries, but would be good to re-run it.
💬 HowHsu commented on issue "-loadblock doesn't work":
(https://github.com/bitcoin/bitcoin/issues/33280#issuecomment-3261918000)
Some clarification about my steps below:
```

1. I first run bitcoind -prune=1024 -stopatheight=840000 -datadir=empty_dir, then there is some block files in empty_dir/blocks.
2. Then I copy empty_dir to empty_dir2, run bitcoind -prune=1024 -stopatheight=840050 -datadir=empty_dir2
Compare two blocks dir, I now have some blk.dat files relects height 840000 to 840050.
3. At last I copy empty_dir to empty_dir3, and run bitcoind -datadir=empty_dir3 -assumevalid=0 -prune=10240 -stopafterblockimport -n
...
💬 sipa commented on pull request "Add functional test for IPC interface":
(https://github.com/bitcoin/bitcoin/pull/33201#issuecomment-3261975263)
@Sjors Not magic, it needed a `--break-system-packages` instead of `--user` somewhere.
💬 HowHsu commented on issue "-loadblock doesn't work":
(https://github.com/bitcoin/bitcoin/issues/33280#issuecomment-3262044272)
> Some clarification about my steps below:
>
> ```
>
> 1. I first run bitcoind -prune=1024 -stopatheight=840000 -datadir=empty_dir, then there is some block files in empty_dir/blocks.
> 2. Then I copy empty_dir to empty_dir2, run bitcoind -prune=1024 -stopatheight=840050 -datadir=empty_dir2
> Compare two blocks dir, I now have some blk.dat files relects height 840000 to 840050.
> 3. At last I copy empty_dir to empty_dir3, and run bitcoind -datadir=empty_dir3 -assumevalid=0 -prune=10240 -stopaf
...
💬 HowHsu commented on issue "-loadblock doesn't work":
(https://github.com/bitcoin/bitcoin/issues/33280#issuecomment-3262056024)
Reduced block ranges to only one file, run logs attached below.
```
bitcoind -datadir=datatmp -assumevalid=0 -prune=10240 -stopafterblockimport -networkactive=0 -noconnect -listen=0 -dnsseed=0 -dns=0 -loadblock=data840010/blocks/blk04241.dat -loadblock=data840010/blocks/blk04242.dat
2025-09-06T12:24:44Z Bitcoin Core version v29.99.0-unk (release build)
2025-09-06T12:24:44Z parameter interaction: -listen=0 -> setting -natpmp=0
2025-09-06T12:24:44Z parameter interaction: -listen=0 -> setting -disc
...
💬 sipa commented on pull request "cluster mempool: control/optimize TxGraph memory usage":
(https://github.com/bitcoin/bitcoin/pull/33157#issuecomment-3262110826)
And with the addition of `SingletonClusterImpl`, overall mempool usage (determined by loading a `mempool.dat` from a long-running node into both (1) master and (2) #28676 + this PR), the mempool memusage/vsize ratio seems to have dropped ~4.5%, effectively increasing mempool size by that much:

Master:
```
"size": 58610,
"bytes": 28502050,
"usage": 173585008,
"total_fee": 0.05257629,
"maxmempool": 300000000,
```

Cluster mempool + this PR:
```
"size": 58348,
"bytes":
...
🤔 pablomartin4btc reviewed a pull request: "wallet: reduce unconditional logging during load"
(https://github.com/bitcoin/bitcoin/pull/33299#pullrequestreview-3192852043)
Concept ACK

<details>
<summary>I've managed to reproduce the issue (but I only see the default wallet twice as any named wallets), wallets have to be loaded on startup to verify this problem.</summary>

```
2025-09-06T04:01:48Z init message: Verifying wallet(s)…
2025-09-06T04:01:48Z Using SQLite Version 3.37.2
2025-09-06T04:01:48Z Using wallet /tmp/btc/regtest/wallets
2025-09-06T04:01:48Z Using /16 prefix for IP bucketing
...
2025-09-06T04:01:48Z Using SQLite Version 3.37.2
2025-09-
...
🤔 hebasto reviewed a pull request: "Avoid pathological QT text/markdown behavior..."
(https://github.com/bitcoin-core/gui/pull/886#pullrequestreview-3192857549)
Tested 5cb39181019dd1d132da9e87e88921e477facbae using static builds (Qt 6.7.3) and shared builds on Ubuntu 24.04 (Qt 6.4.2).

The patch indeed fixes the pathological memory usage. However, it modifies the clipboard content. The copy-pasted prompt appears as follow:
- on the master branch:
```
Welcome to the Bitcoin Core RPC console.
Use up and down arrows to navigate history, and Ctrl+L to clear screen.
Use Ctrl++ and Ctrl+- to increase or decrease the font size.
Type help for an overvie
...
💬 hebasto commented on issue "GUI (?): Copying output from console causes large mem usage/OOM":
(https://github.com/bitcoin-core/gui/issues/887#issuecomment-3262271803)
I can confirm this issue on Ubuntu 24.04 with the system's Qt 6.4.2.

However, a static build using Qt 6.7.3 from depends works perfectly. Perhaps this Qt issue was resolved upstream at some point?
💬 kevkevinpal commented on pull request "ci: Checkout latest merged pulls":
(https://github.com/bitcoin/bitcoin/pull/33303#discussion_r2328187637)
What's the reason for running the CI on the default branch (master) when we push to any branch on the repo?

I think it makes sense to set the ref to the PR or the branch?
📝 Raimo33 opened a pull request: "crypto: optimize SipHash Write() method with chunked processing"
(https://github.com/bitcoin/bitcoin/pull/33325)
## Summary

The current [Write()](https://github.com/bitcoin/bitcoin/blob/master/src/crypto/siphash.cpp#L48) implementation of Siphash uses a byte-by-byte approach to iterate the span. This resulted in significant overhead
for large inputs due to repeated bounds checking and span manipulations, without any help from the compiler.

This PR aims at optimizing Siphash by replacing byte-by-byte processing in CSipHasher::Write() with an optimized
chunked approach that processes data in 8-byte a
...
💬 kevkevinpal commented on pull request "ci: reduce runner sizes on various jobs":
(https://github.com/bitcoin/bitcoin/pull/33319#issuecomment-3263065907)
ACK [5eeb2fa](https://github.com/bitcoin/bitcoin/pull/33319/commits/5eeb2facbbbbf68a2c30ef9e6747e39c85d7b116)

Looks good to me, makes sense to me to use smaller runners.
All the checks passed on this PR and the longest running one only too 44 minutes

is there any reason to keep `CentOS, depends, gui` and `MSan, depends` on a `lg` runner?
⚠️ HTM31-cyber opened an issue: "htm.sheng@gmail.com"
(https://github.com/bitcoin/bitcoin/issues/33326)
💬 l0rinc commented on pull request "crypto: optimize SipHash Write() method with chunked processing":
(https://github.com/bitcoin/bitcoin/pull/33325#issuecomment-3263170325)
This seems like a good idea to me, I will review this in more detail soon.

To set your expectations, these fundamental changes can take a long time to review - and we need very good reasons to risk introducing a potential error and making the code more complicated for a speedup that the users might never notice.

I like that you're explaining it in a lot of detail in the commit message, it's not a trivial change! We may be able to use more C++20 alignment-specific methods there (e.g. like t
...
willcl-ark closed an issue: "htm.sheng@gmail.com"
(https://github.com/bitcoin/bitcoin/issues/33326)