ბიტკოინის განვითარება
/
21.02.2026
ძირითადი საკითხიდან: მიმოხილვა Cluster Mempool-ის შესახებ, თქვენი კვანძის mempool-ის ორგანიზებისა და მართვის ხელახალი არქიტექტურა.
Cluster Mempool1 არის mempool-ის მიერ ტრანზაქციების ორგანიზებისა და დახარისხების სრული გადამუშავება, რომელიც კონცეპტუალიზებული და იმპლემენტირებულია სუჰას დაფტუარის და პიტერ ვუილეს მიერ. დიზაინი მიზნად ისახავს საერთო არქიტექტურის გამარტივებას, ტრანზაქციების დახარისხების ლოგიკის უკეთ შეთანხმებას მაინერების სტიმულებთან და მეორე ფენის პროტოკოლების უსაფრთხოების გაუმჯობესებას. ის Bitcoin Core-ში გაერთიანდა PR #336292-ში 2025 წლის 25 ნოემბერს.
Mempool არის მომლოდინე ტრანზაქციების გიგანტური ნაკრები, რომელსაც თქვენი კვანძი უნდა აკონტროლებდეს მრავალი მიზეზის გამო: საკომისიოს შეფასება, ტრანზაქციის ჩანაცვლების ვალიდაცია და ბლოკის კონსტრუქცია, თუ მაინერი ხართ. ეს არის მრავალი განსხვავებული მიზანი თქვენი კვანძის ერთი ფუნქციისთვის. Bitcoin Core 30.0 ვერსიამდე mempool-ს ორგანიზებას უკეთებს ორი განსხვავებული გზით, რათა დაეხმაროს ამ ფუნქციებს, ორივე ნებისმიერი მოცემული ტრანზაქციის შედარებითი თვალსაზრისით: კომბინირებული საკომისიო განაკვეთი, რომელიც უყურებს ტრანზაქციას და მის შვილებს (შთამომავლის საკომისიო განაკვეთი), და კომბინირებული საკომისიო განაკვეთი, რომელიც უყურებს ტრანზაქციას და მის მშობლებს (წინაპრის საკომისიო განაკვეთი). ესენი გამოიყენება იმის გადასაწყვეტად, თუ რომელი ტრანზაქციები უნდა განდევნოს თქვენი mempool-იდან, როდესაც ის სავსეა, და რომელი უნდა ჩართოს პირველ რიგში ახალი ბლოკის შაბლონის შექმნისას. როდესაც მაინერი წყვეტს, ჩართოს თუ არა ტრანზაქცია თავის ბლოკში, მისი კვანძი უყურებს ამ ტრანზაქციას და ნებისმიერ წინაპარს, რომელიც ჯერ უნდა დადასტურდეს, რათა ის ვალიდური იყოს ბლოკში, და უყურებს საშუალო საკომისიო განაკვეთს ბაიტზე ყველა მათგანზე ერთად, ინდივიდუალური საკომისიოების გათვალისწინებით, რომლებიც მათ მთლიანობაში გადაიხადეს. თუ ტრანზაქციების ეს ჯგუფი ჯდება ბლოკის ზომის ლიმიტში, ხოლო საკომისიოებით სხვებს აჯობებს, ის ჩართულია შემდეგ ბლოკში. ეს კეთდება ყველა ტრანზაქციისთვის. როდესაც თქვენი კვანძი წყვეტს, რომელი ტრანზაქციები განდევნოს თავისი mempool-იდან, როდესაც ის სავსეა, ის უყურებს თითოეულ ტრანზაქციას და მის ნებისმიერ შვილს, განდევნის ტრანზაქციას და ყველა მის შვილს, თუ mempool უკვე სავსეა ტრანზაქციებით (და მათი შთამომავლებით), რომლებიც უფრო მაღალ საკომისიო განაკვეთს იხდიან. შეხედეთ ტრანზაქციების ზემოთ მოცემულ მაგალითის გრაფიკს, საკომისიო განაკვეთები ნაჩვენებია ფრჩხილებში (წინაპრის საკომისიო განაკვეთი, შთამომავლის საკომისიო განაკვეთი). მაინერი, რომელიც უყურებს ტრანზაქცია E-ს, სავარაუდოდ ჩართავს მას შემდეგ ბლოკში, მცირე ტრანზაქცია, რომელიც იხდის ძალიან მაღალ საკომისიოს ერთი მცირე წინაპრით. თუმცა, თუ კვანძის mempool ივსებოდა, ის შეხედავდა ტრანზაქცია A-ს ორ მასიურ შვილთან ერთად, რომლებიც დაბალ შედარებით საკომისიოს იხდიან, და სავარაუდოდ განდევნიდა მას ან არ მიიღებდა და შეინახავდა, თუ ის ახლახან იქნა მიღებული. ეს ორი რანჟირება, ანუ დალაგება, სრულიად ეწინააღმდეგება ერთმანეთს. mempool-მა საიმედოდ უნდა გაავრცელოს ის, რასაც მაინერები მოიპოვებენ, და მომხმარებლები დარწმუნებულნი უნდა იყვნენ, რომ მათი ადგილობრივი mempool ზუსტად პროგნოზირებს, რას მოიპოვებენ მაინერები. mempool-ის ამგვარი ფუნქციონირება მნიშვნელოვანია: mempool-ის ამჟამინდელი ქცევა სრულად არ შეესაბამება მაინინგის სტიმულების რეალობას, რაც ქმნის ბრმა წერტილებს, რომლებიც შეიძლება პრობლემური იყოს მეორე ფენის უსაფრთხოებისთვის, რადგან ქმნის გაურკვევლობას იმის შესახებ, მიაღწევს თუ არა ტრანზაქცია მაინერს, ასევე ზეწოლას არასაჯარო მაუწყებლობის არხებზე მაინერებისთვის, რაც პოტენციურად ამძიმებს პირველ პრობლემას. ეს განსაკუთრებით პრობლემურია დაუდასტურებელი ტრანზაქციების ჩანაცვლებისას, იქნება ეს უბრალოდ მაინერების სტიმულირება, რომ ჩანაცვლება უფრო ადრე ჩართონ, თუ როგორც მეორე ფენის პროტოკოლის ნაწილი, რომელიც ჯაჭვზე ხორციელდება. ჩანაცვლება არსებული ქცევის მიხედვით არაპროგნოზირებადი ხდება, რაც დამოკიდებულია ტრანზაქციების ქსელის ფორმასა და ზომაზე, რომელშიც თქვენი ტრანზაქციაა მოხვედრილი. მარტივი საკომისიოს გაზრდის სიტუაციაში ამან შეიძლება ვერ გაავრცელოს და ჩაანაცვლოს ტრანზაქცია, მაშინაც კი, როდესაც ჩანაცვლების მოპოვება მაინერისთვის უკეთესი იქნებოდა. მეორე ფენის პროტოკოლების კონტექსტში, ამჟამინდელი ლოგიკა მონაწილეებს საშუალებას აძლევს პოტენციურად განდევნონ საჭირო წინაპარი ტრანზაქციები mempool-იდან, ან შეუძლებელი გახადონ სხვა მონაწილისთვის საჭირო შვილი ტრანზაქციის mempool-ში წარდგენა ამჟამინდელი წესების მიხედვით, მავნე მონაწილის მიერ შექმნილი შვილი ტრანზაქციების ან საჭირო წინაპარი ტრანზაქციების განდევნის გამო. ყველა ეს პრობლემა არის ამ არათანმიმდევრული ჩართვისა და განდევნის რანჟირების და მათ მიერ შექმნილი სტიმულების შეუსაბამობების შედეგი. ერთიანი გლობალური რანჟირება ამ პრობლემებს მოაგვარებდა, მაგრამ მთელი mempool-ის გლობალურად ხელახლა დალაგება ყოველი ახალი ტრანზაქციისთვის არაპრაქტიკულია. ტრანზაქციები, რომლებიც ერთმანეთზეა დამოკიდებული, არის გრაფიკი, ანუ „გზების“ მიმართული სერია. როდესაც ტრანზაქცია ხარჯავს წარსულში სხვის მიერ შექმნილ გამოსავალს, ის დაკავშირებულია იმ წარსულ ტრანზაქციასთან. როდესაც ის დამატებით ხარჯავს მეორე წარსული ტრანზაქციის მიერ შექმნილ გამოსავალს, ის აკავშირებს ორივე ისტორიულ ტრანზაქციას ერთმანეთთან. დაუდასტურებელი ტრანზაქციების ჯაჭვები, როგორიცაა ეს, ჯერ უნდა დადასტურდეს ადრინდელი ტრანზაქციები, რათა მოგვიანოები ვალიდური იყოს. ბოლოს და ბოლოს, თქვენ არ შეგიძლიათ დახარჯოთ გამოსავალი, რომელიც ჯერ არ შექმნილა. ეს მნიშვნელოვანი კონცეფციაა mempool-ის გასაგებად, ის მკაფიოდ მიმართულებითაა დალაგებული. ეს ყველაფერი უბრალოდ გრაფიკია. Cluster mempool-ში, კლასტერის კონცეფცია არის დაუდასტურებელი ტრანზაქციების ჯგუფი, რომლებიც უშუალოდ არიან დაკავშირებული ერთმანეთთან, ანუ ხარჯავენ კლასტერში სხვების მიერ შექმნილ გამოსავალს ან პირიქით. ეს ხდება ახალი mempool არქიტექტურის ფუნდამენტური ერთეული. მთელი mempool-ის ანალიზი და დალაგება არაპრაქტიკული ამოცანაა, მაგრამ კლასტერების ანალიზი და დალაგება ბევრად უფრო მართვადია. თითოეული კლასტერი იყოფა ნაწილებად (chunks), კლასტერიდან ტრანზაქციების მცირე ნაკრებებად, რომლებიც შემდეგ დალაგებულია უმაღლესი საკომისიო განაკვეთიდან ბაიტზე ყველაზე დაბალამდე, მიმართულებითი დამოკიდებულებების გათვალისწინებით. მაგალითად, ვთქვათ, უმაღლესიდან ყველაზე დაბალ საკომისიო განაკვეთამდე კლასტერ (A)-ში ნაწილებია: [A,D], [B,E], [C,F], [G, J] და ბოლოს [I, H]. ეს საშუალებას იძლევა ამ ყველა ნაწილისა და კლასტერის წინასწარი დახარისხების, და მთელი mempool-ის უფრო ეფექტური დახარისხების პროცესში. მაინერებს ახლა შეუძლიათ უბრალოდ აიღონ უმაღლესი საკომისიო განაკვეთის ნაწილები ყოველი კლასტერიდან და ჩასვან ისინი თავიანთ შაბლონში, თუ ჯერ კიდევ არის ადგილი, მათ შეუძლიათ გადავიდნენ შემდეგ უმაღლესი საკომისიო განაკვეთის ნაწილებზე, გააგრძელონ მანამ, სანამ ბლოკი დაახლოებით სავსე არ იქნება და მხოლოდ ბოლო რამდენიმე ტრანზაქციის გარკვევა დასჭირდება, რომელთა ჩატევაც შეუძლია. ეს დაახლოებით ოპტიმალური ბლოკის შაბლონის კონსტრუქციის მეთოდია, იმ ვარაუდით, რომ ხელმისაწვდომია ყველა არსებული ტრანზაქცია. როდესაც კვანძების mempool-ები ივსება, მათ შეუძლიათ უბრალოდ აიღონ ყველაზე დაბალი საკომისიო განაკვეთის ნაწილები ყოველი კლასტერიდან და დაიწყონ მათი განდევნა თავიანთი mempool-იდან, სანამ ის არ გადააჭარბებს კონფიგურირებულ ლიმიტს. თუ ეს არ იყო საკმარისი, ის გადადის შემდეგ ყველაზე დაბალი საკომისიო განაკვეთის ნაწილებზე და ასე შემდეგ, სანამ ის არ იქნება თავისი mempool-ის ლიმიტებში. ამ გზით ის აშორებს უცნაურ სასაზღვრო შემთხვევებს, რომლებიც არ შეესაბამება მაინინგის სტიმულებს. ჩანაცვლების ლოგიკა ასევე მკვეთრად გამარტივებულია. შეადარეთ კლასტერი (A) კლასტერ (B)-ს, სადაც ტრანზაქცია K-მ ჩაანაცვლა G, I, J და H. ერთადერთი კრიტერიუმი, რომელიც უნდა დაკმაყოფილდეს, არის ის, რომ ახალ ნაწილს [K] უნდა ჰქონდეს უფრო მაღალი ნაწილის საკომისიო განაკვეთი, ვიდრე [G, J] და [I, H], [K]-მ უნდა გადაიხადოს უფრო მეტი ჯამური საკომისიო, ვიდრე [G, J, I
#ბლოკჩეინი
#ტრანზაქციები
#მაინინგი
#მემპული
#მეორე ფენის პროტოკოლები
#კლასტერ მემპული
#ბიტკოინ ქორი
#საკომისიო განაკვეთი
წყარო: bitcoinmagazine.com
გაზიარება