რა არის ორმაგი ხარჯვის შეტევა

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

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

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

როგორ ხდება ორმაგი ხარჯვის შეტევა?

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

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

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

გარდა ამისა, ცნობილია ორმაგი ხარჯვის უფრო დახვეწილი მეთოდები.
მაგალითად:

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

ორმაგი ხარჯვის შეტევების ვარიანტები

ორმაგი ხარჯვის შეტევების რამდენიმე ვარიანტი არსებობს:

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

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

3. 51%-იანი შეტევა. ამ ტიპის შეტევა მეორეხარისხოვანი ალტკოინების ბლოკჩეინებზეა გავრცელებული. ის შესაძლებელია, თუ გამოთვლითი სიმძლავრის 50%-ზე მეტი კომპრომეტირებული ნოდების რომელიმე პულს, ან ჯგუფს ეკუთვნის. ამ შემთხვევაში, თავდამსხმელებს შეუძლიათ, პროტოკოლის ყველა მოწყვლადობა გამოიყენონ, მაგრამ უფრო ხშირად მათი მიზანი სწორედ ორმაგი ხარჯვაა.
2018 წლის მაისში, ჯერ კიდევ დაუდგენელ პირთა ჯგუფმა, რომლებსაც გამოთვლითი სიმძლავრის კრიტიკულ რაოდენობაზე (51%) ჰქონდათ წვდომა, Bitcoin Gold-ზე თავდასხმა მოახერხა. მაშინ ორმაგი დახარჯვის წარმატებული შეტევა განხორციელდა, რამაც $17,5 დოლარი შეადგინა.  

როგორ დავიცვათ თავი ორმაგი ხარჯვის შეტევისგან

ბლოკჩეინზე ჰაკერების თავდასხმებისგან დაცვის ორი მიდგომა არსებობს. 

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

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

არის კიდევ ერთი ვარიანტი - მხოლოდ BTC-ს მიღება და გაგზავნა. პირველი კრიპტოვალუტის კონსენსუსის ალგორითმი საიმედოა, ორმაგი ხარჯვის ჰაკერული თავდასხმები კი შესასრულებლად ძალიან ძვირია.