Share this article

Pinipili ng rogue na transaksyon ang mga kaswal na gumagamit ng software ng Bitcoin

Ang isang pagkakamali na ginawa ng isang developer ng Bitcoin wallet ay nagpahinto sa mga tao sa pag-restart ng kanilang Bitcoin client software ngayong linggo.

Nagsimulang mabigo ang maramihang bersyon ng Bitcoin client nitong linggo, matapos ang isang rogue na transaksyon na huminto sa mga user sa pag-restart ng software.

Ang mga problema ay unang lumabas noong Lunes ng umaga sa oras ng US, na may a mensahe sa Bitcoin Talk forum.

Ipagpatuloy Ang Kwento Sa Baba
Don't miss another story.Subscribe to the Crypto Daybook Americas Newsletter today. Tingnan ang Lahat ng mga Newsletter
"Binuksan ko lang ang aking laptop at sinimulan ang Bitcoin QT at natanggap ang mensaheng blockchain na corrupt, na-click ko ang OK at ngayon ay lilitaw ang "Reindexing blocks - 204 na linggo," sabi ng poster. "Gayundin, ang aking mga Bitcoin ay Hindi nakumpirma. Anong nangyari, bakit may message?"

Ang iba ay mabilis na nag-ulat ng parehong error sa maraming mga computer, na nagpapatakbo ng iba't ibang mga bersyon ng Bitcoin-QT, na siyang karaniwang graphical user interface (GUI) -enabled na bersyon ng Bitcoin client. Ang muling pag-index ng mga bloke gamit ang Bitcoin client ay nabigo upang malutas ang problema. Ang parehong problema ay nakaapekto sa Bitcoind, na hindi nakabatay sa GUI na bersyon ng kliyente.

Ang problema ay resulta ng isang bug na orihinal na ipinakilala sa bersyon 0.8.0 ng Bitcoin client, na noon ay unang inilabas noong Pebrero. Ang bersyon na iyon ay isang pangunahing release, na inilipat ang database na ginamit upang iimbak ang block chain mula Berkeley DB sa LevelDB, upang malutas ang isang problema sa seguridad.

"Ito ay isang bug sa aming code na sumusuri para sa mga hindi pagkakapare-pareho ng database ng LevelDB na ipinakilala noong lumipat kami sa imbakan ng LevelDB sa 0.8.0 na paglabas, na sinamahan ng isang bug na sumusuri sa numero ng bersyon sa mga transaksyon," sabi ni Gavin Andresen, punong developer. "Ang isang transaksyon na may masamang numero ng bersyon ang nag-trigger ng problema."

Si Gregory Maxwell, isa pang miyembro ng CORE developer team, ay nag-post ng isang solusyon para sa problema kahapon ng umaga. Ipinaliwanag niya sa CoinDesk na mula noong 0.8.0, ang software ay nag-imbak ng mga transaksyon na may mga negatibong numero ng bersyon nang hindi tama sa lokal na bersyon ng block chain.

"Ang maling pag-uugali na ito ay, sa kanyang sarili, hindi nakakapinsala at hanggang kahapon ay walang anumang mga transaksyon na may negatibong bersyon."

Gayunpaman, noong Lunes, ang naturang transaksyon ay inilabas, at naka-imbak sa kliyente. Dahil ang software ay nagpapatupad ng mahigpit na pagsusuri sa pagkakapare-pareho ng database na tumatakbo sa tuwing ito ay sinimulan, tumanggi itong magsimula pagkatapos na maisama ang mga transaksyong ito sa kadena, aniya.

Hindi sinabi ni Andresen o Maxwell na nakakita sila ng anumang ebidensya ng makabuluhang pagkagambala sa network. Itinuro ni Andresen na T nito naaapektuhan ang pinakamalaki, kritikal na bahagi ng imprastraktura ng network tulad ng mga mining pool, merchant, o palitan, dahil madalas nilang KEEP tumatakbo ang kanilang Bitcoin software, kadalasang may maraming node.

"Dahil ang isyu ay madaling malutas (kapag nakakita ka ng mga tagubilin) ​​pinaghihinalaan ko na nangangahulugan ito na malamang na ito ay isang mas malaking pinagmumulan ng pagkabigo kaysa ito ay isang aktwal na pagkagambala," sabi ni Maxwell.

Kaya, saan nagmula ang mga transaksyon? Na-trace sila ni Maxwell sa ilang ginamit na address. Itinuro niya ang isang developer ng Bitcoin wallet, na ang software ay hindi nasimulan ang bersyon bago magpadala ng transaksyon. "Ito ay isang mahirap na pagkakamali na gawin, lalo na sa C code," sabi niya, at idinagdag na ang pahina ng Github ng wallet ay offline na ngayon. "Marahil ay kinuha niya ito offline dahil sa bug na ito."

Ang bug ay maaaring nakakadismaya lamang, ngunit ipinapakita rin nito kung paano mai-mount ang mga pag-atake sa network - kahit na hindi sinasadya at hindi malisya - sa pamamagitan lamang ng paghahatid ng isang transaksyon na nakakalito sa system salamat sa isang matagal nang bug. Sa kasong ito, isa lamang itong malformed na transaksyon, nag-warping ng isang piraso ng data na hindi aktibong ginagamit ng Bitcoin client.

"Kung ang error ay nasa isang bagay na ginamit, ito ay magiging isang napakaseryosong bug sa paggawa ng tinidor," sabi ni Maxwell. Mangangailangan ito ng kaukulang kahinaan sa code, gayunpaman.

Gumagawa na ngayon ng pag-aayos ang CORE development team. "Kapag kami ay tiwala na mayroon kaming isang mahusay na pag-aayos at ang problema ay T maaaring ma-trigger sa ibang paraan, kami ay maglalabas ng isang 0.8.5 na bersyon," Andresen concluded.

Danny Bradbury

Si Danny Bradbury ay isang propesyonal na manunulat mula noong 1989, at nagtrabaho ng freelance mula noong 1994. Sinasaklaw niya ang Technology para sa mga publikasyon tulad ng Guardian.

Picture of CoinDesk author Danny Bradbury