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

ผ่าบล็อกดูข้างใน: บล็อกหนึ่ง ๆ มีอะไรบ้าง?

ผ่าดูโครงสร้างภายในบล็อก เจาะลึกหัวบล็อก (Block Header) และบทบาทของตัวเลข Nonce

#Bitcoinมือใหม่ #BlockHeader #Nonce #CandidateBlock
สไลด์ปกตอนที่ 12: ผ่าบล็อกดูข้างใน: บล็อกหนึ่ง ๆ มีอะไรบ้าง?
🔍 แตะเพื่อขยายรูป
สไลด์ประกอบบทเรียนตอนที่ 12 — แตะเพื่อดูแบบเต็มจอ

ตอนที่ 10 เรารู้ว่านักขุดรวมธุรกรรมจาก Memory Pool มาแข่งกันลงสมุดทีละบล็อก
ตอนที่ 11 เรารู้ว่าบล็อกพวกนี้ต่อกันเป็นบล็อกเชน ผูกกันด้วยลายนิ้วมือแฮช
แต่เรายังไม่เคยเปิดดูข้างในเลยว่า “บล็อก” ประกอบด้วยอะไรบ้าง
วันนี้มาผ่ามันดูกัน 📦 บล็อกคืออะไร นิยามสั้น ๆ บล็อกคือธุรกรรมหลายรายการที่ถูกรวมเข้าด้วยกัน
แล้วต่อเข้าบล็อกเชน ที่น่าสนใจคือ “กว่าจะได้ต่อ” มันผ่านอะไรมาบ้าง 🧺 ขั้นแรก: จัด “บล็อกชั่วคราว” (Candidate block) ขึ้นมาก่อน จำได้ไหมว่าธุรกรรมที่เพิ่งกดโอนจะไม่ลงสมุดทันที
แต่ไปรอใน Memory Pool ก่อน
หน้าที่ของนักขุดคือหยิบธุรกรรมจาก Memory Pool มาเรียงใส่บล็อกชั่วคราว
บล็อกชั่วคราวยังไม่ใช่ของจริง
นักขุดแต่ละคนจัดของตัวเอง แล้วพยายามเอาไปต่อท้ายบล็อกเชนให้ได้ก่อนคนอื่น 🏷️ หัวบล็อก: ป้ายตัวจิ๋วที่สำคัญที่สุดในบล็อก ทุกบล็อกชั่วคราวจะมีส่วนที่เรียกว่า หัวบล็อก กำกับไว้
หัวบล็อกคือข้อมูลที่บรรยายตัวบล็อก
คล้ายใบปะหน้ากล่องพัสดุ
ไม่ใช่ของข้างใน แต่บอกว่าข้างในคืออะไร
ข้างในมีอยู่ 6 ช่องหลัก ๆ ลองไล่ดูแบบคร่าว ๆ (ไม่ต้องจำละเอียดตอนนี้)

  • เลขเวอร์ชัน — บอกว่าบล็อกนี้สร้างตามกติการุ่นไหน
  • ลายนิ้วมือของบล็อกก่อนหน้า — บอกว่าเราจะต่อจากบล็อกไหน นี่แหละตัวที่ทำให้บล็อกเชื่อมกันเป็นโซ่
  • ลายนิ้วมือรวมของธุรกรรมทั้งบล็อก — เอาธุรกรรมทุกรายการในบล็อกมาแฮชรวมกันจนเหลือลายนิ้วมือเดียว ช่องนี้สำคัญที่สุดของหัวบล็อก
  • เวลา — บล็อกนี้เกิดเมื่อไหร่
  • เป้าหมาย — ตัวเลขที่นักขุดต้องเอาชนะให้ได้
  • เลขใช้ครั้งเดียว(Nonce) — เลขที่ไม่ได้มีความหมายอะไรเลย มีไว้ให้นักขุดเปลี่ยนค่าเพื่อให้ได้ผลแฮชใหม่ ๆ สังเกตไหม หัวบล็อกเล็กมากเมื่อเทียบกับธุรกรรมทั้งก้อน
    แต่นักขุดใช้แค่หัวบล็อกนี่แหละเป็นจุดเริ่มต้นของการแข่งขัน 🎯 เอาบล็อกลงสมุดได้ยังไง? กติกาคือ เอาข้อมูลในหัวบล็อกไปเข้าเครื่องคำนวณแฮช
    แล้วหวังว่าผลที่ออกมาจะ “ต่ำกว่าเป้าหมาย”
    เป้าหมายตัวนี้เครือข่ายเป็นคนกำหนด
    ผ่านค่าที่เรียกว่า “ความยาก”
    ยิ่งความยากสูง เป้ายิ่งต่ำ ยิ่งหาผลแฮชที่ต่ำกว่าได้ยาก
    ลองนึกภาพว่าเป้าหมายคือเส้นที่ลากไว้
    ใครแฮชแล้วได้เลขต่ำกว่าเส้นนั้น ผ่าน
    รายละเอียดเรื่องความยากว่าปรับยังไง เดี๋ยวตอนหน้ามาเจาะลึกกัน
    วันนี้แค่รู้ว่ามันมีตัวคุมความยากอยู่ 🎲 แล้วถ้าแฮชครั้งแรกไม่ผ่านล่ะ? ตรงนี้แหละที่ เลขใช้ครั้งเดียว(Nonce) เข้ามามีบทบาทสำคัญ
    ถ้าเราแฮชหัวบล็อกชุดเดิมซ้ำ ๆ ผลจะออกมาเหมือนเดิมทุกครั้ง
    ไม่มีทางได้เลขใหม่
    Nonce คือเลขที่นักขุดใช้เปลี่ยนค่า
    วิธีใช้ง่าย ๆ:
    เริ่มจาก 0 แฮชดู
    ไม่ผ่าน? เปลี่ยนเป็น 1 แฮชใหม่
    ไม่ผ่านอีก? เปลี่ยนเป็น 2, 3, 4 ไปเรื่อย ๆ
    จนกว่าจะเจอเลขที่ทำให้ผลแฮชต่ำกว่าเป้าหมาย
    นี่แหละงานจริงของการขุด
    ไม่ใช่แก้โจทย์คณิตศาสตร์อะไรหรอก
    แต่คือการเดาสุ่มไปเรื่อย ๆ ด้วยความเร็วมหาศาล
    คอมพิวเตอร์ของนักขุดลองได้นับล้านล้านครั้งต่อวินาที
    🏁 แก้บล็อกสำเร็จ แล้วไงต่อ? วินาทีที่นักขุดคนใดคนหนึ่งเจอ Nonce ที่ทำให้ผลแฮชต่ำกว่าเป้า
    บล็อกชั่วคราวของเขาก็ “แก้สำเร็จ”
    ธุรกรรมทุกรายการในบล็อกนั้นถูกต่อเข้าบล็อกเชน
    นักขุดคนนั้นรับรางวัลไป (จำเรื่องรางวัลจากตอนที่ 4 ได้ไหม)
    ส่วนนักขุดคนอื่นทั้งหมด?
    ทิ้งงานค้างไว้ แล้ววิ่งกลับไปที่ Memory Pool
    จัดบล็อกชั่วคราวใบใหม่ทันที
    และจุดสำคัญ:
    บล็อกชั่วคราวใบใหม่ของทุกคน
    จะเอาลายนิ้วมือของบล็อกที่เพิ่งแก้สำเร็จไปใส่ในหัวบล็อกของตัวเอง
    เพื่อต่อจากบล็อกนั้น
    แล้วการแข่งขันก็เริ่มใหม่
    วนแบบนี้ไปไม่มีวันหยุด
    ประมาณทุก 10 นาทีมีผู้ชนะหนึ่งคน

🔮 ตอนหน้า: เป้าหมายที่ว่านี้ใครเป็นคนเลื่อน?
แล้วทำไมระบบต้องคุมให้บล็อกออกทุก 10 นาทีพอดี ไม่เร็วไม่ช้า?
ตอนหน้าเราจะมาคุยเรื่อง “ความยาก” (Difficulty)
กลไกปรับตัวเองที่ฉลาดที่สุดตัวหนึ่งของบิทคอยน์

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

  • บล็อก = ธุรกรรมหลายรายการรวมกัน ที่ต่อเข้าบล็อกเชนแล้ว
  • นักขุดหยิบธุรกรรมจาก Memory Pool มาจัดเป็น “บล็อกชั่วคราว” ก่อน แล้วค่อยแข่งกันเอาลงสมุด
  • หัวบล็อกคือใบปะหน้าตัวจิ๋ว มี 6 ช่องหลัก: เลขเวอร์ชัน, ลายนิ้วมือบล็อกก่อน, ลายนิ้วมือรวมของธุรกรรม, เวลา, เป้าหมาย และ Nonce
  • วิธีเอาบล็อกลงสมุด: แฮชหัวบล็อกให้ผลต่ำกว่าเป้าหมายที่เครือข่ายกำหนด
  • แฮชครั้งเดียวไม่ผ่าน ต้องอาศัย Nonce ที่ไล่เปลี่ยนทีละเลข แฮชใหม่ไปเรื่อย ๆ จนกว่าจะเจอ
  • ใครแก้สำเร็จก่อน บล็อกของคนนั้นลงสมุด ที่เหลือเริ่มบล็อกใหม่ทันที โดยอ้างลายนิ้วมือของบล็อกที่เพิ่งชนะ

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

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

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

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

1. หัวบล็อก (Block Header) เปรียบได้กับอะไรของบล็อก?

2. ตัวเลข Nonce ในหัวบล็อกมีไว้เพื่อวัตถุประสงค์ใด?

3. เมื่อนักขุดคนหนึ่งแก้บล็อกชั่วคราว (Candidate Block) สำเร็จ จะเกิดอะไรขึ้นต่อ?

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

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