ตอนที่ 10 เรารู้ว่านักขุดจะรวมธุรกรรมจาก Memory Pool มาแข่งกันลงสมุดทีละบล็อก และตอนที่ 11 เรารู้ว่าบล็อกพวกนี้ถูกต่อกันเป็นบล็อกเชนด้วยลายนิ้วมือแฮช แต่วันนี้เราจะมาผ่าดูกล่องนี้กันจริง ๆ ครับว่า ข้างใน “บล็อก” หนึ่งก้อน มีองค์ประกอบอะไรซ่อนอยู่บ้าง
📦 บล็อกคืออะไร? (นิยามแบบเข้าใจง่าย)
บล็อกคือ กลุ่มของธุรกรรมหลาย ๆ รายการ ที่ถูกมัดรวมเข้าด้วยกัน และได้รับการยืนยันนำไปต่อท้ายบล็อกเชนแล้ว แต่ก่อนที่มันจะถูกต่อเข้าไป มันต้องผ่านกระบวนการคัดเลือกและคำนวณที่น่าสนใจมาก
🧺 ขั้นแรก: จัด “บล็อกชั่วคราว” (Candidate Block)
จำได้ไหมครับว่าธุรกรรมที่เราเพิ่งกดโอนจะไม่ได้ลงสมุดทันที แต่จะไปรออยู่ใน Memory Pool ก่อน นักขุดแต่ละคนจึงมีหน้าที่หยิบธุรกรรมเหล่านี้มาจัดเรียงใส่บล็อกของตัวเองขึ้นมา เรียกว่า บล็อกชั่วคราว (Candidate Block)
บล็อกชั่วคราวนี้ยังไม่ใช่ของจริง นักขุดแต่ละคนจะจัดบล็อกของตัวเอง แล้วแข่งกันนำไปต่อท้ายบล็อกเชนให้ได้ก่อนคนอื่น
🏷️ หัวบล็อก (Block Header): ใบปะหน้ากล่องที่สำคัญที่สุด
ทุกบล็อกชั่วคราวจะมีส่วนที่เรียกว่า หัวบล็อก (Block Header) กำกับไว้เสมอ หัวบล็อกเปรียบเสมือนใบปะหน้ากล่องพัสดุ ไม่ใช่ตัวพัสดุข้างใน แต่บอกข้อมูลสำคัญเกี่ยวกับกล่องนั้น มี 6 องค์ประกอบหลัก:
- เลขเวอร์ชัน (Version): บอกว่าบล็อกนี้สร้างตามกติกาของซอฟต์แวร์รุ่นไหน
- ลายนิ้วมือของบล็อกก่อนหน้า (Previous Block Hash): บอกว่าบล็อกนี้จะต่อจากบล็อกไหน นี่คือตัวล็อกที่ทำให้บล็อกเชื่อมต่อกันเป็นสายโซ่
- ลายนิ้วมือรวมของธุรกรรม (Merkle Root): นำธุรกรรมทุกรายการในบล็อกมาแฮชรวมกันจนเหลือลายนิ้วมือเพียงชุดเดียว เพื่อรับประกันว่าไม่มีธุรกรรมไหนถูกแอบแก้
- เวลา (Timestamp): เวลาที่บล็อกนี้ถูกสร้างขึ้น
- เป้าหมาย (Difficulty Target): ตัวเลขเป้าหมายที่นักขุดต้องเอาชนะให้ได้
- Nonce (เลขใช้ครั้งเดียว): ตัวเลขสุ่มที่นักขุดสามารถเปลี่ยนค่าไปเรื่อย ๆ เพื่อให้ได้ผลแฮชใหม่ออกมา
หัวบล็อกมีขนาดเล็กมากเมื่อเทียบกับธุรกรรมทั้งหมด แต่นักขุดจะใช้เฉพาะข้อมูลในหัวบล็อกนี้เองเป็นโจทย์หลักในการแข่งขัน
🎯 เอาบล็อกลงสมุดได้ยังไง?
กติกาคือ นำข้อมูลทั้งหมดในหัวบล็อกไปเข้าเครื่องคำนวณแฮช (SHA-256) แล้วหวังว่าผลลัพธ์ที่ได้จะ “ต่ำกว่าค่าเป้าหมาย” ที่เครือข่ายกำหนดไว้
ค่าเป้าหมายนี้จะถูกปรับอัตโนมัติผ่านค่าที่เรียกว่า “ความยาก” (Difficulty) ยิ่งความยากสูง เป้าหมายยิ่งต่ำลง การจะหาผลแฮชที่ต่ำกว่าเป้าหมายจึงยิ่งยากขึ้น เปรียบเหมือนเส้นชัยที่ถูกขยับให้แคบลงเรื่อย ๆ
🎲 แล้วถ้าแฮชครั้งแรกไม่ผ่านล่ะ? รู้จักกับ Nonce
ถ้าเราแฮชข้อมูลหัวบล็อกชุดเดิมซ้ำ ผลลัพธ์ที่ได้จะออกมาเหมือนเดิมทุกครั้ง ไม่มีทางเปลี่ยนได้เลย ตรงนี้แหละครับที่ Nonce เข้ามามีบทบาทสำคัญ!
Nonce คือตัวเลขที่อนุญาตให้นักขุดปรับเปลี่ยนค่าได้อย่างอิสระ:
- เริ่มจากให้ Nonce = 0 แล้วลองแฮชดู… ผลยังไม่ผ่าน
- เปลี่ยน Nonce = 1 แล้วแฮชใหม่… ยังไม่ผ่าน
- เปลี่ยน Nonce = 2, 3, 4 … วนไปเรื่อย ๆ นับล้านล้านครั้งต่อวินาที
งานจริงของการขุดจึงไม่ใช่การคิดเลขฉลาด ๆ แต่คือ การเดาสุ่มตัวเลข Nonce แข่งกับเวลา ด้วยความเร็วของเครื่องขุดมหาศาล เพื่อหาเลขที่ทำให้ผลแฮชต่ำกว่าเป้าหมายให้เจอ
🏁 เมื่อมีคนแก้บล็อกสำเร็จ แล้วเกิดอะไรขึ้นต่อ?
วินาทีที่นักขุดคนใดคนหนึ่งเจอตัวเลข Nonce ที่ทำให้ผลแฮชต่ำกว่าเป้าหมาย บล็อกชั่วคราวของเขาก็จะ “แก้สำเร็จ”:
- ธุรกรรมทุกรายการในบล็อกนั้นจะถูกนำไปต่อท้ายสายโซ่บล็อกเชนอย่างเป็นทางการ
- นักขุดคนนั้นจะได้รับรางวัลบล็อก (Block Reward) พร้อมค่าธรรมเนียมทั้งหมดไปครอง
- นักขุดคนอื่น ๆ ทั้งโลกจะยอมรับความพ่ายแพ้ ทิ้งงานเดิม แล้วกลับไปที่ Memory Pool เพื่อจัดบล็อกชั่วคราวใบใหม่ทันที
- จุดสำคัญ: บล็อกใหม่ของทุกคนในรอบถัดไป จะต้องนำลายนิ้วมือของบล็อกที่เพิ่งชนะรอบนี้ ไปใส่เป็น “บล็อกก่อนหน้า” ในหัวบล็อกของตัวเอง
การแข่งขันรอบใหม่จึงเริ่มต้นขึ้นทันที วนลูปแบบนี้ไปตลอด 24 ชั่วโมง โดยมีผู้ชนะเกิดขึ้นเฉลี่ยทุก ๆ 10 นาที
🧠 สรุปวันนี้ จำแค่นี้
- บล็อก คือกลุ่มธุรกรรมที่ถูกบรรจุและต่อเข้ากับบล็อกเชนเรียบร้อยแล้ว
- นักขุดจะหยิบธุรกรรมจาก Memory Pool มาสร้างเป็น บล็อกชั่วคราว เพื่อแข่งกันแก้โจทย์
- หัวบล็อก (Block Header) คือใบปะหน้า มี 6 ช่องหลัก และเป็นสิ่งที่นักขุดนำมาคำนวณแฮช
- Nonce คือตัวเลขที่นักขุดเปลี่ยนค่าไปเรื่อย ๆ เพื่อสุ่มหาผลแฮชที่ต่ำกว่าเป้าหมาย
- เมื่อมีคนชนะ บล็อกจะถูกบันทึกถาวร และทุกคนจะเริ่มจัดบล็อกใหม่เพื่อแข่งรอบถัดไปทันที
🔮 ตอนหน้า:
เป้าหมายที่ว่านี้ใครเป็นคนเลื่อน? แล้วทำไมระบบต้องคุมให้บล็อกออกทุก 10 นาทีพอดี ไม่เร็วและไม่ช้าเกินไป?
ตอนหน้าเราจะมาคุยเรื่อง “ความยาก” (Difficulty) กลไกปรับสมดุลตัวเองที่อัจฉริยะที่สุดของบิทคอยน์ครับ!





