This week in Bitcoin Core - #28
Bitcoin Core contributor kevkevin covers some of the latest updates...
Hello 👋 folks, I’m kevkevin. I’m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the Bitcoin Core repo. Here’s what I found notable.
Merged PR’s
Every week, several changes are officially added to Bitcoin Core. This week, 29 changes were merged. Here are some I thought were interesting from this week.
net: avoid unconditional privatebroadcast logging (+ warn for debug logs) by l0rinc
With the recently merged private broadcast change being a large privacy boost also means that the users using this feature want their privacy. Sometimes, when users encounter bugs or issues on their machines, they want to share their logs with support.
L0rinc found that the debug logs can mention private broadcast and/or include (w)txids that can leak sensitive context. Ideally, Bitcoin Core should mitigate logs that might leak sensitive information.
In this change, L0rinc moved some LogInfo() calls to LogDebug(BCLog::PRIVBROADCAST, ...) so they are only printed to the logs when the user starts up Bitcoin Core with -debug=privatebroadcast. In addition to other changes, like removing hardcoded “[privatebroadcast]” log string.lint: upgrade lint scripts for worktrees by willcl-ark
Sdaftuar found an issue when the linter command from a git worktree in #29972. This was the motivation for this change. Before this pull request, the linter worked only when you checked the repo out in a regular git repo.
The fix for this was to use a single script to run the linter locally or in CI.Update secp256k1 subtree to latest master by fanquake
If you explore further into the post in the Releases section, you’ll see that there was a new release of libsecp256k1. If you are not familiar, there is a project called libsecp256k1, which is a dependency of Bitcoin Core that handles the cryptographic operations on the secp256k1 elliptic curve.
So whenever Bitcoin Core needs to do an elliptic curve operation, this library is most likely being called. This week, this library had a minor release, meaning that Bitcoin Core should update with it.
There are always changes being updated and reviewed in real-time. Here are some notable PR’s that are still up and looking for reviews.
Follow up from #29415
Sending a transaction via private broadcast does not have any way for a user to track the status of the transaction before it gets returned by another peer. The default logs will likely be removed as well in #34267. Nor is there any way to abort a transaction once it has been added to the private broadcast queue.
This adds two new RPCs:
getprivatebroadastinforeturns information about what transactions are in the private broadcast queue, including all the peers’ addresses we have chosen and timestamps for sending and reception acknowledgement. If the transaction was received back from a peer or otherwise stopped from being broadcast, this information and a timestamp of when we stopped is returned.
abortprivatebroadcaststops broadcasting a transaction in the private broadcast queue.
IRC meeting notes
Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.
16:02:00 <fjahr> #topic Net Split WG Update (cfields)
16:02:23 <cfields> Attention has been elsewhere, no update this week.16:02:43 <fjahr> #topic Silent Payments WG Update (Novo)
16:03:01 <Novo> Not a lot has changed
16:03:25 <Novo> I have a few ideas to try, real-or-random mentioned trying out parallelisation
16:03:41 <Novo> I want to see what I can achieve with this
16:04:42 <Novo> I have a LabelSet bitcoin-core implementation branch and some testing shows that it is slightlity faster than the Bip approach at scanning real mainnet blocks
16:05:51 <Novo> But this testing was done with only two labels, I haven’t done testing with higher labels, but I’m pretty sure the slight difference will disappear with a few more labels16:07:05 <fjahr> #topic Benchmarking WG Update (l0rinc, andrewtoth)
16:07:12 <andrewtoth> willcl-ark added some more benchmarks via benchcoin in #31132. Got some good review on the split off PRs.
16:07:16 <corebot`> https://github.com/bitcoin/bitcoin/issues/31132 | validation: fetch block inputs on parallel threads 3x faster IBD by andrewtoth · Pull Request #31132 · bitcoin/bitcoin · GitHub
16:07:22 <andrewtoth> l0rinc mentioned he will be here later, so maybe he has more to add. #32407 and #34253 were merged.
16:07:24 <corebot`> https://github.com/bitcoin/bitcoin/issues/32407 | . by AlnetharyT · Pull Request #32407 · bitcoin/bitcoin · GitHub
16:07:28 <corebot`> https://github.com/bitcoin/bitcoin/issues/34253 | validation: cache tip recency for lock-free `IsInitialBlockDownload()` by l0rinc · Pull Request #34253 · bitcoin/bitcoin · GitHub
16:07:37 <l0rinc> hi
16:08:07 <andrewtoth> that’s it from me unless l0rinc has more
16:08:14 <l0rinc> I will add a few stuff later, let’s continue16:08:21 <fjahr> #topic Kernel WG Update (sedited)
16:09:08 <sedited> alexanderwiederin opened a draft RFC for a new CChain data structure: https://github.com/bitcoin/bitcoin/pull/34424
16:09:14 <sedited> stickies-v is making progress on the logging PR: https://github.com/bitcoin/bitcoin/pull/34374
16:10:00 <sedited> we also integrated header processing in some of the kernel library language wrappers
16:10:06 <sedited> that’s all.16:10:42 <fjahr> #topic Fuzzing WG Update (dergoegge)
16:11:03 <dergoegge> nothing from my side16:11:18 <fjahr> #topic Cluster Mempool WG Update (sdaftuar, sipa)
16:12:13 <sipa> Not many updates. I’m working on the cost model PR (#34138), but focus remains the deterministic ordering: #34257
16:12:15 <corebot`> https://github.com/bitcoin/bitcoin/issues/34138 | Cluster mempool: more accurate cost model for SFL by sipa · Pull Request #34138 · bitcoin/bitcoin · GitHub
16:12:16 <corebot`> https://github.com/bitcoin/bitcoin/issues/34257 | txgraph: deterministic optimal transaction order by sipa · Pull Request #34257 · bitcoin/bitcoin · GitHub
16:13:13 <sipa> That’s it for me.16:13:23 <fjahr> Anything else to discuss?
16:13:26 <fjahr> PSA: next asmap built happens again in one week: https://github.com/asmap/asmap-data/issues/42
16:13:53 <fjahr> Also the v31 feature freeze is 4 weeks out afaict, not sure if there is something to discuss right now thoughFor the full meetings in minutes
Releases
Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!
If there are any comments, suggestions, or errors, do not hesitate to reach out or comment



