Cea mai utilizată aplicație pentru rularea nodurilor Bitcoin, Bitcoin Core, se pregătește de o actualizare majoră. Versiunea 32.0 intră în faza finală de testare, promițând îmbunătățiri semnificative în ceea ce privește viteza de validare, modificări ale taxelor de tranzacție și remedierea unor vulnerabilități de securitate.
Actualizarea, planificată pentru lansare pe 10 octombrie, introduce schimbări esențiale în modul în care nodurile estimează taxele de tranzacție și procesează blocurile, concomitent cu rezolvarea unei erori în portofel (wallet) care ar fi putut permite unui utilizator autentificat să execute comenzi pe un nod. Dezvoltatorii au confirmat intrarea Bitcoin Core 32.0 în testarea finală pe 14 septembrie, lansarea oficială fiind programată pentru 10 octombrie.
Bitcoin Core permite fiecărui computer să verifice independent tranzacțiile și blocurile conform regulilor rețelei Bitcoin, eliminând necesitatea de a se baza pe servicii terțe. Versiunea 32.0 nu modifică regulile de consens ale Bitcoin.
**Estimări îmbunătățite ale taxelor de tranzacție:** În prezent, Bitcoin Core estimează taxele de tranzacție analizând predominant taxele plătite pentru tranzacțiile incluse în blocurile anterioare. Versiunea 32.0 adaugă un al doilea algoritm de estimare, care ia în considerare tranzacțiile aflate în așteptare pentru confirmare. Software-ul va compara cele două estimări și va recomanda taxa cea mai mică, dacă condițiile rețelei permit acest lucru. Această metodă ar trebui să permită scăderea mai rapidă a taxelor estimate odată cu decongestionarea rețelei, în loc să reflecte în continuare costurile mai mari din perioadele anterioare aglomerate, conform notelor preliminare de lansare.
**Procesare accelerată a blocurilor:** Nodurile pot acum prelua datele tranzacțiilor din bazele lor de date utilizând mai multe fire de execuție (threads) simultan în timpul verificării blocurilor. Bitcoin Core va folosi opt astfel de fire de execuție în mod implicit, reducând timpul de așteptare pentru informațiile stocate pe disc atunci când un nod trebuie să ajungă la zi cu blockchain-ul.
**Remedierea vulnerabilităților de securitate:** Dezvoltatorii au corectat o vulnerabilitate existentă încă din versiunea Bitcoin Core 24.0 pe sistemele non-Windows. Un utilizator autentificat, având permisiunea de a crea portofele, putea denumi un portofel într-un mod special creat, iar în anumite condiții, acest lucru putea duce la executarea de comenzi pe computerul care găzduia nodul. Acest atac necesita ca operatorul să aibă activată funcția "walletnotify", care rulează automat o comandă aleasă la apariția unei tranzacții într-un portofel. Bitcoin Core 32 tratează denumirile portofelelor ca text simplu, împiedicând interpretarea lor ca și comenzi.
**Modificări la nivelul portofelelor și remedierea unei erori de memorie:** Patru comenzi Bitcoin Core utilizate pentru crearea tranzacțiilor semnate parțial (PSBT) vor începe să utilizeze implicit formatul mai nou PSBT versiunea 2. Aceste tranzacții sunt frecvent transferate între aplicațiile de portofel și dispozitivele de semnare înainte ca Bitcoin să fie trimis. Aplicațiile vor putea în continuare solicita formatul mai vechi, dar serviciile construite direct pe baza acestor comenzi Core vor trebui să asigure compatibilitatea cu versiunea 2.
Versiunea 32.0 înlocuiește, de asemenea, serverul web existent al Bitcoin Core, care gestionează solicitările de la alte aplicații ce comunică cu un nod. Un audit al noului server a relevat că acesta putea continua să primească date de la un client în timp ce procesa o solicitare anterioară. Aceste date se acumulează în memorie mai rapid decât putea fi eliberată de server, creând o modalitate de a crește utilizarea memoriei unui nod până la epuizare. Problema, descrisă ca un scenariu de epuizare a memoriei, a fost identificată înainte de lansarea stabilă a versiunii 32.0, fiind remediată în timpul testării. Testele au demonstrat că problema se extindea și la interfața REST a Bitcoin Core, utilizabilă fără credențiale de autentificare. Conexiunile neautentificate la interfața REST puteau duce la o creștere masivă a consumului de memorie într-un timp foarte scurt, problemă care a fost rezolvată odată cu implementarea corecției.

