Merkle tree คือโครงสร้างข้อมูลที่ใช้ในวิทยาการคอมพิวเตอร์และวิทยาการเข้ารหัส ในตลาดคริปโตเคอร์เรนซี merkle tree หมายถึงโครงสร้างข้อมูลที่บรรจุบทสรุปของธุรกรรมทั้งหมดบนบล็อกเชนซึ่งผ่านการย่อด้วยฟังก์ชันแฮชแล้ว หน้าที่ของ merkle tree คือช่วยให้การตรวจสอบบล็อกธุรกรรมบนบล็อกเชนทำได้ง่ายและมีประสิทธิภาพ บทความนี้จะพาไปหาคำตอบว่า merkle tree คืออะไร
Merkle tree ถูกค้นพบโดย Ralph Merkle เขาจดสิทธิบัตรแนวคิดนี้ในปี 1979 และกล่าวถึงแนวคิด merkle tree ในบทความ "Digital Signature Based on Traditional Encryption Function" ที่ตีพิมพ์ในปี 1987 merkle tree เป็นโครงสร้างข้อมูลรูปทรงแผนผังที่บรรจุค่าแฮชเอาไว้ โดยค่าแฮชของข้อมูลใน merkle tree จะเรียงตัวเป็นผังจากล่างขึ้นบน การนำแฮชที่อยู่ในชั้นล่างมารวมกันจะเป็นตัวกำหนดค่าของแฮชในชั้นบนถัดขึ้นไป
ความสมบูรณ์ของข้อมูลในระบบเกิดจากการที่ merkle tree จัดวางค่าแฮชเป็นผัง แล้วรวบค่าแฮชขึ้นไปทีละชั้นจากล่างขึ้นบนตามลำดับ โครงสร้างนี้ถูกใช้ในการโอนข้อมูลจากคนหนึ่งไปอีกคนแบบ peer-to-peer และใช้ตรวจสอบข้อมูลที่โอนไป ด้วย merkle tree เราจะรู้ได้ว่าข้อมูลหรือบล็อกข้อมูลที่ส่งมานั้นเสียหายหรือถูกปลอมแปลงหรือไม่ ความถูกต้องของบล็อกเหล่านั้นจึงพิสูจน์ได้ด้วย merkle tree
Merkle Tree ทำงานอย่างไร?
Merkle tree ประกอบขึ้นจากค่าแฮชของข้อมูลในบล็อก ที่ฐานล่างสุดของ merkle tree คือข้อมูลธุรกรรม ค่าแฮชของข้อมูลชุดนี้ได้มาจากการรันฟังก์ชันแฮช จากนั้นค่าที่อยู่ชั้นล่างของผังแฮชจะถูกนำมารวมกัน แล้วค่าที่ได้จะถูกเติมขึ้นไปในชั้นบน กระบวนการนี้เองที่ก่อร่างเป็น merkle tree เมื่อไล่ขึ้นไปจนสุด ค่าแฮชบนยอดผังจะถูกเรียกว่า root hash หรือ merkle root ค่า root hash ที่คำนวณได้จะสะท้อนว่าบล็อกเหล่านั้นมีข้อผิดพลาดหรือไม่ หากค่าที่ประกอบกันขึ้นเป็น root hash ไม่สอดคล้องกัน อัลกอริทึมในระบบจะทำงานกับฟังก์ชันแฮชต่อไปจนกว่าจะได้ merkle root ที่ไร้ข้อผิดพลาด
ทำไม Bitcoin ถึงใช้ Merkle Tree?
เพราะมันทำให้การทำงานของนักขุดที่ต้องการตรวจสอบบล็อกบนบล็อกเชนของ Bitcoin ง่ายขึ้น นักขุดบนบล็อกเชนของ Bitcoin ตรวจสอบบล็อกด้วยการรันฟังก์ชันแฮช โดยข้อมูลบนบล็อกเชนของ Bitcoin จะถูกจัดเรียงและวางลงใน merkle tree จากนั้นจึงได้ root hash ออกมาผ่านการทำงานของฟังก์ชันแฮชในอัลกอริทึม root hash ที่ได้ยังนำไปใช้ต่อในกระบวนการขุดขั้นถัดไปได้ด้วย นักขุดจึงทำงานต่อได้โดยแฮชแค่ root hash แทนที่จะต้องแฮชทุกบล็อก นอกจากนี้ merkle tree ยังเป็นทางออกให้กับบล็อกเชนของคริปโตเคอร์เรนซีสกุลอื่นนอกเหนือจาก Bitcoin อีกด้วย
