บทนำ: ความท้าทายในการบรรลุฉันทามติแบบกระจายศูนย์
ในระบบคอมพิวเตอร์แบบกระจายศูนย์ (Distributed Systems) การทำให้เครื่องแม่ข่ายนับร้อยหรือนับพันเครื่องที่ตั้งอยู่คนละมุมโลกสามารถเห็นพ้องต้องกันใน “ลำดับและสถานะของข้อมูลล่าสุด” โดยไม่มีเครื่องแม่ข่ายส่วนกลางคอยสั่งการ ถือเป็นหนึ่งในปัญหาคลาสสิกของวิทยาการคอมพิวเตอร์ที่เรียกว่า Byzantine Generals Problem
เครือข่าย Dime ใช้ประโยชน์จากทฤษฎีฉันทามติที่ได้รับการออกแบบมาเพื่อสร้างความสมดุลระหว่างความเร็วในการยืนยันข้อมูล (Latency) ปริมาณงานที่สามารถประมวลผลได้ (Throughput) และความทนทานต่อความผิดพลาดของระบบ (Fault Tolerance)
องค์ประกอบหลักของวงจรฉันทามติใน Dime
วงจรการประมวลผลหนึ่งบล็อกในเครือข่าย Dime ประกอบด้วย 3 ขั้นตอนหลัก:
[วงจรการสร้างและยืนยันบล็อก]
1. รวบรวมและจัดลำดับธุรกรรม (Mempool & Proposal)
│
▼
2. การลงคะแนนและตรวจสอบความถูกต้อง (Voting & Validation)
│
▼
3. การตกลงสถานะขั้นสุดท้ายและการบันทึกลงสมุดบัญชี (Commit & Finality)
1. การเสนอข้อเสนอของบล็อก (Block Proposal)
โหนดที่ได้รับเลือกให้ทำหน้าที่เสนอในรอบนั้นๆ (Proposer Node) จะทำการรวบรวมธุรกรรมที่ผ่านการตรวจสอบความถูกต้องของลายเซ็นดิจิทัลแล้ว จัดเรียงลำดับ และคำนวณค่าแฮชของสถานะใหม่ (State Root) พร้อมทั้งสร้างส่วนหัวของบล็อก (Block Header)
2. การตรวจสอบและลงคะแนนเสียง (Validation Round)
โหนดตรวจสอบอื่นๆ ในเครือข่าย (Validators) จะได้รับบล็อกที่เสนอมา ทำการตรวจสอบ:
- ความถูกต้องของลายเซ็นดิจิทัลทุกรายการในบล็อก
- ความถูกต้องของการเปลี่ยนแปลงสถานะบัญชี (ไม่มีการใช้จ่ายซ้ำซ้อน)
- การอ้างอิงแฮชของบล็อกก่อนหน้าอย่างถูกต้อง
หากข้อมูลทั้งหมดถูกต้อง โหนดจะทำการลงนามรับรองและกระจายข้อความยืนยันออกไปยังเครือข่าย
3. การบรรลุความเป็นที่สิ้นสุด (Deterministic Finality)
เมื่อมีคะแนนเสียงที่ได้รับการลงนามอย่างถูกต้องมากกว่าเกณฑ์ที่กำหนด (เช่น สองในสามของน้ำหนักเสียงทั้งหมด) บล็อกดังกล่าวจะถูกถือว่าบรรลุสภาวะ Finality ซึ่งหมายความว่าข้อมูลจะถูกจารึกลงในฐานข้อมูลอย่างถาวรและไม่สามารถเปลี่ยนแปลงย้อนหลังได้
ทฤษฎีความปลอดภัยและการทนทานต่อความผิดพร่อง
กลไกฉันทามติของ Dime ได้รับการพิสูจน์ตามหลักทฤษฎี BFT ว่าสามารถทนทานต่อโหนดที่มีพฤติกรรมผิดปกติ หรือโหนดที่ไม่ตอบสนองได้ตราบใดที่โหนดเหล่านั้นมีสัดส่วนไม่เกิน (1/3) ของเครือข่ายทั้งหมด
สัดส่วนความเสถียร = N ≥ 3f + 1
โดย N คือจำนวนโหนดทั้งหมด และ f คือจำนวนโหนดที่ผิดปกติสูงสุดที่ระบบสามารถรองรับได้
สรุปและประเด็นสำคัญสำหรับผู้ออกแบบระบบ
- กลไกฉันทามติเป็นหัวใจสำคัญของการรักษาความถูกต้องของข้อมูลโดยไม่ต้องพึ่งพาตัวกลาง
- การทำความเข้าใจวงจร Finality ช่วยให้วิศวกรสามารถออกแบบแอปพลิเคชันที่สามารถยืนยันธุรกรรมได้อย่างมั่นใจและปลอดภัย
- การจัดสรรโหนดที่มีความเสถียรด้านฮาร์ดแวร์และแบนด์วิธเครือข่ายเป็นปัจจัยสำคัญในการรักษาระดับประสิทธิภาพของระบบโดยรวม
