În primele zile ale lunii octombrie, protocolul bitcoin a suferit de pe urma unui atac de maleabilitate. Cu alte cuvinte, tranzacțiile clienților au fost modificate și redifuzate cu un nou număr de tranzacție.
Atacul a afectat aproape toate tranzacțiile din rețea și nu țintește către anumiți utilizatori sau protofele Tranzacțiile arată ca și când moneda bitcoin ar fi trimisă de două ori (problema dublei cheltuiri). În mod normal, acțiunea verificată este confirmată de rețea, iar cea care vrea să inducă în eroare dispare. Trebuie să știți însă că atacul este mai degrabă enervant, chiar dacă nu a afectat securitatea și nu există riscuri mari de a vă pierde fondurile.
Modificarea care se face la tranzacție este deja înțeleasă și nu este nouă – este vorba despre o schimbare numerică simplă la un număr din semnătura ECDSA.
În ultimele două luni, rețeaua a avut parte de atacuri asemănătoare de maleabilitate sau spam care au lovit rețeaua și au afectat confirmările. Comunitatea știe de această problemă, iar unii membri au vorbit despre această problemă. Unul dintre membri dă ca exemplu moneda digitală litecoin care ”arată că există o rezolvare simplă pentru atacurile spam făcute asupra bitcoin-ului”.
Dezvoltatorii au lucrat la rândul lor la rezolvarea problemei, venind cu soluția BIP62. CU toate acestea, dezvoltatorul Pieter Wuille a spus că sunt tot felul de ”complexități” care vin odată cu implementarea. Mulți dintre membri comunității au acum bătăi de cap cu atacurile de maleabilitate iar oamenii le raportează pe forumuri. Într-unul dintre threaduri, un utilizator de pe BitcoinTalk a pretins că el este vinovat de atac.
”Ok, nu e vorba de ”cineva”. Eu am dat atacurile. În acest moment testul de rezistență a fost pus pe pauză. Îmi rezerv dreptul de a-l relua. Mă puteți întreba orice”
Utilizatorilor din rețea li s-a spus, așa cum li s-a mai spus de multe ori, să nu își facă griji. Pe reddit se recomanda ca oamenii să aștepte ca blockchain-ul să primească confirmarea în totalitate a tranzacției precedente înainte să facă alte tranzacții.
”Sunt foarte surprins și șocat de lipsa de străduință cu care este tratată această problemă” a scris unul din utilizatori. Dacă BIP 62 va fi în cele din urmă lansat, minerii sunt încurajați să adopte soluția pentru a face tranzacțiile să ruleze ușor.
Deocamdată tranzacțiile trimise pe blockchain sunt schimbate dar fără să se cunoască parola privată. Asta înseamnă că bitcoinii utilizatorilor sunt în siguranță și că nu se schimbă sursa destinației pentru suma trimisă, doar că nu este foarte evident că ai fost lovit de un astfel de atac.
Cum sunt afectați utilizatorii Bitcoin
Pe perioada atacului, nu poți avea încredere în numărul de tranzacții. Odată ce trimiți o tranzacție, trebuie să înțelegi că aceasta ar putea să intre într-un block cu un hash diferit. Destinatarul primește fondurile în același fel ca de obicei, comisioanele minerilor sunt aceleași și cei mai mulți exploratori de block nu arată suficiente detalii pentru a putea să facă diferența între cele două tranzacții.
Tehnic vorbind, tranzacția originală ar putea fi considerată dublă cheltuire, așa că să sperăm că nimeni nu vă suspectează de intenții dubioase. Nu ai ce să faci pentru a preveni aceste modificări. Ele se întâmplă după ce tranzacția este trimisă în rețeaua publică.
Un test făcut de editorii de la CoinTelegraph arată că un dolar trimis de la un portofel către altul ia cam o oră pentru a primi o confirmare sigură. Mai târziu s-a observat căapare o dublă cheltuire în lista de tranzacții, care însă a dispărut în cele din urmă din portofelul Bread. Per total, se crede că BIP 62 va rezolva problema de maleabilitate și cea de spam din protocol.
Ce e de făcut?
Trebuie să fim cu toții puțin mai atenți la primirea de tranzacții fără confirmări, cel puțin în această perioadă. În special, nu este sigur să construiești noi tranzacții penste prima tranzacție până când nu se confirmă, pentru că apar două versiuni ale aceleiași tranzacții și nu ai de unde să știi care va fi procesată. Aceasta este o problemă chiar și când vine vorba despre persoane în care ai încredere, sau chiar între două conturi pe care le administrezi tu.
Dezvoltatorii Bitcoin Core nu au făcut declarații despre această problemă. În luna ianuarie, Gavin Andresen a spus
that he would suggest a few changes such as BIP 62, explaining it “would simplify avoiding OpenSSL in consensus implementations.”
Sursa CoinKite și CoinTelegraph