ไข่ส้มวิทยา ไข่ส้มวิทยา
หมวดที่ 2: เครือข่ายและการขุดเจาะลึก ตอนที่ 13

ความยากในการขุด (Difficulty): ใครคุมให้บล็อกออกทุก 10 นาทีพอดี?

กลไกปรับระดับความยากอัตโนมัติทุก 2,016 บล็อก เพื่อรักษาจังหวะการสร้างบล็อกไว้ที่ 10 นาที

#Bitcoinมือใหม่ #Difficulty #ความยากในการขุด #Target
สไลด์ปกตอนที่ 13: ความยากในการขุด (Difficulty): ใครคุมให้บล็อกออกทุก 10 นาทีพอดี?
🔍 แตะเพื่อขยายรูป
สไลด์ประกอบบทเรียนตอนที่ 13 — แตะเพื่อดูแบบเต็มจอ

ตอนที่ 12 เราผ่าบล็อกดูข้างใน
รู้ว่านักขุดต้องแฮชหัวบล็อกให้ผลออกมา “ต่ำกว่าเป้าหมาย”
โดยไล่เปลี่ยน Nonce ไปเรื่อย ๆ จนกว่าจะเจอ
ตอนท้ายเราทิ้งคำถามไว้ว่า
เป้าหมายตัวนี้ใครเป็นคนเลื่อน แล้วเลื่อนทำไม
วันนี้มาไขคำตอบกัน 🐘 ลองนึกภาพก่อน: ถ้าคนมาแข่งเพิ่มขึ้นเรื่อย ๆ จะเกิดอะไรขึ้น? สมมติมีการแข่งทอยลูกเต๋าแจกรางวัล
ตอนแรกมีคนเล่นแค่ 10 คน รางวัลเลยออกช้า ๆ ทุก 10 นาที
แต่วันดีคืนดีคนแห่มาเล่นเป็นล้านคน
ทอยพร้อมกันนับล้านล้านครั้งต่อวินาที
รางวัลจะออกเร็วขึ้นเรื่อย ๆ
จาก 10 นาที เหลือ 1 นาที เหลือ 10 วินาที
ระบบก็พัง
บิทคอยน์เจอสถานการณ์นี้จริง
ยุคแรกคนขุดด้วยคอมบ้าน วันนี้มีโรงขุดยักษ์ทั่วโลก
ถ้าเป้าหมายนิ่งไว้เหมือนเดิม
บล็อกจะออกเร็วขึ้นเรื่อย ๆ
จังหวะการให้รางวัลนักขุด(สร้างเงินใหม่) และการยืนยันธุรกรรมก็เละไปหมด
ระบบเลยต้องมีตัวคุมจังหวะ
ตัวนั้นคือ ความยาก (Difficulty) 🎯 ความยากคืออะไร จริง ๆ แล้วมันคือ “เป้าหมาย” นั่นแหละ มองคนละมุม จำจากตอนที่ 12 ว่านักขุดต้องได้ผลแฮชต่ำกว่า เป้าหมาย
ถึงจะเอาบล็อกลงสมุดได้
ตรงนี้สำคัญ:
ตัวที่เครือข่ายปรับจริง ๆ คือ เป้าหมาย
ส่วน “ความยาก” เป็นแค่ตัวเลขที่เอาไว้บอกว่า
ตอนนี้เรายากกว่าวันแรกที่บิทคอยน์เกิดกี่เท่าแล้ว
ความสัมพันธ์ของสองตัวนี้สวนทางกันเสมอ

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

🔮 ตอนหน้า: รู้จักเครือข่าย โหนด การขุด บล็อก และความยากครบแล้ว
ตอนหน้าเราจะย้อนกลับไปผ่าดู “ธุรกรรม” หนึ่งรายการให้ละเอียดยิบ
ว่าข้างในมันประกอบด้วยอะไรบ้าง
แล้วเงินจริง ๆ มันไหลจากใครไปหาใครยังไง

🧠 สรุปวันนี้ จำแค่นี้

  • ความยาก (Difficulty) คือตัวคุมจังหวะของบิทคอยน์ กันไม่ให้บล็อกออกเร็วหรือช้าเกินไป
  • ตัวจริงที่ปรับคือ “เป้าหมาย” ความยากเป็นแค่ตัวเลขบอกว่ายากกว่าวันแรกกี่เท่า ยิ่งความยากสูง เป้าหมายยิ่งต่ำ
  • ระบบปรับเองทุก 2,016 บล็อก (ราว 2 สัปดาห์) โดยโหนดทุกเครื่องคำนวณเอง เทียบเวลาจริงกับเวลาที่ควรใช้
  • บล็อกเร็วเกิน → เพิ่มความยาก, ช้าเกิน → ลดความยาก, แต่ละรอบปรับได้ไม่เกิน 4 เท่า
  • เป้าหมายสุดท้ายคือค่าเฉลี่ย 10 นาทีต่อบล็อก ไม่ว่าจะมีนักขุดมากน้อยแค่ไหน

🖼️ สไลด์ทั้งหมดของตอนนี้ (8 รูป)

สไลด์ประกอบบทเรียนตอนที่ 13 รูปที่ 2สไลด์ประกอบบทเรียนตอนที่ 13 รูปที่ 3สไลด์ประกอบบทเรียนตอนที่ 13 รูปที่ 4สไลด์ประกอบบทเรียนตอนที่ 13 รูปที่ 5สไลด์ประกอบบทเรียนตอนที่ 13 รูปที่ 6สไลด์ประกอบบทเรียนตอนที่ 13 รูปที่ 7สไลด์ประกอบบทเรียนตอนที่ 13 รูปที่ 8
ทบทวนความเข้าใจ

แบบทดสอบท้ายบทเรียน

ตอบคำถาม 3 ข้อ เพื่อเช็กความเข้าใจของตัวเองได้เลย

1. ทำไมระบบบิทคอยน์ต้องมีกลไกการปรับ 'ความยากในการขุด' (Difficulty)?

2. ระบบบิทคอยน์จะทำการปรับระดับความยากอัตโนมัติบ่อยแค่ไหน?

3. หากช่วง 2 สัปดาห์ที่ผ่านมา บล็อกถูกสร้างออกมาเร็วกว่าปกติ (เช่น เฉลี่ย 9 นาที/บล็อก) ระบบจะทำอย่างไร?

อ่านตอนนี้จบแล้วใช่ไหม?

กดบันทึกเพื่อติดตามความก้าวหน้าการเรียนของคุณ