Merkle Tree คืออะไร? คำแนะนำสำหรับผู้เริ่มต้นสำหรับส่วนประกอบ Blockchain นี้
Merkle Trees เป็นส่วนประกอบพื้นฐานของบล็อกเชนที่รองรับฟังก์ชันการทำงาน ช่วยให้สามารถตรวจสอบโครงสร้างข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพและปลอดภัยและในกรณีของ blockchains ชุดข้อมูลที่อาจไม่มีขอบเขต. การนำต้นไม้ Merkle มาใช้ในบล็อกเชนมีผลหลายอย่าง ช่วยให้สามารถปรับขนาดได้ในขณะเดียวกันก็มีสถาปัตยกรรมที่ใช้แฮชเพื่อรักษาความสมบูรณ์ของข้อมูลและเป็นวิธีที่ไม่สำคัญในการตรวจสอบความสมบูรณ์ของข้อมูล. ฟังก์ชันแฮชการเข้ารหัสเป็นเทคโนโลยีพื้นฐานที่ช่วยให้ต้นไม้ Merkle ทำงานได้ดังนั้นก่อนอื่นจึงควรทำความเข้าใจว่าฟังก์ชันแฮชการเข้ารหัสคืออะไร. ฟังก์ชันแฮชการเข้ารหัส พูดง่ายๆคือฟังก์ชันแฮชคือฟังก์ชันใด ๆ ที่ใช้ในการแมปข้อมูลที่มีขนาดตามอำเภอใจ (อินพุต) กับเอาต์พุตขนาดคงที่ อัลกอริธึมการแฮชถูกนำไปใช้กับอินพุตข้อมูลและผลลัพธ์ที่มีความยาวคงที่จะเรียกว่าแฮช. อัลกอริทึมการแฮชจำนวนมากมีให้ใช้งานทั่วไปและสามารถเลือกได้ตามความต้องการของคุณ. แฮชที่เป็นผลลัพธ์จากอินพุตโดยพลการไม่เพียง แต่กำหนดความยาวเท่านั้น แต่ยังไม่ซ้ำกันอย่างสมบูรณ์กับอินพุตและฟังก์ชันเองก็ถูกกำหนด นั่นคือไม่ว่าคุณจะเรียกใช้ฟังก์ชันบนอินพุตเดียวกันกี่ครั้งผลลัพธ์ก็จะเหมือนกันเสมอ. ตัวอย่างเช่นหากคุณมีชุดข้อมูลต่อไปนี้ด้านล่างเป็นอินพุตเอาต์พุตที่ได้จะไม่ซ้ำกันสำหรับแต่ละอินพุต สังเกตว่าในตัวอย่างที่สองและสามแม้ว่าความแตกต่างของอินพุตจะเป็นเพียงคำเดียว แต่ผลลัพธ์ที่ได้จะแตกต่างกันอย่างสิ้นเชิง. สิ่งนี้สำคัญมากเนื่องจากช่วยให้สามารถ “พิมพ์ลายนิ้วมือ” ข้อมูลได้. ฟังก์ชันแฮชการเข้ารหัสภาพจาก Wikipedia เนื่องจากความยาวของเอาต์พุต (ผลรวมแฮชในตัวอย่าง) มักจะเหมือนกับที่กำหนดโดยอัลกอริทึมการแฮชที่ใช้ข้อมูลจำนวนมากจึงสามารถระบุได้โดยใช้แฮชผลลัพธ์เท่านั้น. ด้วยระบบที่มีข้อมูลจำนวนมากประโยชน์ของความสามารถในการจัดเก็บและระบุข้อมูลด้วยเอาต์พุตที่มีความยาวคงที่สามารถสร้างการประหยัดพื้นที่จัดเก็บได้มหาศาลและช่วยเพิ่มประสิทธิภาพ. ภายในบล็อคเชนจะใช้อัลกอริทึมการแฮชเพื่อกำหนดสถานะของบล็อกเชน. Blockchains เป็นรายการที่เชื่อมโยงซึ่งมีข้อมูลและตัวชี้แฮชที่ชี้ไปยังบล็อกก่อนหน้าซึ่งสร้างห่วงโซ่ของบล็อกที่เชื่อมต่อกันจึงมีชื่อว่า “blockchain”. แต่ละบล็อกเชื่อมต่อกันผ่านตัวชี้แฮชซึ่งเป็นแฮชของข้อมูลภายในบล็อกก่อนหน้าพร้อมกับที่อยู่ของบล็อกก่อนหน้า ด้วยการเชื่อมโยงบล็อกข้อมูลในรูปแบบนี้แต่ละแฮชที่เป็นผลลัพธ์ของบล็อกก่อนหน้านี้จะแสดงสถานะทั้งหมดของบล็อกเชนเนื่องจากข้อมูลที่แฮชทั้งหมดของบล็อกก่อนหน้าจะถูกแฮชเป็นแฮชเดียว. สิ่งนี้แสดง (ในกรณีของอัลกอริทึม SHA-256) ด้วยเอาต์พุต (แฮช) เช่นนี้. b09a57d476ea01c7f91756adff1d560e579057ac99a28d3f30e259b30ecc9dc7 แฮชด้านบนเป็นลายนิ้วมือของสถานะทั้งหมดของบล็อกเชนก่อนหน้านั้น สถานะของบล็อกเชนก่อนบล็อกใหม่ (ตามข้อมูลที่แฮช) คืออินพุตและแฮชที่ได้คือเอาต์พุต. แม้ว่าจะเป็นไปได้ที่จะใช้แฮชการเข้ารหัสโดยไม่มีต้นไม้ […]