บทความเดียวเพื่อทำความเข้าใจแนวคิดและองค์ประกอบของ Merkle tree
คำถาม:
ในเครือข่ายแบบรวมศูนย์ ข้อมูลมักจะเข้าถึงได้ผ่านแหล่งเดียว ดังนั้นการจัดระเบียบข้อมูลเพียงชุดเดียวจึงไม่ใช้ความพยายามมากนัก และไม่มีทางเลือกอื่นนอกจากต้องเชื่อถือระบบ
อย่างไรก็ตาม ในเครือข่ายแบบกระจายอำนาจที่มีหลายโหนด สิ่งสำคัญคือต้องจัดระเบียบข้อมูลอย่างมีประสิทธิภาพ ในบล็อกเชนที่กระจายข้อมูล ความท้าทายประการแรกคือการเข้าถึงข้อมูลอย่างมีประสิทธิภาพ และประการที่สองคือการตรวจสอบและแจกจ่ายสำเนาที่ถูกต้องของข้อมูลไปยังโหนดทั้งหมด
ใช้ Merkle tree เพื่อแบ่งปันและตรวจสอบข้อมูลในระบบบนเว็บแบบกระจายอำนาจ
ใช้ Merkle tree เพื่อแบ่งปันและตรวจสอบข้อมูลในระบบบนเว็บแบบกระจายอำนาจ
ต้น Merkle ลดต้นทุนโดย:
จัดระเบียบข้อมูลในลักษณะที่การแบ่งปันและการตรวจสอบไม่จำเป็นต้องใช้พลังการประมวลผล
ชื่อเรื่องรอง
แนวคิดของต้นไม้ Merkle
ในบรรดาการใช้งาน Bitcoin, Ethereum, IPFS, Git, Apache Cassandra และ BitTorrent ตัวส่วนร่วมคือเทคโนโลยีสำหรับการจัดเก็บข้อมูล Merkle tree ซึ่งเป็นองค์ประกอบพื้นฐานของบล็อกเชน และสามารถตรวจสอบโครงสร้างข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพและปลอดภัย
คำอธิบายภาพ
ต้นไม้แฮชไบนารี
Merkle tree คือ binary hash tree ซึ่งค่าของโหนดภายในคือแฮชของ leaf node ที่รากของ Merkle tree เรามีแฮชของธุรกรรม ซึ่งแสดงเป็น H[A], H[B], H[C] และ H[D] ในแผนภาพด้านบน เรียกว่า leaf nodes หรือ child nodes ในทรีด้านซ้าย H[A] และ H[B] คือค่าแฮชของบล็อคข้อมูล L1 และ L2 ตามลำดับ และในทรีด้านขวา H[C] และ H[D] คือค่าแฮช ของ L3 และ L4 ตามลำดับ โหนดภายใน H[AB] คือการต่อโหนดลีฟ H[A] และ H[B] ในทำนองเดียวกัน H[CD] คือการต่อเข้าด้วยกันของ H[C] และ H[D]
แต่ละ leaf/child ของ Merkle tree มี hash ของธุรกรรม ตามด้วย hash ที่มี "combined hash" ของ leaf/child ("H[AB]" และ "H[CD]" โหนดกลาง) จากนั้น รูตโหนดซึ่งมีแฮชรวมกัน (เรียกว่าราก Merkle) ของทรีด้านซ้ายและขวา (H[ABCD]) ตามที่อธิบายไว้ข้างต้น
สิ่งที่น่าสนใจคือ หากเราต้องการเปลี่ยนแปลงใดๆ ในธุรกรรมหนึ่งๆ แฮชของโหนดระดับกลางจะเปลี่ยนไป ซึ่งทำให้รูทแฮชเปลี่ยนไปพร้อมๆ กัน ซึ่งหมายความว่าหากมีคนพยายามเปลี่ยนแปลงธุรกรรมใดธุรกรรมหนึ่ง แฮชรูทจะเปลี่ยนไป และเมื่อเปลี่ยนแฮชรูทแล้ว แฮชที่ตามมาทั้งหมดของบล็อกทั้งหมดที่มีอยู่จะเปลี่ยนไปเนื่องจากบล็อกเหล่านั้นเชื่อมโยงถึงกัน ด้วยวิธีนี้ ผู้โจมตีไม่สามารถพยายามจัดการข้อมูลได้ เพราะในการทำเช่นนั้น เขาจะต้องเปลี่ยนข้อมูลธุรกรรมของห่วงโซ่ทั้งหมด ซึ่งแน่นอนว่าเป็นงานที่เป็นไปไม่ได้ นี่คือความสวยงามของการออกแบบ Merkle tree ซึ่งทำให้มีโครงสร้างข้อมูลที่ทนทานต่อการดัดแปลง
Merkle tree มีหน้าที่รับผิดชอบต่อความสมบูรณ์ของข้อมูล คุณจึงไม่ต้องดำเนินการธุรกรรมทั้งหมดเพื่อดูการตรวจสอบความถูกต้อง ต้นไม้สามารถแบ่งออกเป็นส่วนเล็ก ๆ ของข้อมูลที่สามารถใช้ในการตรวจสอบธุรกรรมในเครือข่าย แนวคิดนี้เรียกว่า Merkle Proof และมีประโยชน์มากในระบบกระจายอำนาจ Merkle Proofs ไม่จำเป็นต้องตรวจสอบข้อมูลทั้งหมดในแผนภูมิทั้งหมด เพียงแค่มีกำลังการประมวลผลเพียงพอในการตรวจสอบข้อมูลจำนวนเล็กน้อยเพื่อดูว่าจริงหรือไม่
ฟิลด์แอ็พพลิเคชัน
ต้นไม้ Merkle ใช้เพื่อซิงโครไนซ์ข้อมูลในระบบกระจายอำนาจและกระจายซึ่งข้อมูลเดียวกันควรมีอยู่ในหลายตำแหน่ง
นอกจากนี้ยังใช้เพื่อตรวจสอบความไม่สอดคล้องกันในข้อมูลและตรวจหาความไม่สอดคล้องกันระหว่างสำเนาของฐานข้อมูล
ประโยชน์หลัก
Merkle tree สามารถแบ่งข้อมูลออกเป็นส่วนต่างๆ ซึ่งช่วยเพิ่มความสามารถในการขยายขนาดใหญ่ เนื่องจาก Merkle tree สามารถแบ่งออกเป็นส่วนเล็กๆ ของข้อมูลสำหรับการตรวจสอบ
ตรวจสอบความสมบูรณ์ของข้อมูลได้อย่างมีประสิทธิภาพ
สามารถเก็บข้อมูลจำนวนเท่าใดก็ได้ใน Merkle tree ซึ่งจะลงท้ายด้วยรูทแฮชที่ด้านบนเสมอ
โดยจะให้ข้อมูลขั้นสูงและการตรวจสอบความสอดคล้องกัน
ชื่อเรื่องรอง
Merkle Trees มีประโยชน์ต่อ Umbrella Network อย่างไร
เนื่องจาก Merkle tree ช่วยจัดระเบียบข้อมูลอย่างมีประสิทธิภาพ เพื่อให้กระบวนการตรวจสอบใช้พลังงานในการคำนวณน้อยลง Umbrella Network จึงใช้ต้นไม้นี้เพื่อนำจุดข้อมูลในโลกแห่งความจริงนับพันมาไว้บนเชนด้วยต้นทุนที่ต่ำโดยไม่สูญเสียความปลอดภัยและความสมบูรณ์ของข้อมูล
ในระบบของ Umbrella Network ใบไม้แต่ละใบบนต้นไม้ Merkle แสดงถึงจุดข้อมูลสำหรับออราเคิล แฮชรากของ Merkle เป็นตัวระบุเฉพาะสำหรับบล็อกธุรกรรมทั้งหมดในแผนผัง Merkle ฉันทามติ "หลักฐานการครอบครองเดิมพัน" ดำเนินการบนแฮชรูทของ Merkle ซึ่งเป็นตัวแทนของข้อมูลทั้งหมดในแผนภูมิ และชุดธุรกรรมที่ผ่านการตรวจสอบขั้นสุดท้ายจะถูกเขียนบนเครือข่ายโดยมีค่าธรรมเนียมการทำธุรกรรม
ลิงค์ต้นฉบับ:
ลิงค์ต้นฉบับ:
https://medium.com/umbrella-network/merkle-trees-an-introduction-to-concepts-and-components-5d2ff2b939e2
ผู้เขียน: ชูบี ทิวารี
แปล: ใบพัด


