Khi ký, Bitcoin Core 26.2 không còn mặc định coi TapMiniscript là “sane” (#29853), getnetworkhashps báo lỗi với tham số không hợp lệ (#28554), setmocktime có giới hạn tối đa được áp dụng (#29869). Bản build cũng tương thích miniupnpc 2.2.8.
Trước Bitcoin Core 0.10.1, thông điệp nhận được có thể tới 32 MiB, nên kẻ tấn công có thể ép nút cấp phát ngần ấy RAM cho mỗi kết nối và có thể làm sập nút. Thành viên Bitcointalk Evil-Knievel báo lỗi; #5843 hạ giới hạn xuống 2 MiB, sau nâng lên 4 MB vì Segwit. Đợt công bố dự kiến năm 2015 bị hoãn, và chi tiết chỉ lộ ra năm 2024.
IPv6 khiến việc làm phình danh sách cấm không giới hạn của Bitcoin Core trở nên rẻ, và mỗi thông điệp GETADDR sau đó buộc nút quét danh sách này cho từng địa chỉ trả về, tối đa 2500 địa chỉ. Xếp mức cao, lỗi sập do bộ nhớ và ngốn CPU đều được #19219 xử lý, phát hành trong 0.20.1 và 0.21.0.
Hai lỗi xử lý thông điệp version, gồm tràn số nguyên có dấu và lỗi logic abs64, cho phép kẻ tấn công làm lệch adjusted time của nạn nhân tới mức nút từ chối khối mới vì cho là ghi giờ quá xa trong tương lai. Kẻ tấn công phải nằm trong 200 peer kết nối đầu tiên. Lỗi mức trung bình này được sửa trong Bitcoin Core 0.21.0.
Mở một liên kết thanh toán BIP72 giả mạo có thể làm sập Bitcoin-Qt: tham số r có thể trỏ tới một tệp khổng lồ, và ứng dụng cố cấp phát bộ nhớ cho tệp đó trong lúc âm thầm tải về ở nền. Lỗi mức trung bình biến mất khi #17165 gỡ hỗ trợ BIP70, có mặt từ 0.20.0.
Các giao dịch mồ côi dựng sẵn, không hợp lệ nhưng tốn công xác thực, có thể làm nút đứng hình hàng giờ, vì mỗi giao dịch mới được chấp nhận lại kích hoạt một lượt tìm kiếm bậc hai trong bộ nhớ đệm mồ côi. #15644 của Pieter Wuille ngắt công việc đó để xử lý tin nhắn mới ngay khi tìm thấy kết quả khớp. Bản sửa lỗi mức cao tới tay người dùng trong Bitcoin Core 0.18.0.
Thông điệp GETDATA sai định dạng có thể khiến luồng net_processing chạy hết 100% CPU trên Bitcoin Core trước 0.20.0, đồng thời tốn thêm 1,5 MB bộ nhớ cho mỗi peer tấn công. Các peer khác vẫn được phục vụ nên lỗi chỉ xếp mức thấp. John Newbery tìm ra và sửa trong #18808.
Header dựng thẳng trên khối genesis, chỉ cần độ khó 1, qua mặt logic checkpoint của Bitcoin Core từ 0.12.0 đến 0.15.0, nên kẻ spam có thể làm mapBlockIndex phình không giới hạn và có thể khiến nút sập vì hết bộ nhớ. Cory Fields báo lỗi mức trung bình này năm 2017, và #11028 đã khép lại.
Chỉ một INV nhồi 50.000 mục khối có thể khiến nút xếp hàng 50.000 phản hồi getheaders, mỗi phản hồi khoảng 1 kB, và một peer không chịu đọc sẽ giữ bộ đệm gửi 50 MB luôn đầy. #18962 của John Newbery, giới thiệu như một cách tiết kiệm băng thông, chỉ gửi một GETHEADERS cho mỗi INV và có mặt từ 0.20.0.
Giữ lại phản hồi GETDATA rồi spam các thông báo giả để đẩy một giao dịch khỏi map g_already_asked_for 50.000 mục, kẻ tấn công có thể thông báo lại nó liên tục và khiến nạn nhân không hỏi ai khác. John Newbery công bố lỗi mức trung bình này; #19988 của Pieter Wuille sửa trong Bitcoin Core 0.21.0.
Lỗi tràn bộ đệm thứ hai trong miniupnpc, do Wladimir J. Van Der Laan tìm ra, làm rò rỉ dữ liệu và có thể kết hợp với CVE-2015-6031 để thực thi mã từ xa, điều ông đã chứng minh trên miniupnpc 1.6-precise của Ubuntu. Mã khai thác của ông không áp dụng trực tiếp được cho Bitcoin Core, và bản 0.12 mang bản vá vào tháng 2/2016.
Bitcoin Core 27.1 dành trọn cho việc sửa lỗi: tính năng nâng phí cho giao dịch chưa ký trên GUI chạy lại được, ô IP proxy thôi nhận cổng, và GetAddedNodeInfo() giờ nhận ra peer CJDNS thêm bằng addnode (#30085). Cách xử lý TapMiniscript khi ký cũng thay đổi (#29853).
BIP324 v2 transport bật mặc định trong Bitcoin Core 27.0, và thuật toán CoinGrinder mới tìm tập đầu vào nhẹ nhất khi phí từ 30 sat/vB trở lên. Mã đồng thuận bỏ network-adjusted time để dùng giờ hệ thống, nên đồng hồ chính xác càng quan trọng với người vận hành. libbitcoinconsensus bị đánh dấu ngừng dùng, dự kiến gỡ ở v28.
Nút chạy Bitcoin Core 25.2 ngừng xử lý khối bị biến đổi (#29412). Bản cập nhật cũng sửa lỗi segfault ở getrawtransaction (#29003), use-after-free trong WalletBatch::EraseRecords (#29176) và lỗi sập GUI khi chọn “Mask values”.
Phiên I2P trong Bitcoin Core 26.1 dùng đồng thời mã hóa ECIES-X25519 và ElGamal (#29200), và nút giờ ghi log tiến độ khi tải mempool. Các bản sửa gồm từ chối xử lý khối bị biến đổi (#29412) và ví bỏ qua chọn coin BnB khi bật SFFO (#28994).
BIP324 v2 transport thử nghiệm xuất hiện lần đầu trong Bitcoin Core 26.0, mặc định tắt, bật bằng -v2transport. RPC mới loadtxoutset nạp snapshot assumeutxo, cho nút dùng được trong vài phút trong khi chainstate gốc tiếp tục xác thực ở nền, còn submitpackage gửi giao dịch thô vào mempool theo gói.
Ước tính phí lỗi thời không còn được trả về trên Bitcoin Core 24.2 (#27622), và cách RPC xử lý địa chỉ bech32 không hợp lệ đã được sửa (#27727). Các thay đổi còn lại chủ yếu thuộc hệ thống build và CI, trong đó có bản sửa build gói Qt macOS với linker Xcode 15 (#28543).
Tải compact block song song có mặt trong Bitcoin Core 25.1 (#27626). Các bản sửa khác xử lý lỗi sập REST ở /deploymentinfo (#27853), việc tắt server sau khi client từ xa ngắt kết nối (#28551) và di chuyển ví, nay từ chối script không hợp lệ (#28125).
Rescan ví descriptor nhanh hơn trong Bitcoin Core 25.0 khi có sẵn compact block filter BIP158 qua -blockfilterindex=1, và RPC mới scanblocks tìm kiếm trên các filter đó. Chính sách chuyển tiếp nay chấp nhận giao dịch từ 65 byte non-witness trở lên. Với -blocksonly, bộ nhớ mempool tối đa giảm từ 300MB xuống 5MB.
Ba thay đổi P2P làm nên Bitcoin Core 23.2: hết hỏng peers.dat (#26909), không còn xóa sớm trạng thái tải của peer khác (#27608) và hàng đợi inv-to-send nhanh hơn (#27610). Phần còn lại là việc build và CI, chẳng hạn biên dịch bdb bằng clang-16 trên aarch64.