DAG คืออะไร

DAG ทางคณิตศาสตร์ มาจากคำว่า Direct Acyclic Graph

Direct (มีทิศทาง),Acyclic (ไม่เป็นวัฎจักร),Graph (รูปทางคณิตศาสตร์ที่ประกอบจาก เส้น (edge) กับ โหนด (node) โดย edge จะเอาไว้เชื่อม node 2 อันเข้าด้วยกัน)

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

DAG กับการขุด

Ethash ซึ่งเป็นอัลกอริทึมที่ใช้ในการขุด Ethereum นั้นใช้ Direct Acyclic Graph (DAG) DAG มีหน้าที่ในการสร้างชุดข้อมูลแบบสุ่มขึ้นมา โดยข้อมูลนี้จะอยู่ในหน่วยความจำของ GPU ซึ่ง GPU จะใช้ชุดข้อมูลที่ DAG สร้างนี้มาประมวลผลเพื่อสร้างบล็อก โดย miner ที่ใช้อัลกอริทึม Ethash ทุกคนจะต้องติดตั้ง DAG และ DAG จะมีขนาดเพิ่มขึ้นทุก 30000 Block หรือ ประมาณ 100 ชั่วโมง ตอนเริ่มแรกไฟล์ DAG มีขนาดประมาณ 1 GB แต่ผ่านมาตอนนี้ไฟล์ DAG มีขนาดเกือบ 5 GB

โดยมีการคำนวณขนาดของไฟล์ DAG ของ Ethereumไว้ในอนาคตดังนี้

5 GB – 28 กรกฎาคม 2022

6 GB – 10 มกราคม 2024

8 GB – 6 ธันวาคม 2028

รูปภาพจาก Minerstat.com

ซึ่งไฟล์ DAG ที่ใหญ่ขึ้นก็ส่งผลโดยตรงกับนักขุดที่ใช้อัลกอริทึม Ethash เพราะขนาดไฟล์ที่ใหญ่ขึ้นก็ต้องมี GPU Memory ที่มากขึ้น ถ้าขนาด Memory ของ GPU ที่มีเล็กกว่าไฟล์ DAG จะไม่สามารถขุดได้นั่นเอง

แล้วไฟล์ DAG จะมีขนาดใหญ่ขึ้นเรื่อยๆไหม

จะมีขนาดเพิ่มขึ้นเรื่อยๆ แต่เหรียญอย่าง Ethereum ก็ได้วางแผนไว้ว่าจะเปลี่ยน ระบบจาก Proof of work ที่ต้องอาศัย miner ไปเป็น Proof of stake แทนซึ่งไม่ต้องอาศัย Miner อีกต่อไป โดยมีการคาดการณ์ว่าจะเปลี่ยนเป็น POS ในไตรมาศที่ 2 ของปี 2022 แต่ก็ยังมีเหรียญอื่นๆที่ยังสามารถขุดได้อยู่และไฟล์ DAG ยังมีขนาดไม่ใหญ่มาก อย่างเช่น ETC

Referrence

https://academy.bit2me.com/en/what-is-the-algorithm-of-ethash-mining/