Moneda bitcoin ar putea în curând să facă o bifurcație. Dacă minerii Bitcoin Unlimited încep să mineze blocuri care depășesc 1MB, acestea ar putea să fie respinse de nodurile bitcoin pline ca Bitcoin Core și Bitcoin Knots. Drept rezultat, am putea avea două blockchainuri și rețele diferite și necompatibile. Fiecare ar putea avea propria monedă – BTC de la Bitcoin Core și BTU cu Bitcoin Unlimited.
Nodurile pline ar ști ce protocol să folosească. Pentru mulți dintre clienții light (aici intră aproape toate portofelele mobile) lucrurile nu sunt la fel de clare. Un tip de client light în special, portofelele SPV (simple payment verification) se bazează adeseori pe date primite de la noduri la întâmplare. Acestea ar putea să fie noduri Bitcoin sau noduri Unlimited. Așadar, utilizatorii nu au cum să știe dacă văd în interfața portofelului lor BTC sau BTU. Ar putea deci să accepte o monedă crezând că o acceptă pe cealaltă.
Luke Dash Jr a venit cu o nouă propunere BIP (Bitcoin Improvement Proposal). Odată implementată, dezvoltatorul Bitcoin Knots și Bitcoin Core ar putea să rezolve problema.
Simple Payment Verification (SPV)
Ideea de SPV a fost descrisă pentru prima oară de Satoshi în lucrarea albă. Portofelele SPV se conectează direct la rețeaua p2p a bitcoinului, dar cer doar minimul necesar de date. Acum, portofelele SPV verifică dacă blocurile au dovadă de lucru, pentru a se asigura că nu sunt create din nimic. Pentru a calcula balanța contabilă, verifică dacă au fost trimiși bitcoin din sau către o anumită adresă bitcoin.
Problema portofelelor SPV este că pot fi păcălite de mineri. De exemplu, un miner ar putea să creeze un bloc care are dovadă de lucru validă dar cheltuie bitcoini care nu aparțin minerului. Portofelul SPV nu poate să știe că acei bitcoini nu aparțin minerului, așa că acceptă tranzacția ca plată validă.
În același fel, un portofel SPV nu verifică dimensiuea blocului bitcoin. Dacă are loc o bifurcație, aceste portofele vor verifica dovada de lucru dar nu vor ști că un bloc este invalid conform protocolului bitcoin curent. Dacă BU are cel mai lung lanț după dovada de lucru și un portofel SPV primește date de la cel puțin un nod BU, va urma orbește lanțul BU.
Consecințe
O consecință nefericită este că portofelele SPV ar putea să accepte BTU, deși cred că acceptă BTC. Portofelul nu face diferența. Dacă nu sunt atenți la dezbateri, mulți s-ar putea să nici nu știe că a avut loc o bifurcație. Abia când încep să cheltuiască fisele, le depozitează în alt portofel sau le trimit la un schimb află că nu dețin BTC ci BTU. Sau, mai exact, aveau BTU iar acum trebuie să spere că alte portofele, schimburile și comercianții acceptă BTU sau îl trimit înapoi.
Nici măcar nu luăm în considerare că lanțul Bitcoin Unlimited ar putea la un moment dat să fie abandonat cu totul. Dacă acest lucru se întâmplă, atunci fisele lor ar putea dintr-o dată să dispară din portofel.
Dovadă de fraudă
În lucrarea albă a lui Satoshi Nakamoto, se propune o soluție pentru acești vectori de atac. Dacă un nod plin detectează un bloc invalid, Nakamoto sugerează că ar trebui să trimită o alertă către nodul SPV. Această soluție nu a fost însă dezvoltată și este încă neclar dacă poate fi dezvoltată.
Asta explică de ce unii dezvoltatori bitcoin au fost dintotdeauna precauți în legătură cu implementarea curentă a portofelelor SPV. Poate că cel mai circumspect a fost Luke Dash Jr, care chiar le numește pseudo-SPV. După părerea lui, din cauza faptului că le lipsește securitatea, acestea nici nu au de ce să poarte numele de SPV, așa cum este descris conceptul în lucrarea albă.
Acum, Dash Jr. propune o rezolvare parțială a problemei, creată special pentru limita dimensiunii blocului. Dezvoltatorul a început să curețe buruienile din algoritmul de hash și crede că a găsit o metodă să determine dacă un bloc depăștește un megabyte doar cu ajutorul hash-ului de dovadă de lucru și să dea un fel de alarmă așa cum a fost sugerată de Nakamoto (sistem pe care îl numește dovadă de fraudă). Un portofel SPV nu va cunoaște dimensiunea exactă, dar va ști dacă un bloc depășește un megabyte.
Aceste dovezi de fraudă trebuie să fie trimise de către noduri pline, ca Bitcoin Core sau Bitcoin Knots. Odată ce minim un sfert din nodurile bitcoin din rețea au făcut upgrade să ofere dovezi de fraudă, nodurile SPV care au integrat soluția ar trebui să se conecteze la el puțin unul dintre ele și să fie relativ de încredere.
Aveți întrebări legate de posibila bifurcație bitcoin? Nu ezitați să ne scrieți pe adresa contact@goanadupabitcoin.ro și vă vom răspunde.
Articol preluat de la Aaron Wan Wirdum via BitcoinMagazine