ข้ามไปยังเนื้อหา

ต้นไม้เมอร์เคิล

ต้นไม้เมอร์เคิลผูกมัดข้อมูลที่เรียงลำดับด้วยแฮชรากเดียว และสร้างหลักฐานการเป็นสมาชิกแบบสั้นโดยไม่ต้องส่งข้อมูลทั้งชุด

อัปเดต

เพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน การลงทุนอาจทำให้เกิดการสูญเสีย

คำตอบโดยตรง

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

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

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

ต้นไม้เมอร์เคิลมีหลายรูปแบบ บิตคอยน์ใส่รากธุรกรรมไว้ในส่วนหัวของแต่ละบล็อก ส่วนอีเธอเรียมใช้ Merkle-Patricia Trie แบบปรับปรุงสำหรับสถานะและโครงสร้างที่ตรวจสอบได้อื่น ๆ การเข้ารหัส รูปแบบหลักฐาน กฎการอัปเดต และสมมติฐานความปลอดภัยแตกต่างกัน จึงใช้หลักฐานแทนกันไม่ได้

วิธีการทำงาน

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

ในต้นไม้ไบนารีที่สมดุล หลักฐานสำหรับหนึ่งใบจาก 1024 ใบต้องใช้แฮชพี่น้องประมาณ 10 ค่า เพราะแต่ละระดับเพิ่มช่วงที่ครอบคลุมเป็นสองเท่า ขนาดจริงขึ้นกับรูปทรง ความยาวแฮช นโยบายใบซ้ำ และหลักฐานหลายใบหรือแบบบีบอัด

ความสัมพันธ์หลักเขียนได้เป็น parent = Hash(left || right) และ root = fold(parent, leaves) นี่เป็นเพียงแบบจำลอง โปรโตคอลอาจใช้คำนำหน้า จำนวนกิ่งต่างกัน หรือเข้ารหัสคีย์ใน trie หลักฐานแสดงความสอดคล้องกับโครงสร้างที่กำหนด แต่ไม่ยืนยันรากที่ผู้ตรวจสอบยังไม่ได้เชื่อถืออย่างอิสระ

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

ตัวอย่าง

สมมติว่าบล็อกมีธุรกรรม 1024 รายการและใช้ต้นไม้ธุรกรรมแบบไบนารี ธุรกรรมหนึ่งรายการแนบแฮชพี่น้องประมาณ 10 ค่าแทนการส่งอีก 1023 รายการได้ ผู้ตรวจสอบยังต้องมีส่วนหัวบล็อกและกฎการเข้ารหัสกับตำแหน่ง

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

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

ความเสี่ยง

ความเสี่ยงทางเทคนิคหลักคือการเข้ารหัสกำกวม การใช้แฮชผิด จุดอ่อน second-preimage หรือ collision ลำดับพี่น้องผิด และการรับรากจากแหล่งที่ไม่น่าเชื่อถือหรือเก่า การแยกโดเมนต้องทำอย่างสม่ำเสมอ

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

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

ความเข้าใจผิดที่พบบ่อย

ความเชื่อผิด 1: รากที่ตรงกันพิสูจน์ว่าข้อมูลเป็นจริง

มันพิสูจน์เพียงว่าใบที่ส่งมาสอดคล้องกับรากที่ผูกมัดภายใต้โครงสร้างนั้น หากออราเคิลผูกมัดค่าผิด หลักฐานก็จะตรวจสอบค่าผิดนั้นอย่างถูกต้อง

ความเชื่อผิด 2: หลักฐานเมอร์เคิลทำให้ทั้งระบบไม่ต้องเชื่อถือใคร

ผู้ตรวจสอบยังต้องเชื่อถือแฮช กฎการเข้ารหัส เส้นทางยืนยันราก และระบบที่ส่งข้อมูล ฉันทามติ ความเป็นที่สุด ความพร้อมใช้งาน และธรรมาภิบาลยังเป็นคำถามแยกกัน

ความเชื่อผิด 3: ทุกบล็อกเชนใช้ต้นไม้เมอร์เคิลแบบเดียวกัน

ต้นไม้ธุรกรรมของบิตคอยน์ Merkle-Patricia Trie ของอีเธอเรียม และต้นไม้เฉพาะแอปมีโครงสร้างกับกฎหลักฐานต่างกัน จึงย้ายรูปแบบข้ามโปรโตคอลโดยอัตโนมัติไม่ได้

ความเชื่อผิด 4: หลักฐานสั้นรับประกันธุรกรรมที่ถูกและปลอดภัย

ขนาดหลักฐานลดการถ่ายโอน แต่แก๊สตรวจสอบ การอ่านสตอเรจ ความแออัด บั๊กสัญญา และความเสี่ยงถอนหรือชำระบัญชีอาจเป็นตัวกำหนดผลลัพธ์

หัวข้อที่เกี่ยวข้อง

แหล่งข้อมูล

การนำทาง

ค้นหาในวิกิ...