Ang matinding bug ng bug sa software ng Bitcoin ay nagsiwalat ng 2 taon pagkatapos ng pag-aayos

Ang "mataas" na bug ng kalubhaan sa software ng Bitcoin ay nagsiwalat ng 2 taon pagkatapos ayusin - Bitcoin Core bugIsang pangunahing bug sa Bitcoin Core software, na hindi malito Bitcoin System, pinapayagan ang mga magsasalakay na magnakaw ng mga pondo, maantala ang mga deal, o hatiin ang mas malaking network ng blockchain sa mga magkasalungat na bersyon kung hindi pa ito lihim na naayos dalawang taon na ang nakakaraan.

Ang bug sa code

Isang artikulong inilathala noong Miyerkules ni Braydon Fuller, isang protocol engineer sa crypto shopping site Purse, at Javed Khan, isang senior developer ng Handshake protocol, na nagsabing napansin nila ang kahinaan noong Hunyo 2018.

Ang bug ay naitalaga ng isang antas ng kalubhaan na 7,8 sa isang sukat na 1 hanggang 10, na itinuturing na "mataas" (9 at pataas ay itinuturing na "kritikal"). Ang problema ay sanhi ng "mga remote node" na pagkabigo upang maalis ang mga hindi wastong transaksyon mula sa kanilang memorya, sinabi ni Khan.

Ang kabiguang kanselahin ang mga nasabing transaksyon ay maaaring humantong sa isang pag-atake na naglo-load sa node ng biktima ng hindi lipas na data sa tinukoy bilang "hindi kontroladong pagkonsumo ng mapagkukunan," na tuluyang nagdulot ng pagkasara ng node, isinasaad ng dokumento.

Ang mga solusyon sa Layer 2 (L2) tulad ng Lightning Network, ang pang-eksperimentong sistema ng pagbabayad na itinayo sa Bitcoin blockchain, ay nasa peligro mula sa bug na ito. Ang buong node ng Bitcoin, sa kabilang banda, ay hindi ipagsapalaran sa pagkawala ng mga pondo.

Walang mga pagtatangka na samantalahin ang problema ang isiniwalat, nagsulat sina Khan at Fuller. Ang kahinaan ay hindi isiniwalat sa publiko sa loob ng higit sa dalawang taon dahil ang mga node operator ay tumagal ng mas matagal kaysa sa inaasahan na mag-update, sinabi ni Fuller.

Bagaman ang bug ay naayos na, ang pagsisiwalat nito ay nagha-highlight ng mga paghihirap ng pagbuo ng isang pandaigdigang pamantayan ng pera sa mga wika ng programa na gawa ng tao, hindi pa mailakip ang mataas na mga teknikal na hadlang sa pagbuo ng pinakamalaking cryptocurrency sa buong mundo.

Ang problema sa code ay ipinasok sa Bitcoin Core noong Nobyembre 2017. Humigit-kumulang 50% ng mga Bitcoin node sa oras na iyon ay potensyal na nahantad sa isang atake, ayon sa dokumento. Ang mga nakaraang bersyon ng Bitcoin Core ay hindi nakaranas ng ganitong uri ng problema.

Hindi lang Bitcoin Core

Sinabi ni Khan na ang kahinaan ay maaaring payagan ang isang umaatake na magnakaw ng mga pondo mula sa mga node na may bukas na mga channel sa Lightning. Ang mga bersyon ng Bitcoin Core na 0.16.0 at 0.16.1 ay sinuri at naitama ng developer na si Matt Corallo kasunod ng pagsisiwalat ni Fuller sa koponan ng Core noong Hulyo 2018.

Ang Bitcoin Core ay ang pagpapatupad ng sanggunian, o karaniwang bersyon, ng network software na nagmula sa maraming iba. Ayon sa dokumento, ang bug ay maaari ring kasangkot sa maraming iba pang mga pagpapatupad ng Bitcoin at mga derivatives nito:

  • Bitcoin Knots v0.16.0
  • Lahat ng mga beta na bersyon ng Bcoin hanggang sa v1.0.0-pre
  • Lahat ng mga bersyon ng Btcd hanggang sa v0.20.1-beta
  • Litecoin Core v0.16.0
  • Namecoin Core v0.16.1
  • Lahat ng mga bersyon ng Dcrd hanggang sa v1.5.1.

Ang lahat ng mga pagpapatupad na ito ay na-patch.