ทำความเข้าใจสถาปัตยกรรม Dime: ปริมาณงานสูงและโครงสร้างข้อมูลพื้นฐาน
ศึกษาแนวคิดทางวิศวกรรมคอมพิวเตอร์เบื้องหลังสถาปัตยกรรม Dime ปัจจัยที่ส่งผลต่อประสิทธิภาพของ Ledger และการกระจายข้อมูล

บทนำสู่สถาปัตยกรรม Dime
ในการศึกษาระบบบัญชีแยกประเภทแบบกระจายศูนย์ (Distributed Ledger Technology) ความท้าทายหลักที่วิศวกรระบบต้องเผชิญคือการรักษาสมดุลระหว่าง ความปลอดภัย (Security), การกระจายศูนย์ (Decentralization) และ ประสิทธิภาพการประมวลผล (Throughput)
สถาปัตยกรรมของ Dime ได้รับการออกแบบขึ้นมาเพื่อตอบสนองต่อปริมาณธุรกรรมที่หนาแน่น โดยปรับปรุงตั้งแต่ระดับโครงสร้างหน่วยความจำไปจนถึงวิธีการสื่อสารระหว่างโหนดเครือข่าย
1. การประมวลผลธุรกรรมแบบขนาน (Parallel Transaction Execution)
ระบบบล็อกเชนยุคดั้งเดิมมักใช้รูปแบบการประมวลผลแบบเรียงลำดับ (Sequential Execution) โดยธุรกรรมแต่ละรายการจะต้องถูกรันทีละคำสั่ง ส่งผลให้เกิดคอขวดเมื่อมีคำสั่งส่งเข้ามาพร้อมกันเป็นจำนวนมาก
ในทางตรงกันข้าม สถาปัตยกรรม Dime ใช้หลักการระบุบัญชีที่ต้องการอ่านและเขียนล่วงหน้า (Pre-declared Account Access):
- Independent Transactions: หากธุรกรรม ก และ ธุรกรรม ข ไม่ได้แก้ไขบัญชีเดียวกัน ระบบสามารถส่งให้คอร์ประมวลผล (CPU Cores) ที่แตกต่างกันทำงานพร้อมกันได้ทันที
- State Conflict Detection: หากมีธุรกรรมที่ต้องการเข้าถึงบัญชีเดียวกัน ระบบจะจัดระเบียบคิวอย่างเป็นลำดับเพื่อป้องกันการเกิด Race Condition
2. โครงสร้างข้อมูลและการจัดเก็บสถานะ (Ledger State Storage)
การบันทึกสถานะของ Dime อาศัยฐานข้อมูลชนิด Key-Value ที่ได้รับการปรับแต่งเป็นพิเศษสำหรับสื่อบันทึกข้อมูลความเร็วสูงแบบ NVMe SSD:
+--------------------------------------------------------+
| Dime Core Engine |
+--------------------------------------------------------+
| Parallel Sealevel Runtime | Gossip Subsystem |
+-------------------------------+------------------------+
| AccountsDB (Memory) | Ledger History |
+--------------------------------------------------------+
| Direct Linux NVMe I/O (io_uring) |
+--------------------------------------------------------+
ด้วยการใช้ประโยชน์จาก io_uring บน Linux Kernel ทำให้โหนดสามารถส่งคำสั่งอ่าน/เขียนข้อมูลลงไดรฟ์ได้โดยไม่ต้องเสียเวลาในการสลับบริบท (Context Switching) ในระดับ User Space และ Kernel Space บ่อยครั้ง
3. การซิงโครไนซ์ข้อมูลผ่าน Gossip Protocol
โหนดในเครือข่าย Dime ไม่จำเป็นต้องเชื่อมต่อกับทุกโหนดพร้อมกัน แต่ใช้การส่งต่อข้อมูลแบบสุ่มและต่อเนื่องผ่าน Gossip Protocol
เมื่อมีโหนดใดได้รับข้อมูลบล็อกใหม่หรือข้อความยืนยัน โหนดนั้นจะส่งต่อข้อมูลไปยังกลุ่มเพื่อนบ้าน (Peers) ใกล้เคียง ทำให้ข้อมูลแพร่กระจายไปทั่วทั้งเครือข่ายในเวลาเพียงเสี้ยววินาที
สรุปข้อคิดทางวิศวกรรม
การทำความเข้าใจ Dime จากมุมมองของวิศวกรรมคอมพิวเตอร์ช่วยให้เราเห็นว่า ประสิทธิภาพของระบบไม่ได้เกิดขึ้นจากความบังเอิญ แต่เป็นผลลัพธ์ของการออกแบบโครงสร้างซอฟต์แวร์ที่ประสานสอดคล้องกับขีดความสามารถของฮาร์ดแวร์ยุคใหม่อย่างแท้จริง
ฝ่ายวิชาการและวิจัย Dime Learning Center
บทความนี้จัดทำขึ้นเพื่อการศึกษาและการวิจัยเชิงเทคนิคตามหลักการระบบประมวลผลแบบกระจายศูนย์ โดยไม่มีวัตถุประสงค์ในการชี้นำหรือแนะนำการลงทุนใดๆ