Last week many Bitcoin Core developers met up in Frankfurt, Germany as part of their regular twice-yearly in person meetings. Attendees volunteered to take notes on the unconference-style sessions and I have a pull request to add the notes to the BTC transcripts website: - ASMap - Batch Validation - Secp256k1 and quantum - CISA - Cluster mempool - CMake - CoreCheck - Debugging - Fuzzamoto - Libsha - Multiprocess and Mining Interface - Fingerprinting - Net / net_processing split - Package relay - Private broadcast - Security audit - Subject matter experts and working groups - Sockets abstraction Additional informal discussions, code reviews, working groups, or other sessions occurred on: - BIP 3 - Wallet priorities - Compact Block prefills - Silent Payments - btck - CI - SwiftSync - Benchmarking and IBD - When do Bitcoin Core users upgrade? - MuSig2 - Kernel - Working in-person - Complications with fuzz testing - BlockTemplateManager - QML GUI - Shared Templates BIP - Headers-first sync - Batch Validation - FIBRE - Consensus Cleanup - Silent payments libsecp256k1 light client - Better communicating with the broad community - Discussion on block 920138 and Bitcoin Core #33687 - Mempool and relay policy - CI with CTest and CDash This meeting was sponsored by BTrust who provided the funding for the venue, food, supplies, etc to facilitate the meeting (thank you!). JD (from localhost research), Emily (from Brink) and myself organized. A list of previous meetings is here: The PR to the website is open here, pending approval:
Bitcoin Core v30: a deeper look Link to the tweet Non Twitter link
Fuzz testing and Bitcoin Core... We received a pretty overwhelming response to our recent job post for a Bitcoin Core Fuzzing Internship at Brink. Brink received over 70 applications for the role with many qualified candidates. After the results of a coding challenge, we decided to actually move forward with two engineers for the 3 month role. Dongjia Zhang is a Ph.D. fuzzing researcher and maintainer of the LibAFL fuzzing library used to fuzz test Bitcoin Core. Stratos has a background in vulnerability research and will join Dongjia in working with Niklas (@dergoegge) in the coming months to enhance the fuzz testing capabilities in Bitcoin Core. Fuzz testing is the idea of throwing a bunch of quasi-random inputs at various functions of a codebase and seeing if anything abnormal happens. Think of it like mining for bugs. There is work in both the Bitcoin Core codebase as well as fuzz tooling (like fuzzamoto) in order to test more and more of Bitcoin Core in this way. Here is a bit more about fuzz testing in Bitcoin Core: Here is a conversation we had with Matt Morehouse on fuzz testing the Lightning Network: Marco (@macrohead7) recently completed his year long onsite fuzzing fellowship at Brink and provided some thoughts as well: Brink is proud to support the build out of further fuzzing capabilities in the Bitcoin Core codebase as well as other ecosystem softwares. We have not had intern roles before either and are excited to see how it works out. Welcome Dongjia and Stratos! image