რა არის მერკლის ხე? დამწყებთათვის სახელმძღვანელო ამ ბლოკჩეინის კომპონენტისთვის

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

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

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

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


სწრაფი ფაქტები

ძირითადი პუნქტებიაღწერა
კრიპტოგრაფიული ჰეშის ფუნქციებიჰეშის ფუნქციები, რომლებიც იღებენ ნებისმიერი ზომის შეყვანას და გამოყოფენ ფიქსირებული სიგრძის ჰეშის მნიშვნელობას. გამოიყენება მერკლის ხეებში.
მერკლის ხის სტრუქტურახის მონაცემთა სტრუქტურა, სადაც ყოველი ფოთლოვანი კვანძი არის მისი შვილი კვანძების ჰეში. უზრუნველყოფს მონაცემთა დიდი ნაკრების ეფექტურ რუქას და გადამოწმებას.
Root hashჰეში მერკლის ხის თავზე, რომელიც წარმოადგენს მთელი ხის ჰაშის. მოქმედებს როგორც თითის ანაბეჭდი მონაცემთა სრული ნაკრებისთვის.
მერკლის მტკიცებულებებიდაუშვით ხეში მონაცემთა მთლიანობისა და პოზიციის დადასტურება მონაცემთა სრული ნაკრების საჭიროების გარეშე, მხოლოდ root ჰეში.
დანერგვა ბიტკოინშიMerkle ხეები ინახავს ტრანზაქციებს ბლოკებში. ბლოკის სათაურში შენახული Root hash საშუალებას აძლევს SPV კვანძებს გადაამოწმონ ტრანზაქციები.
ბლოკჩეინის სხვა დანერგვებიგამოიყენება ბევრ ბლოკჩეინში, როგორიცაა Ethereum, რომელიც იყენებს უფრო რთულ Merkle Patricia Trees-ს.
განაწილებული სისტემებიმიეცით საშუალება ვერსიების კონტროლის სისტემებს, როგორიცაა Git და IPFS, ადვილად გადაამოწმონ თანატოლებს შორის გაზიარებული მონაცემები.

კრიპტოგრაფიული ჰეშის ფუნქციები

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

ჰეშირების მრავალი ალგორითმი ფართოდ არის ხელმისაწვდომი საჯაროდ და მათი არჩევა შესაძლებელია თქვენი საჭიროებიდან გამომდინარე.

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

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

ეს ძალიან მნიშვნელოვანია, რადგან ის იძლევა მონაცემთა "თითის ანაბეჭდის" საშუალებას.

კრიპტოგრაფიული ჰეშის ფუნქცია, სურათი ვიკიპედიიდან

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

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

ბლოკჩეინში ჰეშირების ალგორითმები გამოიყენება ბლოკჩეინის მდგომარეობის დასადგენად.

ბლოკჩეინები არის დაკავშირებული სიები, რომლებიც შეიცავს მონაცემებს და ჰეშის მაჩვენებელს, რომელიც მიუთითებს წინა ბლოკზე, ქმნის დაკავშირებული ბლოკების ჯაჭვს, აქედან მოდის სახელწოდება "ბლოკჩეინი".

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

ეს წარმოდგენილია (SHA-256 ალგორითმის შემთხვევაში) გამოსავლით (ჰეში), როგორიცაა:

b09a57d476ea01c7f91756adff1d560e579057ac99a28d3f30e259b30ecc9dc7

ზემოთ მოყვანილი ჰეში არის თითის ანაბეჭდი მთელი ბლოკჩეინის მდგომარეობის შესახებ, რომელიც მის წინაშეა. ბლოკჩეინის მდგომარეობა ახალ ბლოკამდე (როგორც ჰეშირებული მონაცემები) არის შეყვანა, ხოლო მიღებული ჰეში არის გამომავალი.

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

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


მერკლის ხეები და მერკლის მტკიცებულებები

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

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

ჰაშის ხე

ორობითი ჰეშის ხის მაგალითი, სურათი ვიკიპედიიდან

მნიშვნელოვანია, შეამჩნიოთ, თუ როგორ არის არაფოთლოვანი კვანძები ან „ტოტები“ (წარმოდგენილი ჰეში 0-0 და ჰეში 0-1) მარცხენა მხარეს, მათი შესაბამისი შვილების L1 და L2 ჰეშები. გარდა ამისა, შეამჩნიეთ, როგორ არის ჰეშ 0 ფილიალი მისი თანმხლები შვილების ჰეში, ტოტები ჰეშ 0-0 და ჰეშ 0-1.

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

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

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

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

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

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

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

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


მერკლის ხეები ბიტკოინში

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

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

  • ვერსიის ბლოკის ნომერი
  • წინა ბლოკის ჰეში
  • დროის ნიშნული
  • სამთო სირთულის სამიზნე
  • არა
  • Merkle Root Hash

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

მერკლის ხე

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

ყველაზე აღსანიშნავია, როგორც ასახულია whitepaper-ში, ეს იძლევა მარტივი გადახდის დადასტურების (SPV) კვანძების არსებობას, რომლებიც ასევე ცნობილია როგორც „მსუბუქი კლიენტები“. ამ კვანძებს არ სჭირდებათ მთელი ბიტკოინის ბლოკჩეინის ჩამოტვირთვა, მხოლოდ ყველაზე გრძელი ჯაჭვის ბლოკის სათაურები.

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

გარდა ამისა, ბიტკოინის მიერ Merkle-ის ხეების დანერგვა საშუალებას იძლევა ბლოკჩეინის გასხვლა სივრცის დაზოგვის მიზნით. ეს არის ბლოკის სათაურში შენახული მხოლოდ root ჰეშის შედეგი, ამიტომ ძველი ბლოკების გაჭრა შესაძლებელია Merkle-ის ხის არასაჭირო ტოტების ამოღებით, ხოლო მხოლოდ Merkle-ის მტკიცებულებისთვის საჭირო ტოტების შენარჩუნებით.


მერკლის ხეების დანერგვა სხვა ბლოკჩეინებსა და სისტემებში

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

გარდა ამისა, Merkle-ს ხის დანერგვა არ შემოიფარგლება მხოლოდ ბლოკჩეინებით და გამოიყენება სხვა მრავალ სისტემაზე.

Ethereum, როგორც სხვა ყველაზე ცნობადი კრიპტოვალუტა, ასევე შესანიშნავი მაგალითია Merkle-ის ხის განსხვავებულად განხორციელების. იმის გამო, რომ Ethereum არის ტურინგი-სრული, როგორც პლატფორმა ბევრად უფრო რთული აპლიკაციების შესაქმნელად, ის იყენებს Merkle-ის ხის უფრო რთულ ვერსიას, სახელწოდებით Merkle Patricia Tree, რომელიც სინამდვილეში არის 3 ცალკეული Merkle ხე, რომელიც გამოიყენება სამი სახის ობიექტისთვის. ამ ხეების შესახებ მეტი შეგიძლიათ გაიგოთ აქ.

დაბოლოს, Merkle ხეები არის განაწილებული ვერსიების კონტროლის სისტემების მნიშვნელოვანი კომპონენტი, როგორიცაა Git და IPFS. მათი უნარი ადვილად უზრუნველყონ და გადაამოწმონ კომპიუტერებს შორის გაზიარებული მონაცემების მთლიანობა P2P ფორმატში, ხდის მათ ფასდაუდებელს ამ სისტემებისთვის.


დასკვნა

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

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

წყარო: https://blockonomi.com/merkle-tree/