Portofelele din Bitcoin Core 24.1 șterg cheia master la blocare, ca să nu rămână în memorie (#27080), iar coruperea peers.dat e prevenită prin serializare o singură dată (#26909). Cozile inv-to-send merg mai repede (#27610) și dispare un segfault REST la URI-uri invalide (#27468).
deriveaddresses nu se mai prăbușește la indexul 2147483647 în Bitcoin Core 23.1 (#26275) și dispare un segfault pe MacOS 13 declanșat de anumite notificări. GUI-ul refuză acum să cripteze portofelele watch-only, iar Qt5 trece la 5.15.3 (#24668).
Un simplu -persistmempool înseamnă acum -persistmempool=1 în Bitcoin Core 22.1, după ce înainte oprea din greșeală persistența mempoolului (#23061). Calculul comisionului rotunjește în sus, ca să nu ajungă sub rata așteptată (#22949), iar un segfault de portofel legat de external_spk_managers e reparat (#23333).
Sincronizarea headerelor primește o fază presync în Bitcoin Core 24.0.1: ca să prevină un posibil denial-of-service, nodurile verifică munca cumulată a unui peer înainte de a-i stoca headerele, ceea ce poate încetini prima sincronizare (#25717). Tot noi sunt RPC-ul sendall și opțiunea mempoolfullrbf, care acceptă înlocuiri fără semnalizare BIP125, iar portofelele folosesc implicit opt-in RBF.
CJDNS primește suport complet în Bitcoin Core 23.0, iar vechea preferință pentru peerii de pe portul 8333 dispare (#23542). Estimarea comisioanelor ia acum în calcul înlocuirile RBF, parametrul de pornire -rescan e eliminat, iar binarele pentru Linux vin cu tracepoints experimentale.
Peerii care încalcă regulile apar ca „discouraged”, nu ca bannați, în logurile Bitcoin Core 0.20.2: se pot conecta în continuare, dar sunt primii deconectați, iar starea se șterge la repornire. -walletnotify se declanșează din nou pentru tranzacțiile de portofel scoase din mempool din cauza unui conflict cu un bloc nou, iar PSBT-urile conțin atât UTXO witness, cât și non-witness pentru intrările SegWit.
Adresele „rumoured” primesc o limită de rată în Bitcoin Core 0.21.2 (#22569), iar o linie de comandă cu -noincludeconf=0 nu mai prăbușește parserul (#22002). În GUI, mesajele de eroare pentru URI nu mai repetă datele introduse de utilizator (gui#280).
Suportul pentru I2P sosește în Bitcoin Core 22.0, iar adresele Tor v2 dispar, acum că însăși rețeaua Tor a renunțat la ele. Se adaugă maparea de porturi NAT-PMP, RPC-urile cer Bech32m pentru adresele native witness versiunea 1, conform BIP 350, iar binarele oficiale provin dintr-o compilare bazată pe Guix.
Șabloanele de bloc din Bitcoin Core 0.21.1 semnalează pregătirea pentru Taproot timp de aproximativ trei luni. Dacă 90% din blocurile unei perioade de ajustare de 2016 blocuri semnalează, Taproot ajunge în faza de lock-in, iar această versiune aplică BIP-urile 341 și 342 de la blocul 709.632. Utilizatorii de Windows au parte de o solicitare suplimentară la instalare, din cauza unei probleme cu certificatul de semnare a codului.
Bitcoin Core 0.21.0 adaugă rețelele de test signet (BIP325) și include regulile de consens Taproot din BIP341 și BIP342, active pe signet, dar nu și pe mainnet. Nodurile câștigă și servicii ascunse Tor v3, retransmitere wtxid BIP339 și opțiunea de a oferi peerilor filtre compacte BIP157.
Bannările automate fac loc unui filtru de descurajare în Bitcoin Core 0.20.1: peerii care încalcă regulile se pot conecta în continuare, dar sunt primii deconectați. Tranzacțiile de portofel aflate în conflict declanșează din nou -walletnotify, după ce funcția se stricase în v0.19, iar PSBT-urile pentru intrări SegWit conțin acum atât UTXO witness, cât și non-witness.
Mesajele reject BIP61 și suportul pentru plăți BIP70 dispar din Bitcoin Core 0.20.0, care renunță și la OpenSSL. Opțiunea experimentală -asmap împarte conexiunile către peeri între sisteme autonome, iar setările rpcwhitelist pot restricționa un utilizator RPC la anumite apeluri.
Utilizatorii Tor pot accesa acum site-ul Bitcoin Core printr-o adresă onion, după numeroase solicitări. Serviciul ascuns adaugă încă o rută de ocolire a cenzurii și un lanț de încredere care nu depinde nici de autoritățile de certificare, nici de DNS.
Transmiterea de două ori a -blockfilterindex=basic nu mai provoacă o eroare fatală leveldb în Bitcoin Core 0.19.1, o actualizare de mentenanță. Mai e corectată valoarea origfee returnată de bumpfee și apar verificări de limite pentru indecși și sume în PSBT-uri.
Cine descarcă 0.19.0 primește de fapt 0.19.0.1, pentru că o problemă a ieșit la iveală imediat după procesul rc. Noutățile din această versiune Bitcoin Core: indicatorul de portofel avoid_reuse, care poate ține adresele deja folosite în afara unei operațiuni, RPC-ul getbalances, menit să înlocuiască apelurile mai vechi de sold, și filtrele de bloc BIP158 prin -blockfilterindex.
Bitcoin Core
Buletin de securitateDezvoltare2 minute de lectură
Un proxy SOCKS malițios putea suprascrie stiva programului unui nod Bitcoin Core, arată dezvăluirea completă a CVE-2017-18350. Buffer overflow-ul a apărut odată cu suportul SOCKS5 în v0.7.0rc1 și a fost reparat discret în 0.15.1; expuse erau doar nodurile configurate să folosească un astfel de proxy, pe sisteme cu tipul signed char.
Versiunea 0.18.1 a Bitcoin Core corectează înălțimea de prune returnată de pruneblockchain și face ca signrawtransactionwithkey să raporteze o eroare când lipsește un redeemScript sau witnessScript. În GUI dispare un bug de pe Mac la deschiderea fișierului de configurare.
Minerii care apelează getblocktemplate fără regula segwit primesc acum o eroare în Bitcoin Core 0.18.0, pentru că omisiunea le reduce recompensele. Configurarea RPC devine mai strictă: rpcallowip nu mai face nodul să asculte pe toate interfețele, iar caracterul # în rpcpassword oprește pornirea.
Bitcoin Core 0.17.1 readuce etichetele în listtransactions: parametrul account, depreciat și redenumit dummy în 0.17.0, devine label. Remedierile vizează un caz-limită de overflow la deserializare și un bug la semnarea PSBT.
Portofelele se pot încărca, crea și descărca acum în timpul rulării, prin RPC, în Bitcoin Core 0.17.0, nu doar la pornire. Noul indicator -avoidpartialspends cheltuie împreună monedele primite la aceeași adresă, cu riscul unor comisioane mai mari, iar un API de etichete îl înlocuiește pe cel depreciat de conturi. CVE-2018-17144 nu afectează această versiune.