💬 Sjors commented on pull request "policy: make pathological transactions packed with legacy sigops non-standard":
(https://github.com/bitcoin/bitcoin/pull/32521#issuecomment-3019784087)
From inline discussion: https://github.com/bitcoin/bitcoin/pull/32521#discussion_r2174917931
> I think it's good to keep the [`CCoinsCaching`] benchmark but its results should not be over interpreted. It is focused on a tiny portion of the total work performed when processing a transaction. I locally have benchmarks of `ProcessTransaction` which i may share in the future. To give you an idea, they suggest (as can be expected from just reading the code) that total work in processing a transact
...
(https://github.com/bitcoin/bitcoin/pull/32521#issuecomment-3019784087)
From inline discussion: https://github.com/bitcoin/bitcoin/pull/32521#discussion_r2174917931
> I think it's good to keep the [`CCoinsCaching`] benchmark but its results should not be over interpreted. It is focused on a tiny portion of the total work performed when processing a transaction. I locally have benchmarks of `ProcessTransaction` which i may share in the future. To give you an idea, they suggest (as can be expected from just reading the code) that total work in processing a transact
...
💬 l0rinc commented on pull request "log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError":
(https://github.com/bitcoin/bitcoin/pull/32604#discussion_r2175440506)
Sweet, I'm planning on reviewing it this week!
(https://github.com/bitcoin/bitcoin/pull/32604#discussion_r2175440506)
Sweet, I'm planning on reviewing it this week!
💬 luke-jr commented on pull request "fs: use `ftruncate` in `AllocateFileRange` on OpenBSD":
(https://github.com/bitcoin/bitcoin/pull/32645#discussion_r2175472130)
OTOH, `ftruncate` doesn't actually guarantee allocation... does OpenBSD provide such a guarantee?
(https://github.com/bitcoin/bitcoin/pull/32645#discussion_r2175472130)
OTOH, `ftruncate` doesn't actually guarantee allocation... does OpenBSD provide such a guarantee?
💬 TheCharlatan commented on pull request "policy: make pathological transactions packed with legacy sigops non-standard":
(https://github.com/bitcoin/bitcoin/pull/32521#discussion_r2175476610)
Right, I wrote a little kernel application to count the sigops per transactions here: https://github.com/TheCharlatan/bitcoin/tree/sigop_stats . Just ran it, but I'm currently away from home and only have access to a pruned node. Still, did not find any offending transactions the last two days.
(https://github.com/bitcoin/bitcoin/pull/32521#discussion_r2175476610)
Right, I wrote a little kernel application to count the sigops per transactions here: https://github.com/TheCharlatan/bitcoin/tree/sigop_stats . Just ran it, but I'm currently away from home and only have access to a pruned node. Still, did not find any offending transactions the last two days.
📝 fanquake opened a pull request: "depends: fix libevent `_WIN32_WINNT` usage"
(https://github.com/bitcoin/bitcoin/pull/32837)
Imports a commit from usptream ([a14ff91254f40cf36e0fee199e26fb11260fab49](https://github.com/libevent/libevent/commit/a14ff91254f40cf36e0fee199e26fb11260fab49)).
Fixes #32707.
(https://github.com/bitcoin/bitcoin/pull/32837)
Imports a commit from usptream ([a14ff91254f40cf36e0fee199e26fb11260fab49](https://github.com/libevent/libevent/commit/a14ff91254f40cf36e0fee199e26fb11260fab49)).
Fixes #32707.
💬 hebasto commented on pull request "depends: fix libevent `_WIN32_WINNT` usage":
(https://github.com/bitcoin/bitcoin/pull/32837#issuecomment-3019985717)
> Imports a commit from usptream ([a14ff91254f40cf36e0fee199e26fb11260fab49](https://github.com/libevent/libevent/commit/a14ff91254f40cf36e0fee199e26fb11260fab49)).
>
> Fixes #32707.
Any idea why the issue manifests only with mingw-w64 13.x?
(https://github.com/bitcoin/bitcoin/pull/32837#issuecomment-3019985717)
> Imports a commit from usptream ([a14ff91254f40cf36e0fee199e26fb11260fab49](https://github.com/libevent/libevent/commit/a14ff91254f40cf36e0fee199e26fb11260fab49)).
>
> Fixes #32707.
Any idea why the issue manifests only with mingw-w64 13.x?
⚠️ instagibbs opened an issue: "Shallow invalid forks + ActivateBestChainStep result in overly aggressive mempool filtering"
(https://github.com/bitcoin/bitcoin/issues/32838)
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Current behaviour
Upon reorgs, the mempool has its transactions filtered near the end of every call of `ActivateBestChainStep` via `MaybeUpdateMempoolForReorg` : https://github.com/bitcoin/bitcoin/blob/a763497b1d6661bc5a7b8943d8f04a4459fd6827/src/validation.cpp#L3403
If the fork being activated is actually invalid this can happen:
1. Chain at height `T`, with transaction in mempool which relies on height
...
(https://github.com/bitcoin/bitcoin/issues/32838)
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Current behaviour
Upon reorgs, the mempool has its transactions filtered near the end of every call of `ActivateBestChainStep` via `MaybeUpdateMempoolForReorg` : https://github.com/bitcoin/bitcoin/blob/a763497b1d6661bc5a7b8943d8f04a4459fd6827/src/validation.cpp#L3403
If the fork being activated is actually invalid this can happen:
1. Chain at height `T`, with transaction in mempool which relies on height
...
💬 instagibbs commented on issue "Shallow invalid forks + ActivateBestChainStep result in overly aggressive mempool filtering":
(https://github.com/bitcoin/bitcoin/issues/32838#issuecomment-3020041895)
cc @dergoegge
(https://github.com/bitcoin/bitcoin/issues/32838#issuecomment-3020041895)
cc @dergoegge
🚀 glozow merged a pull request: "p2p: Add witness mutation check inside FillBlock"
(https://github.com/bitcoin/bitcoin/pull/32646)
(https://github.com/bitcoin/bitcoin/pull/32646)
🤔 glozow reviewed a pull request: "p2p: add more bad ports"
(https://github.com/bitcoin/bitcoin/pull/32826#pullrequestreview-2972078289)
ACK 6967e8e8abbc35ac98e8e3745a8bbed56e77526f
(https://github.com/bitcoin/bitcoin/pull/32826#pullrequestreview-2972078289)
ACK 6967e8e8abbc35ac98e8e3745a8bbed56e77526f
💬 cmdruid commented on pull request "[WIP] rpc: add `clearmempool` command for regtest mode":
(https://github.com/bitcoin/bitcoin/pull/32418#issuecomment-3020093029)
Unfortunately I don't have the time to push this through. I will close this for now.
(https://github.com/bitcoin/bitcoin/pull/32418#issuecomment-3020093029)
Unfortunately I don't have the time to push this through. I will close this for now.
✅ cmdruid closed a pull request: "[WIP] rpc: add `clearmempool` command for regtest mode"
(https://github.com/bitcoin/bitcoin/pull/32418)
(https://github.com/bitcoin/bitcoin/pull/32418)
🚀 glozow merged a pull request: "p2p: add more bad ports"
(https://github.com/bitcoin/bitcoin/pull/32826)
(https://github.com/bitcoin/bitcoin/pull/32826)
💬 luke-jr commented on pull request "rpc: add optional nodeid param to filter getpeerinfo":
(https://github.com/bitcoin/bitcoin/pull/32741#discussion_r2175592013)
Only need to check `opt_peer_id` here, since we'd never get here if it's set to something different
(https://github.com/bitcoin/bitcoin/pull/32741#discussion_r2175592013)
Only need to check `opt_peer_id` here, since we'd never get here if it's set to something different
💬 luke-jr commented on pull request "rpc: add optional nodeid param to filter getpeerinfo":
(https://github.com/bitcoin/bitcoin/pull/32741#discussion_r2175593570)
Since we have to iterate peers to find the right one, maybe this should be a list (unordered_set in C++)
(https://github.com/bitcoin/bitcoin/pull/32741#discussion_r2175593570)
Since we have to iterate peers to find the right one, maybe this should be a list (unordered_set in C++)
🚀 glozow merged a pull request: "test: Turn util/test_runner into functional test"
(https://github.com/bitcoin/bitcoin/pull/32697)
(https://github.com/bitcoin/bitcoin/pull/32697)
💬 l0rinc commented on pull request "mempool: Avoid needless vtx iteration during IBD":
(https://github.com/bitcoin/bitcoin/pull/32827#discussion_r2175604578)
> which would need to be checked inside
Would that be after it's added to the queue already - which would kinda' defeat the purpose as far as I can tell :/
(https://github.com/bitcoin/bitcoin/pull/32827#discussion_r2175604578)
> which would need to be checked inside
Would that be after it's added to the queue already - which would kinda' defeat the purpose as far as I can tell :/
💬 mzumsande commented on issue "Shallow invalid forks + ActivateBestChainStep result in overly aggressive mempool filtering":
(https://github.com/bitcoin/bitcoin/issues/32838#issuecomment-3020279448)
Mabe we could create a `DisconnectedBlockTransactions` pool in `ActivateBestChain()` that is passed to each `ActivateBestChainStep()` instead of having a separate one in each `ActivateBestChainStep()` call, and then only call `MaybeUpdateMempoolForReorg` after `ABC` has made enough progress. We'd have to deal with blocks from multiple separate disconnections within one pool then (meaning duplicates/ possbile conflicts, because we could go into multiple forks, try to connect blocks, fail at some
...
(https://github.com/bitcoin/bitcoin/issues/32838#issuecomment-3020279448)
Mabe we could create a `DisconnectedBlockTransactions` pool in `ActivateBestChain()` that is passed to each `ActivateBestChainStep()` instead of having a separate one in each `ActivateBestChainStep()` call, and then only call `MaybeUpdateMempoolForReorg` after `ABC` has made enough progress. We'd have to deal with blocks from multiple separate disconnections within one pool then (meaning duplicates/ possbile conflicts, because we could go into multiple forks, try to connect blocks, fail at some
...
📝 average-gary opened a pull request: "test: Enhance GetTxSigOpCost tests for coinbase transactions"
(https://github.com/bitcoin/bitcoin/pull/32840)
Added assertions to the GetTxSigOpCost test cases to verify that the witness of a coinbase transaction is not considered in the signature operation cost calculations.
Using spendingTx.vin[0].prevout.SetNull() we create a coinbase transaction that evaluates to true for IsCoinbase(). Doing this to transactions (spendingTx in this case) that evaluate to a non-zero sigop output, we more concretely test that the witness of a coinbase transaction is not taken into account for SigOp maths.
------
...
(https://github.com/bitcoin/bitcoin/pull/32840)
Added assertions to the GetTxSigOpCost test cases to verify that the witness of a coinbase transaction is not considered in the signature operation cost calculations.
Using spendingTx.vin[0].prevout.SetNull() we create a coinbase transaction that evaluates to true for IsCoinbase(). Doing this to transactions (spendingTx in this case) that evaluate to a non-zero sigop output, we more concretely test that the witness of a coinbase transaction is not taken into account for SigOp maths.
------
...
🤔 ismaelsadeeq reviewed a pull request: "Broadcast own transactions only via short-lived Tor or I2P connections"
(https://github.com/bitcoin/bitcoin/pull/29415#pullrequestreview-2972293733)
I was experimenting with privacy on Bitcoin core and see this work.
Kudos 🎉 and thanks for your work to improve privacy
Great summary by @kdmukai
Did some manual tests on signet using the script provided; it was smooth on the happy path
<details>
<summary>See logs</summary>
```terminal
2025-06-30T17:06:38Z [privatebroadcast:info] P2P handshake completed, sending INV for txid=fdb1884dd42d940c3edd786487e45311a2d5f2328cf7349fa4ad5f29f5449c96, wtxid=862c319f69d047db646a375b2287a5116
...
(https://github.com/bitcoin/bitcoin/pull/29415#pullrequestreview-2972293733)
I was experimenting with privacy on Bitcoin core and see this work.
Kudos 🎉 and thanks for your work to improve privacy
Great summary by @kdmukai
Did some manual tests on signet using the script provided; it was smooth on the happy path
<details>
<summary>See logs</summary>
```terminal
2025-06-30T17:06:38Z [privatebroadcast:info] P2P handshake completed, sending INV for txid=fdb1884dd42d940c3edd786487e45311a2d5f2328cf7349fa4ad5f29f5449c96, wtxid=862c319f69d047db646a375b2287a5116
...