Биткойны үндсэн программ хангамж болох Bitcoin Core-д хэрэглэгчийн зөвшөөрсөн хүлээн авагчаас өөр хаяг руу хөрөнгө шилжих эрсдэл үүсгэж болзошгүй нэгэн цоорхойг хаах шинэ хамгаалалтыг нэмжээ. Энэхүү өөрчлөлтийг 9 дүгээр сарын 25-нд Bitcoin Core-ийн хөгжүүлэлтийн гол салбарт нэгтгэсэн тухай Bitcoin Optech 10 дугаар сарын 2-нд онцолсон байна.
Энэхүү асуудал нь хэрэглэгчийн хувийн нууц түлхүүрийг (private key) ил гаргахгүй боловч тодорхой нөхцөлд хүлээн авагчийг өөрчилсөн ч цахим гарын үсэг хүчинтэй хэвээр үлдэх өөр төрлийн эрсдэлийг бий болгодог байна.
Эмзэг байдлын учир шалтгаан
Уг сул тал нь оролт болон гаралтыг харгалзах байрлалаар нь холбох зориулалттай SIGHASH_SINGLE гарын үсгийн горимтой холбоотой аж. Хэрэв тухайн байрлалд ямар нэгэн гаралт (output) байхгүй бол биткойны төрлөөс хамаарч хамгаалалт алдагддаг байна.
Legacy гүйлгээний хувьд гаралт байхгүй тохиолдол нь тогтмол утга бүхий хаш дээр гарын үсэг үүсгэх эрсдэлтэй бөгөөд уг гарын үсгийг ижил түлхүүртэй бусад зарцуулагдаагүй үлдэгдэлд дахин ашиглах магадлалтай гэж Bitcoin Core хөгжүүлэгчид тайлбарлажээ. Харин SegWit v0 гүйлгээний хувьд зоосны хэмжээ зэрэгт хамгаалалттай байх боловч хүлээн авагч тодорхойгүй үлдэх боломжтой байжээ. Энэ нь хэтэвч болон төхөөрөмжүүдэд нэг дүнг хэрэглэгчид харуулсан мөртлөө баталгаажаагүй өөр хаяг руу гарын үсэг зурах аюул үүсгэж байсан юм.
Шинэ өөрчлөлт ба хэтэвчүүдэд тавигдах шаардлага
Bitcoin Core өмнө нь энэхүү тохиолдлыг түүхий гүйлгээний интерфейсээрээ хаадаг байсан ч хэсэгчлэн гарын үсэг зурсан гүйлгээ буюу PSBT-ээр дамжуулан зурах боломж байсаар байжээ. Шинэ код нь уг шалгалтыг бүх түвшинд нэгтгэж, асуудалтай Legacy болон SegWit v0 оролтууд дээр гарын үсэг зурахаас сэргийлдэг болсон байна. PSBT нь крипто хэтэвч болон хүйтэн төхөөрөмжүүдийн хооронд нууц түлхүүрийг нь задлахгүйгээр гүйлгээ баталгаажуулахад өргөн ашиглагддаг билээ.
10 дугаар сарын 4-ний байдлаар энэхүү засвар албан ёсны шинэ хувилбар болж хэрэглэгчдийн гарт хараахан очоогүй байгаа тул хэтэвч хөгжүүлэгчид болон төхөөрөмжийн үйлдвэрлэгчид SIGHASH_SINGLE хүсэлтийг өөрсдийн систем дээрээ шалгаж үзэх шаардлагатай болж байна.