TapMiniscript'in sağlam olduğu varsayımı Bitcoin Core 26.2'de imzalama kodundan çıktı (#29853). getnetworkhashps geçersiz parametrelerde hata veriyor (#28554), setmocktime için de zorunlu bir üst sınır var (#29869). Derleme miniupnpc 2.2.8 ile de çalışıyor.
Bitcoin Core 0.10.1 öncesinde alınan mesajlar 32 MiB'a ulaşabiliyordu; saldırgan bağlantı başına bu kadar RAM ayırtıp düğümü çökertebilirdi. Bitcointalk kullanıcısı Evil-Knievel'in bildirdiği sorunda #5843 sınırı 2 MiB'a indirdi, sınır sonradan Segwit için 4 MB'a çıktı. 2015 için duyurulan açıklama ertelendi, ayrıntılar 2024'te yayımlandı.
IPv6, Bitcoin Core'un sınırsız yasak listesini ucuza şişirmeyi mümkün kılıyordu; ardından her GETADDR mesajı, döndürülen en fazla 2500 adresin her biri için bu listenin taranmasını zorunlu kılıyordu. Yüksek önem dereceli bellek kaynaklı çökme ve CPU tüketimi, 0.20.1 ve 0.21.0'da yayımlanan #19219 ile giderildi.
Sürüm mesajı işlemedeki iki hata (işaretli tam sayı taşması ve abs64 mantık hatası) saldırgana kurbanın düzeltilmiş zamanını kaydırma imkânı veriyordu; kurban da yeni blokları fazla ileri tarihli diye reddetmeye başlıyordu. Saldırganın ilk bağlanan 200 eş arasında olması gerekiyordu. Orta dereceli açık Bitcoin Core 0.21.0'da kapatıldı.
Sahte bir BIP72 ödeme bağlantısını açmak Bitcoin-Qt uygulamasını çökertebiliyordu: r parametresi dev bir dosyayı gösterebiliyor, uygulama da indirme arka planda sessizce sürerken bunun için bellek ayırmaya çalışıyordu. Orta dereceli hata, BIP70 desteğini kaldıran #17165'in 0.20.0'da yayımlanmasıyla ortadan kalktı.
Geçersiz ama doğrulaması pahalı, özel hazırlanmış yetim işlemler bir düğümü saatlerce kilitleyebiliyordu, çünkü kabul edilen her yeni işlem yetim önbelleğinde ikinci dereceden (quadratic) bir aramayı tetikliyordu. Pieter Wuille'in #15644'ü, eşleşme bulunur bulunmaz bu işi keserek yeni mesajlara geçiyor. Yüksek önem dereceli düzeltme kullanıcılara Bitcoin Core 0.18.0 ile ulaştı.
Hatalı biçimlendirilmiş bir GETDATA mesajı, 0.20.0 öncesi Bitcoin Core sürümlerinde net_processing iş parçacığını %100 CPU'da döndürüp saldıran eş başına 1,5 MB bellek ekleyebiliyordu. Diğer eşlere hizmet sürdüğü için derece düşük tutuldu. Hatayı John Newbery bulup #18808 ile düzeltti.
Doğrudan genesis bloğu üzerine kurulan ve yalnızca 1 zorluk gerektiren başlıklar, Bitcoin Core 0.12.0'dan 0.15.0'a kadar kontrol noktası mantığını aşıyordu; böylece spam gönderen biri mapBlockIndex'i sınırsız büyütüp düğümü bellek yetersizliğinden çökertebilirdi. Orta dereceli hatayı 2017'de Cory Fields bildirdi, #11028 kapattı.
50.000 blok öğesi içeren tek bir INV, düğüme her biri yaklaşık 1 kB olan 50.000 getheaders yanıtı kuyruğa aldırabiliyor, bunları okumayı reddeden eş de 50 MB'lık gönderim tamponunu dolu tutuyordu. John Newbery'nin bant genişliği tasarrufu olarak sunduğu #18962, INV başına tek GETHEADERS gönderiyor ve 0.20.0'la yayımlandı.
Saldırgan GETDATA yanıtlarını vermeyip ardından sahte duyurular yağdırarak bir işlemi 50.000 kayıtlı g_already_asked_for haritasından çıkarabiliyor, işlemi tekrar tekrar duyurup kurbanın başka kimseden istemesini engelleyebiliyordu. Orta dereceli hatayı John Newbery açıkladı; Pieter Wuille'in #19988'i Bitcoin Core 0.21.0'da düzeltti.
Wladimir J. Van Der Laan'ın miniupnpc'de bulduğu ikinci arabellek taşması veri sızdırıyor ve CVE-2015-6031 ile zincirlenerek uzaktan kod çalıştırmaya yol açabiliyordu; bunu Ubuntu'nun miniupnpc 1.6-precise paketinde gösterdi. İstismar kodu Bitcoin Core'a doğrudan uyarlanamadı, düzeltme de Şubat 2016'da 0.12 sürümüyle geldi.
Bitcoin Core 27.1 baştan sona hata düzeltmesi: GUI'de imzasız işlemler için ücret artırma onarıldı, proxy IP alanı artık port kabul etmiyor, GetAddedNodeInfo() de addnode CJDNS eşlerini algılıyor (#30085). İmzalama sırasında TapMiniscript işleme de değişti (#29853).
BIP324 v2 aktarımı Bitcoin Core 27.0'da varsayılan olarak açılıyor; yeni CoinGrinder algoritması 30 sat/vB ve üzeri ücret oranlarında en hafif girdi kümesini arıyor. Ağ ayarlı zaman konsensüs kodundan çıkıp yerini sistem saatine bırakıyor, dolayısıyla düğüm işletmecileri için doğru saat daha önemli. libbitcoinconsensus kullanımdan kaldırılıyor, v28'de tamamen çıkarılması planlanıyor.
Deneysel BIP324 v2 aktarımı ilk kez Bitcoin Core 26.0'da yer alıyor; varsayılan olarak kapalı, -v2transport ile açılıyor. Yeni loadtxoutset RPC'si assumeutxo anlık görüntülerini yüklüyor: özgün chainstate arka planda doğrulanırken düğüm dakikalar içinde kullanılabilir hale geliyor. submitpackage ise ham işlemleri paket olarak mempool'a gönderiyor.
Eskimiş ücret tahminleri Bitcoin Core 24.2'de artık sunulmuyor (#27622), RPC'nin geçersiz bech32 adreslerini işleyişi de düzeltildi (#27727). Diğer değişikliklerin çoğu derleme sistemi ve CI ile ilgili; bunların arasında Xcode 15 bağlayıcısıyla macOS Qt paketi derlemesine yönelik bir düzeltme de var (#28543).
BIP158 compact block filtreleri -blockfilterindex=1 ile kullanılabiliyorsa descriptor cüzdan taramaları Bitcoin Core 25.0'da hızlanıyor; yeni scanblocks RPC'si de bu filtrelerde arama yapıyor. Aktarım politikası artık 65 witness dışı bayt ve üzerindeki işlemleri kabul ediyor. -blocksonly modunda azami mempool belleği 300MB'tan 5MB'a iniyor.
Üç P2P değişikliği Bitcoin Core 23.2'nin ana gövdesini oluşturuyor: peers.dat bozulması sona eriyor (#26909), diğer eşlerin indirme durumu vaktinden önce silinmiyor (#27608), inv-to-send kuyrukları hızlanıyor (#27610). Geri kalanı aarch64 üzerinde clang-16 ile bdb derlemesi gibi derleme ve CI işleri.