ความยากในการขุด (Difficulty): ใครคุมให้บล็อกออกทุก 10 นาทีพอดี?
กลไกปรับระดับความยากอัตโนมัติทุก 2,016 บล็อก เพื่อรักษาจังหวะการสร้างบล็อกไว้ที่ 10 นาที
ตอนที่ 12 เราผ่าบล็อกดูข้างใน
รู้ว่านักขุดต้องแฮชหัวบล็อกให้ผลออกมา “ต่ำกว่าเป้าหมาย”
โดยไล่เปลี่ยน Nonce ไปเรื่อย ๆ จนกว่าจะเจอ
ตอนท้ายเราทิ้งคำถามไว้ว่า
เป้าหมายตัวนี้ใครเป็นคนเลื่อน แล้วเลื่อนทำไม
วันนี้มาไขคำตอบกัน
🐘 ลองนึกภาพก่อน: ถ้าคนมาแข่งเพิ่มขึ้นเรื่อย ๆ จะเกิดอะไรขึ้น?
สมมติมีการแข่งทอยลูกเต๋าแจกรางวัล
ตอนแรกมีคนเล่นแค่ 10 คน รางวัลเลยออกช้า ๆ ทุก 10 นาที
แต่วันดีคืนดีคนแห่มาเล่นเป็นล้านคน
ทอยพร้อมกันนับล้านล้านครั้งต่อวินาที
รางวัลจะออกเร็วขึ้นเรื่อย ๆ
จาก 10 นาที เหลือ 1 นาที เหลือ 10 วินาที
ระบบก็พัง
บิทคอยน์เจอสถานการณ์นี้จริง
ยุคแรกคนขุดด้วยคอมบ้าน
วันนี้มีโรงขุดยักษ์ทั่วโลก
ถ้าเป้าหมายนิ่งไว้เหมือนเดิม
บล็อกจะออกเร็วขึ้นเรื่อย ๆ
จังหวะการให้รางวัลนักขุด(สร้างเงินใหม่) และการยืนยันธุรกรรมก็เละไปหมด
ระบบเลยต้องมีตัวคุมจังหวะ
ตัวนั้นคือ ความยาก (Difficulty)
🎯 ความยากคืออะไร จริง ๆ แล้วมันคือ “เป้าหมาย” นั่นแหละ มองคนละมุม
จำจากตอนที่ 12 ว่านักขุดต้องได้ผลแฮชต่ำกว่า เป้าหมาย
ถึงจะเอาบล็อกลงสมุดได้
ตรงนี้สำคัญ:
ตัวที่เครือข่ายปรับจริง ๆ คือ เป้าหมาย
ส่วน “ความยาก” เป็นแค่ตัวเลขที่เอาไว้บอกว่า
ตอนนี้เรายากกว่าวันแรกที่บิทคอยน์เกิดกี่เท่าแล้ว
ความสัมพันธ์ของสองตัวนี้สวนทางกันเสมอ
- ความยากสูงขึ้น → เป้าหมายต่ำลง → หาแฮชที่ผ่านยากขึ้น
- ความยากลดลง → เป้าหมายสูงขึ้น → หาแฮชที่ผ่านง่ายขึ้น
เปรียบง่าย ๆ เหมือนเสาเล่นลิมโบ้
ยิ่งเอาเสาลงต่ำ คนเล่นยิ่งลอดผ่านยาก
ตัวเลขความยากก็แค่บอกว่า
“เสาตอนนี้ต่ำกว่าระดับเริ่มต้นกี่เท่าแล้ว”
ปัจจุบันความยากอยู่ที่หลักล้านล้าน
เท่ากับว่าการหาแฮชที่ผ่าน ยากกว่าสมัยวันแรกของบิทคอยน์หลายล้านล้านเท่า
ช่องว่างให้ผ่านมันแคบจนเหมือนซื้อลอตเตอรี่เลยทีเดียว 📆 แล้วมันปรับตอนไหน? ตอบ: ทุก 2,016 บล็อก (ประมาณ 2 สัปดาห์) นี่คือจุดที่ฉลาดที่สุดของระบบ
ไม่มีบริษัทไหน ไม่มีใครเป็นคนเลื่อนเป้าหมายเลย
โหนดทุกเครื่องในเครือข่าย (จำจากตอนที่ 9)
จะทำการบ้านชิ้นเดียวกันเองทุก ๆ 2,016 บล็อก ด้วยวิธีนี้
- ดูว่า 2,016 บล็อกที่ผ่านมา ใช้เวลาจริงไปกี่นาที
- เทียบกับเวลาที่ “ควร” ใช้ คือ 2,016 × 10 นาที = 20,160 นาที
- เอาสองเลขนี้มาหารกัน ผลที่ได้บอกทุกอย่าง
- บล็อกออกเร็วกว่าที่คิด (เช่น เฉลี่ย 9 นาทีต่อบล็อก)
→ ผลหารเกิน 1 → เพิ่มความยาก ให้บล็อกถัดไปออกช้าลง - บล็อกออกช้ากว่าที่คิด
→ ผลหารน้อยกว่า 1 → ลดความยาก ผ่อนปรนให้นักขุด และเพราะทุกโหนดคำนวณด้วยข้อมูลเดียวกัน สูตรเดียวกัน
ผลที่ได้เลยตรงกันหมดโดยไม่ต้องมีใครประกาศสั่ง
อ้อ มีกฎเหล็กอีกข้อ:
แต่ละรอบปรับได้สูงสุดไม่เกิน 4 เท่า (หรือลดลงไม่เกิน 4 เท่า)
เพื่อกันไม่ให้ความยากสวิงแรงจนระบบช็อก ⏱️ สรุปแล้วมันเอาไว้ทำอะไร? คุมจังหวะ 10 นาทีไงล่ะ ไม่ว่าคนจะแห่มาขุดเพิ่ม หรือโรงขุดจะปิดตัวลง
บิทคอยน์จะคงจังหวะเดิม: บล็อกใหม่โดยเฉลี่ยทุก 10 นาที
จังหวะนี้สำคัญมาก
เพราะมันคุมทั้งจังหวะที่เงินใหม่ถูกสร้าง (ตอนที่ 4)
และทำให้เครือข่ายทั่วโลกมีเวลารับบล็อกใหม่กันทั่วถึงก่อนรอบถัดไปจะเริ่ม
บอกเลยว่าบล็อกบางก้อนออกเร็ว 5 นาที บางก้อนช้า 15 นาที เป็นเรื่องปกติ
เพราะการเดาสุ่มมันมีดวงเข้ามาเกี่ยว
แต่ระยะยาว ระบบจะดึงค่าเฉลี่ยกลับมาที่ 10 นาทีเสมอ
ด้วยการปรับความยากทุก 2 สัปดาห์นี่แหละ
อยากดูความยากตอนนี้เท่าไหร่?
เปิด mempool.space (จากตอนที่ 11) ได้เลย
มันเป็นข้อมูลสาธารณะที่ใครก็เช็กได้
ในบิทคอยน์ทุกโหนดเปิดสมุดสถิติของตัวเอง
คำนวณสูตรเดียวกัน
แล้วได้คำตอบตรงกันทั้งเครือข่ายโดยไม่ต้องนัดหมาย
🔮 ตอนหน้า: รู้จักเครือข่าย โหนด การขุด บล็อก และความยากครบแล้ว
ตอนหน้าเราจะย้อนกลับไปผ่าดู “ธุรกรรม” หนึ่งรายการให้ละเอียดยิบ
ว่าข้างในมันประกอบด้วยอะไรบ้าง
แล้วเงินจริง ๆ มันไหลจากใครไปหาใครยังไง
🧠 สรุปวันนี้ จำแค่นี้
- ความยาก (Difficulty) คือตัวคุมจังหวะของบิทคอยน์ กันไม่ให้บล็อกออกเร็วหรือช้าเกินไป
- ตัวจริงที่ปรับคือ “เป้าหมาย” ความยากเป็นแค่ตัวเลขบอกว่ายากกว่าวันแรกกี่เท่า ยิ่งความยากสูง เป้าหมายยิ่งต่ำ
- ระบบปรับเองทุก 2,016 บล็อก (ราว 2 สัปดาห์) โดยโหนดทุกเครื่องคำนวณเอง เทียบเวลาจริงกับเวลาที่ควรใช้
- บล็อกเร็วเกิน → เพิ่มความยาก, ช้าเกิน → ลดความยาก, แต่ละรอบปรับได้ไม่เกิน 4 เท่า
- เป้าหมายสุดท้ายคือค่าเฉลี่ย 10 นาทีต่อบล็อก ไม่ว่าจะมีนักขุดมากน้อยแค่ไหน
🖼️ สไลด์ทั้งหมดของตอนนี้ (8 รูป)
แบบทดสอบท้ายบทเรียน
ตอบคำถาม 3 ข้อ เพื่อเช็กความเข้าใจของตัวเองได้เลย
1. ทำไมระบบบิทคอยน์ต้องมีกลไกการปรับ 'ความยากในการขุด' (Difficulty)?
2. ระบบบิทคอยน์จะทำการปรับระดับความยากอัตโนมัติบ่อยแค่ไหน?
3. หากช่วง 2 สัปดาห์ที่ผ่านมา บล็อกถูกสร้างออกมาเร็วกว่าปกติ (เช่น เฉลี่ย 9 นาที/บล็อก) ระบบจะทำอย่างไร?
อ่านตอนนี้จบแล้วใช่ไหม?
กดบันทึกเพื่อติดตามความก้าวหน้าการเรียนของคุณ





