Race შეტევა

განახლებული Aug 26, 2026

რა არის Race შეტევა?

Race შეტევა არის ორმაგი ხარჯვის ტიპი, რომლის დროსაც თავდამსხმელი, მიმღები მხარის შეცდომაში შეყვანის მიზნით, ქმნის და ერთდროულად აგზავნის ერთი და იმავე ღირებულების ორ ურთიერთსაწინააღმდეგო ტრანზაქციას.

ამ შეტევის მიზანია მოვაჭრეს შეუქმნას შთაბეჭდილება, რომ გადახდა წარმატებით განხორციელდა. რეალურად კი, მან არაფერი იცის პარალელურად გაშვებული ტრანზაქციის შესახებ, რომლითაც თავდამსხმელი იმავე მონეტებს საკუთარ საფულეში აბრუნებს ან სხვა მისამართზე აგზავნის.

Race შეტევების სამიზნეს სწორედ ის მიმღებები წარმოადგენენ, რომლებიც დაუდასტურებელ ტრანზაქციას საბოლოოდ მიიჩნევენ. ამ პრაქტიკას ხშირად ნულოვანი დადასტურების გადახდებსაც უწოდებენ.

ვინაიდან ქსელში ჯერ კიდევ არ არის დაფიქსირებული მუდმივი ჩანაწერი იმის შესახებ, თუ რომელი ტრანზაქციაა ვალიდური, ჩნდება მცირე დროის შუალედი, რომელიც საბოლოო შედეგზე ზემოქმედების შესაძლებლობას იძლევა. ეს ამ შეტევას განსაკუთრებით ეფექტურს ხდის სწრაფი ანგარიშსწორებისას, როდესაც გამყიდველი საქონელს ან მომსახურებას მომენტალურად გადასცემს მყიდველს.

როგორ მუშაობს Race შეტევა?

ტიპურ სცენარში, თავდამსხმელი ერთ ტრანზაქციას უგზავნის გამყიდველს და ამის შემდეგ, თითქმის მყისიერად უშვებს საპირისპირო ტრანზაქციასაც, რომლითაც გაგზავნილ მონეტებს უკან იბრუნებს. ორივე ტრანზაქცია ხვდება ქსელში არსებული სხვადასხვა ნოდების mempool-ში.

ვინაიდან ნოდებმა ეს ორი ტრანზაქცია შესაძლოა სხვადასხვა თანმიმდევრობით მიიღონ, ისინი გარკვეული დროის განმავლობაში ვერ თანხმდებიან იმაზე, თუ რომელი მათგანია ლეგიტიმური.

საბოლოო ჯამში, ბლოკში მხოლოდ ერთი ტრანზაქცია ემატება. თუ მაინერები დაადასტურებენ იმ ტრანზაქციას, რომელიც მონეტებს თავდამსხმელს უბრუნებს, გამყიდველისთვის განკუთვნილი გადახდა არავალიდური გახდება.

თავდამსხმელს შეუძლია წარმატების შანსები გაზარდოს, თუ გადახდის ტრანზაქციის გასაგზავნად პირდაპირ გამყიდველის ნოდს დაუკავშირდება, ხოლო საპირისპირო ტრანზაქციას ქსელის დანარჩენ ნაწილში ბევრად უფრო ფართოდ გაავრცელებს. თუ გამყიდველი გადახდას ყოველგვარი დადასტურების გარეშე მიიღებს, ის, შესაძლოა, სრულიად ხელცარიელი დარჩეს.

როგორ შევამციროთ Race შეტევის რისკები

Race შეტევის რისკების შესამცირებლად რეკომენდებულია, მოვაჭრე დაელოდოს ტრანზაქციის ერთ ან რამდენიმე ბლოკში დადასტურებას დადასტურებას და გადახდა მხოლოდ ამის შემდეგ ჩათვალოს დასრულებულად. ტრანზაქციის ბლოკში მოხვედრის და დამატებითი ბლოკების შექმნის შემდეგ, მისი გაუქმება ფაქტობრივად შეუძლებელი და თავდამსხმელისთვის უზომოდ ძვირადღირებული ხდება.
მოვაჭრეები, რომლებიც უფრო დიდ თანხებთან მუშაობენ, ხშირად რამდენიმე დადასტურებას ელოდებიან, რათა ტრანზაქციის გაუქმების ალბათობა მინიმუმამდე შეამცირონ. აღსანიშნავია, რომ Race შეტევა სრულიად განსხვავდება განსხვავდება 51%-ით შეტევისგან, რომლის ფარგლებშიც საჭიროა ქსელის მაინინგის სიმძლავრის ძირითადი ნაწილის კონტროლის შესაძლებლობის მოპოვება და შესაძლებელია უკვე დადასტურებული ტრანზაქციების გადაწერა. Race შეტევა არ საჭიროებს ამ მასშტაბის რესურსებს, თუმცა ის, როგორც წესი, მხოლოდ ნულოვანი დადასტურების პირობებში მუშაობს.

Race თავდასხმების თავიდან აცილების ეფექტურ პრაქტიკას წარმოადგენს დადასტურებების მოლოდინი, ურთიერთსაწინააღმდეგო ტრანზაქციების მონიტორინგი და დაუდასტურებელი გადახდების მყისიერად დადასტურებისგან თავის შეკავება.