Nilagyan ng bitcoinjs-lib ng mga patch ang 2 mga bug na maaaring magdulot ng maling pagtatantiya ng bayad

iconCryptoSlate
I-share
AI summary iconSummary
Bitcoin breaking news: Naglabas ng mga patch ang Bitcoinjs-lib para sa dalawang bug na maaaring magdulot ng maling pagtatantiya ng bayad sa mga aplikasyon ng Bitcoin. Ang mga kamalian, na may kaugnayan sa PSBTs, ay maaaring magbigay-daan sa maling pagkalkula ng bayad at pagkawala ng pera. Naiayos sa mga bersyon 5.2.2, 6.1.9, at 7.0.4, ang mga update ay nagtataguyod ng magkakasunod na paraan para malutas ang mga output at kalkulahin ang mga bayad. Ibinabahagi ng mga balita tungkol sa Bitcoin ang kahalagahan ng pag-update ng mga apektadong app.

Ang bitcoinjs-lib, isang software library para sa pagbuo ng mga aplikasyon para sa bitcoin, ay nagsolba ng dalawang bug na maaaring magdulot ng pagkakamali sa pagtatantiya ng mga bayarin ng miner sa mga wastong transaksyon. Ang mga paglalabas ng seguridad noong Oktubre 26 ay nagtukoy ng mga na-patch na bersyon 5.2.2, 6.1.9 at 7.0.4 para sa mga kaugnay na bersyon. Ang mga aplikasyon ay nasa panganib kapag importin ng mga ito ang mga package at umaasa sa pagkalkula ng bayarin o proteksyon laban sa sobrang bayarin ng library nang hindi nag-iisip ng sariling pag-verify sa mga output na ginagamit.

Ang mga kakulangan ay nakikita sa mga bahagyang sinignahang bitcoin transaction (PSBTs). Tinutukoy ng BIP 174 ang PSBTs bilang isang format para sa pagbabahagi ng detalye ng transaction at mga signature sa pagitan ng mga client. Ang pag-sign, pag-combine ng signature, pag-finalize ng input, at pag-extract ng transaction ay nananatiling magkakahiwalay na operasyon, kahit sa loob ng isang aplikasyon lamang. Ang isang bitcoin transaction ay nagbabayad ng bayarin na katumbas ng kabuuang halaga ng input minus kabuuang halaga ng output. Ang pagpapaliit sa halaga ng isang input ay nagiging sanhi na maging mas mababa ang nakalkulang bayarin.

Ang unang kahinaan ay nagpapahintulot sa pag-sign at pag-uugnay ng bayad na magbigay ng iba’t ibang halaga sa parehong input. Ang pag-sign ay nakasalalay sa kumpletong nakaraang transaksyon, habang ang pag-uugnay ng bayad ay nagpapahalaga sa magkakasalungat na rekord na may mas mababang halaga. Maaari ng mag-awtorisasyon ang vulnerable software sa tunay na transaksyon habang sinusukat ang maling bayad. Ang abiso ay naglalarawan ng isang demonstrasyon ng bitcoinjs-lib 7.0.1 na may tunay na bayad na 900,000,000 satoshi at inulat na bayad na 200 satoshi. Ang demonstrasyon ay nagproduksyon ng verified na signature at nagpahintulot sa pagkuha nang hindi nag-trigger ng default fee-rate warning.

Ang pangalawang abiso ay naglalarawan sa mga pinagtapos na input na walang rekord ng halaga ng input. Ang kalkulador ng bayad ay tinuturing ang mga input na ito bilang may zero na halaga. Maaaring mag-import ang isang aplikasyon ng isang nagsign na PSBT mula sa isang ibang partido at makamit ang kalkulasyong ito nang hindi kailangang mag-sign muli. Ang pangalawang abiso ay nagpapakita ng isang hipotetikal na transaksyon na may tunay na bayad na 91,000 satoshi at isinahad na bayad na 1,000 satoshi. Ang mga pinagtapos na script at signature ay hindi, sa sarili nila, nagtatatag ng halaga ng isang input kung ang mga rekord ng halaga nito ay nawawala.

Ang kakulangan sa conflicting-record ay nakakaapekto sa mga bersyon 5.2.0 hanggang 5.2.1, mga bersyon 6.0.0 hanggang 6.1.8 kabilang ang 6.1.0-rc.0, at mga bersyon 7.0.0-rc.0 hanggang 7.0.3. Ang kakulangan sa missing-record ay nakakaapekto sa mga parehong bersyon 6 at 7, kasama ang mga bersyon 5.1.0 hanggang 5.2.1. Ang pananalapi ay maaaring mawala kung ang isang awtorisado at wastong transaksyon ay ibinahagi sa network at tinanggap. Ang mga bug ay hindi makakagawa ng mga signature, at ang sobrang halaga ay papunta sa mga miner bilang bayad.

Ang mga pag-aayos ay nagpapagamit ng iisang paraan para maresolba ang mga nakaraang output sa pag-sign at pagsasaulo. Tinatanggihan ng mga pag-aayos ang mga magkakaugnay na halaga o iskrip at nangangailangan ng halaga para sa bawat input habang kalkulahin ang mga bayarin. Ginagawang hindi wasto rin ng mga pag-aayos ang mga nakaimbak na bayarin at mga nakuha na transaksyon pagkatapos ng mga pagbabago o kombinasyon sa kaugnay na metadata. Dapat suriin ng mga tagapangalaga ang bersyon ng mga dependency at pagsusuri sa pagpapatotoo ng mga importadong PSBT. Dapat tiyakin nang hiwalay ng mga tagapangalaga na hindi makapag-upgrade ang mga tinutukoy na halaga ng output. Dapat tanggihan ng mga tagapangalaga ang mga magkakaugnay na rekord bago mag-sign o magbatay sa kalkuladong bayarin. Dapat i-verify ng mga tagapangalaga ang bawat halaga ng input bago magbatay sa bayarin o nakuha ang transaksyon.

Disclaimer: Ang information sa page na ito ay maaaring nakuha mula sa mga third party at hindi necessary na nagre-reflect sa mga pananaw o opinyon ng KuCoin. Ibinigay ang content na ito para sa mga pangkalahatang informational purpose lang, nang walang anumang representation o warranty ng anumang uri, at hindi rin ito dapat ipakahulugan bilang financial o investment advice. Hindi mananagot ang KuCoin para sa anumang error o omission, o para sa anumang outcome na magreresulta mula sa paggamit ng information na ito. Maaaring maging risky ang mga investment sa mga digital asset. Pakisuri nang maigi ang mga risk ng isang produkto at ang risk tolerance mo batay sa iyong sariling kalagayang pinansyal. Para sa higit pang information, mag-refer sa aming Terms ng Paggamit at Disclosure ng Risk.