Merkle Tree ใน Blockchain คืออะไร และทำงานอย่างไร?

ประเด็นที่สำคัญ:

  • พื้นที่ ต้นไม้ Merkle เป็น binary hash tree ชนิดหนึ่งที่มีโหนด 3 ประเภท ได้แก่ leaf nodes, non-leaf node และ root node
  • ต้นไม้ Merkle มีประโยชน์สำหรับการตรวจสอบและการรักษาความสมบูรณ์ของธุรกรรมในบัญชีแยกประเภทแบบกระจายอำนาจใดๆ
  • ต้นไม้ Merkle มีให้เห็นใน Bitcoin เช่นเดียวกับ Ethereum

บทนำ

คริปโตเคอร์เรนซี่ ไม่ใช่เรื่องที่ไม่รู้จักอีกต่อไป และไม่ใช่ blockchainเทคโนโลยีที่อยู่เบื้องหลังต้นกำเนิดของพวกเขา สำหรับผู้ที่ชื่นชอบคริปโต การทำความเข้าใจโครงสร้างบล็อกเชนและวิธีการทำงานของมันถือเป็นขั้นตอนแรกในการตระหนักถึงธรรมชาติที่แท้จริงของคริปโต

ในขณะที่การทำความเข้าใจโครงสร้างบล็อกเชนที่แตกต่างกันคือที่มาของ Merkle tree ซึ่งได้รับการพัฒนาเป็นแนวคิดย้อนกลับไปในปี 1980 โดย Ralph Merkle แห่งมหาวิทยาลัยสแตนฟอร์ด ต้นไม้ Merkle มักใช้ในเครือข่ายแบบเพียร์ทูเพียร์ (P2P) เพื่อจัดการกับความต้องการพลังงานในการประมวลผลและพื้นที่หน่วยความจำ คงไม่ใช่เรื่องเกินจริงหากจะบอกว่า Merkle tree ทำให้เทคโนโลยี blockchain ประสบความสำเร็จอย่างมาก ดังนั้นเรามาดำดิ่งสู่ความหมายที่อยู่เบื้องหลังต้นไม้ Merkle และวิธีการทำงาน

https://www.youtube.com/watch?v=YIc6MNfv5iQ

ภาพรวมของต้นไม้ Merkle

พูดง่ายๆ ก็คือ ต้นไม้ Merkle แสดงถึงวิธีการจัดโครงสร้างข้อมูลอย่างมีจุดมุ่งหมาย ช่วยให้สามารถตรวจสอบข้อมูลจำนวนมหาศาลบนบล็อกเชนได้อย่างรวดเร็วและมีประสิทธิภาพ ดังที่ได้กล่าวไว้ก่อนหน้านี้ Ralph Merkle ได้สร้างมันขึ้นมาโดยไม่รู้ตัวเป็นแนวคิดในเอกสารที่ชื่อว่า “A Certified Digital Signature” แต่ไม่มีใครคาดหวังว่ามันจะกลายเป็นองค์ประกอบหลักของบัญชีแยกประเภทแบบกระจายอำนาจในอนาคต

Merkle tree ได้ปรับปรุงโลกแห่งการเข้ารหัสตั้งแต่เริ่มก่อตั้ง แต่มันกลายเป็นสิ่งสำคัญสำหรับ cryptocurrencies หลังจากที่ผู้สร้างลึกลับของ Bitcoin ใช้มันในรหัสพื้นฐานของ BTC หลังจากนั้น Ethereum และ cryptocurrencies อื่น ๆ ก็นำ Merkle tree มาใช้เช่นกัน

ในกรณีของเครือข่าย Bitcoin ต้นไม้ Merkle เป็นองค์ประกอบที่มีประสิทธิภาพที่ใช้แฮชแทนไฟล์ข้อมูลขนาดใหญ่สำหรับการตรวจสอบข้อมูล ต้นไม้ Merkle ใช้คำอธิบายเฉพาะเพื่ออธิบายความสัมพันธ์ระหว่างโหนดและระดับของโหนด

ทุกๆ บล็อกภายในบล็อกเชนประกอบด้วยธุรกรรมจำนวนหนึ่ง การจัดเก็บธุรกรรมเหล่านั้นทั้งหมดและค้นหาว่าธุรกรรมใดเป็นของบล็อกใดอาจเป็นงานที่มีราคาแพงอย่างน่าหงุดหงิด นอกจากนี้ยังอาจส่งผลเสียต่อประสิทธิภาพของบล็อกเชน อย่างไรก็ตาม ด้วย Merkle tree ธุรกรรมทั้งหมดจะได้รับการจัดการอย่างมีประสิทธิภาพ ส่งผลให้ใช้ข้อมูลน้อยลงสำหรับการตรวจสอบและลดการประมวลผลของ CPU

ทำความเข้าใจว่า Merkle tree ทำงานอย่างไรใน blockchain

นี่คือตัวอย่างง่ายๆ เพื่ออธิบายแนวคิดนี้: 

แมร์เคิลทรี

ลองนึกภาพบล็อกข้อมูลแบบที่แสดงไว้ด้านบนที่มี 4 ธุรกรรม: L1, L2, L3 และ L4 ในการจัดเก็บธุรกรรมเหล่านี้ เราสามารถใช้แนวคิดของต้นไม้ Merkle โดยการคำนวณแฮชของแต่ละธุรกรรม หลังจาก การคำนวณเราได้รับแฮช L1 แฮช L2 แฮช L3 และแฮช L4

แฮชของแต่ละธุรกรรมเหล่านี้จะถูกจัดเก็บไว้ในโหนด ซึ่งโดยปกติจะเรียกว่าโหนดลีฟของต้นไม้ Merkle แต่งานของเรายังคงดำเนินต่อไป เนื่องจากเราต้องสร้างโหนดที่ไม่ใช่ลีฟด้วยการจับคู่โหนดลีฟ หลังจากการคำนวณ เราจะได้แฮช 0 และแฮช 1 ซึ่งเรียกว่าโหนดหลักหรือโหนดที่ไม่ใช่ลีฟของแฮชของ L1, L2, L3 และ L4

ในที่สุด แฮชของแฮช 1 และแฮช 2 จะถูกคำนวณโดยการจับคู่เข้าด้วยกัน และเราไปถึงโหนดรูท ซึ่งก็คือรูท Merkle จากตัวอย่างนี้ เราเข้าใจว่า Merkle tree ทำงานโดยการแฮชโหนดย่อยซ้ำๆ จนกว่าแฮชเอกพจน์จะยังคงอยู่ในโครงสร้าง

ด้วยวิธีนี้ Merkle tree จะแจ้งให้คุณทราบอย่างแน่ชัดว่าการทำธุรกรรมมีอิทธิพลต่อ tree หรือไม่ โดยการตรวจสอบเฉพาะรากของ tree Merkle root ถูกจัดเก็บไว้ในส่วนหัวของบล็อก ทำให้ป้องกันการปลอมแปลงและเพิ่มความน่าเชื่อถือและความสมบูรณ์ภายในบัญชีแยกประเภทที่กระจายอำนาจ สิ่งสำคัญคือต้องสังเกตว่า Merkle tree ใช้ฟังก์ชันแฮชแบบทางเดียวและจะดำเนินต่อไปจนกว่าการแฮชนี้จะแยกการพิสูจน์ข้อมูลออกจากข้อมูล

ความจำเป็นของต้นไม้ Merkle สำหรับ blockchain

ตอนนี้เราได้พูดถึงว่า Merkle tree คืออะไรและทำงานอย่างไร สิ่งเดียวที่ต้องทำคือทำความเข้าใจว่าทำไมมันถึงสำคัญสำหรับ blockchain ข้อดีหลายประการของ Merkle tree ทำให้เทคโนโลยีบล็อกเชนและแม้แต่แพลตฟอร์มเข้ารหัสลับมีความจำเป็น ประโยชน์บางประการ ได้แก่ :

เมื่อพูดถึงการถ่ายโอน คำนวณ และข้ามผ่านข้อมูล จะไม่อนุญาตให้มีความล่าช้า นี่คือเหตุผลที่บล็อกเชนจำนวนมากใช้ Merkle tree เพื่อทำให้เครือข่ายปราศจากความล่าช้าในขณะถ่ายโอนข้อมูล ด้วยการลดจำนวนหน่วยความจำที่จำเป็นในการพิสูจน์ความสมบูรณ์และความถูกต้องของข้อมูล Merkle tree จึงกลายเป็นส่วนสำคัญของบล็อกเชน

ใน Bitcoin blockchain ซึ่งเป็น P2P แบบกระจาย อาจมีความไม่สอดคล้องกันหรือแม้แต่การดัดแปลงข้อมูล เนื่องจากข้อมูลเดียวกันมีอยู่ในคอมพิวเตอร์แต่ละเครื่องที่เชื่อมต่อกับเครือข่าย P2P ในกรณีนี้ Merkle tree ช่วยให้นักขุดสามารถระบุความไม่สอดคล้องหรือการแทรกแซงธุรกรรมได้อย่างง่ายดาย

หากไม่ใช้แนวคิดนี้ ข้อมูลทั้งหมดจะต้องถูกถ่ายโอนไปทั่วเครือข่าย ส่งผลให้เครือข่ายช้าลง ประสิทธิภาพลดลง และมีค่าใช้จ่ายที่ไม่จำเป็น สถานการณ์ดังกล่าวสามารถหลีกเลี่ยงได้ด้วยความช่วยเหลือของ Merkle tree ซึ่งช่วยให้สามารถตรวจสอบข้อมูลได้อย่างรวดเร็วด้วยพลังการคำนวณและแบนด์วิธที่ใช้งานได้จริง

ความคิดสุดท้าย

Merkle tree ฟังดูเหมือนเป็นแนวคิดที่ซับซ้อน แต่เป็นองค์ประกอบที่สำคัญของเทคโนโลยีบล็อกเชนและสกุลเงินดิจิทัล หากไม่มีแนวคิดนี้ ก็จะไม่มีระบบที่ไม่น่าเชื่อถือที่ใช้ใน Bitcoin, Ethereum และการขุด

คำถามที่พบบ่อย:

ไตรมาสที่ 1 ต้นไม้ Merkle ถูกออกแบบมาเพื่อให้บรรลุเป้าหมายอะไร?
ต้นไม้ Merkle ได้รับการออกแบบให้เป็นกระบวนการตรวจสอบข้อมูลเพื่อให้คอมพิวเตอร์ทำงานได้เร็วขึ้น
ไตรมาสที่ 2 อะไรคือความเชื่อมโยงระหว่าง Merkle tree และ Ethereum?
Merkle tree เป็นโครงสร้างบล็อกเชนประเภทหนึ่งที่ไม่เพียงอยู่เบื้องหลัง Ethereum แต่ยังรวมถึง Bitcoin และกระบวนการขุด crypto อย่างไรก็ตาม Ethereum ใช้ Merkle tree เวอร์ชันดัดแปลง หรือที่เรียกกันทั่วไปว่า Merkle Patricia tree
ไตรมาสที่ 3 วิธีการใช้ต้นไม้ Merkle
ในการนำ Merkle tree ไปใช้ เราต้องเริ่มด้วย binary tree ซึ่งทุกโหนดที่ไม่ใช่ลีฟคือแฮชของโหนดย่อยสองโหนด ใบเหล่านี้อาจมีข้อมูลหรือ แฮชของข้อมูล.
ไตรมาสที่ 4 ต้น Merkle มีประโยชน์อย่างไร?
ด้วยโครงสร้างที่เบาที่เพิ่มความสามารถในการปรับขนาดภายในบล็อกเชน ต้นไม้ Merkle สามารถกำจัดข้อมูลที่ไม่จำเป็นและปรับปรุงประสิทธิภาพได้ ทั้งผู้ขุดและผู้ใช้จะได้รับประโยชน์จาก Merkle tree เนื่องจากมันตรวจสอบส่วนต่าง ๆ ของบล็อก ตรวจสอบธุรกรรมโดยใช้แฮช และยังคำนวณแฮชในขณะที่พวกเขาได้รับธุรกรรม
 

 

ที่มา: https://coingape.com/education/explained-what-is-a-merkle-tree-in-blockchain-and-how-does-it-work/