อภิธานศัพท์ · การขุด

Nonce

โดย ทีม CloudMineCryptoอัปเดตเมื่อ เรียกอีกอย่างว่า number used once

คำจำกัดความ

nonce คือเลข 32-บิตในส่วนหัวบล็อก Bitcoin ที่นักขุดเปลี่ยนทุกครั้งที่ลองหาบล็อกที่ถูกต้อง nonce ใหม่แต่ละค่าจะให้แฮชที่แตกต่างกันโดยสิ้นเชิง นักขุดจึงลอง nonce เพื่อสุ่มหาคำตอบ

อยู่ในอภิธานศัพท์การขุด Bitcoin มีคำศัพท์ 88 คำ อธิบายด้วยภาษาง่าย ๆ

nonce ที่เป็นไปได้ทั้งหมด

4,294,967,296

ค่าที่เป็นไปได้ ตั้งแต่ 0 ถึง 4,294,967,295 (32 บิต)

ทั้งเครือข่าย Bitcoin ลองค่าทั้งหมดนี้ประมาณ 223 พันล้านครั้งต่อวินาที.ค่าประมาณจาก hashrate ของเครือข่ายแบบสด อัปเดตทุกชั่วโมง

นักขุดใช้ nonce อย่างไร?

นักขุดสร้างส่วนหัวบล็อก กำหนด nonce เป็น 0 แล้วแฮชข้อมูลนั้น ถ้าแฮชสูงกว่าค่าเป้าหมาย ก็เปลี่ยน nonce เป็น 1 แล้วลองอีกครั้ง จากนั้นลอง 2 ต่อไปเรื่อย ๆ ชื่อนี้ย่อมาจาก “number used once” หรือ “หมายเลขที่ใช้ครั้งเดียว”

ไม่มี nonce ตัวไหนดีกว่าตัวอื่น คาดเดาแฮชไม่ได้ ดังนั้นทุกครั้งที่ลองจึงมีโอกาสชนะเพียงน้อยนิดเท่ากัน นี่คือสิ่งที่ทำให้การขุดยุติธรรม: ยิ่งลองได้มากครั้งต่อวินาที ก็ยิ่งมีโอกาสมากขึ้น และไม่มีอย่างอื่นช่วยได้

จะเกิดอะไรขึ้นเมื่อ nonce หมด?

ข้อมูลขนาด 4 ไบต์เก็บค่าได้ 4,294,967,296 ค่า เครื่องรุ่นใหม่ลองครบทุกค่าได้ในเวลาไม่ถึงหนึ่งในพันวินาที นักขุดจึงเปลี่ยนข้อมูลอย่างอื่นในบล็อก แล้วเริ่มลอง nonce ใหม่

ลูปของนักขุด

  1. 01

    ลองทุก nonce

    0, 1, 2 และต่อไปจนถึง 4,294,967,295 นี่คือค่าทั้งหมดที่ 4 ไบต์เก็บได้

  2. 02

    หมดลงอย่างรวดเร็ว

    เครื่องเดียวที่มีกำลังขุด 100 TH/s ใช้เวลาประมาณ 43 ในล้านวินาทีในการลองครบทั้งหมด

  3. 03

    เปลี่ยน extra nonce

    นักขุดแก้ไขช่องข้อมูลสำรองในธุรกรรมรับรางวัลของตัวเอง (coinbase)

  4. 04

    Merkle root ใหม่

    ธุรกรรมนั้นเปลี่ยนไป ทำให้ merkle root เปลี่ยน และ nonce ทุกค่าก็สร้างแฮชใหม่ได้อีกครั้ง

จากนั้นกลับไปที่ขั้นตอน 1 นักขุดยังปรับเวลาเล็กน้อยได้ ซึ่งจะเปลี่ยนเฮดเดอร์ด้วย

โดยทั่วไปจะใช้ extra nonce ซึ่งเป็นช่องข้อมูลสำรองในธุรกรรม coinbase การเปลี่ยนค่านี้จะเปลี่ยน Merkle root ทำให้ได้ส่วนหัวบล็อกชุดใหม่ทั้งหมดให้ลอง นักขุดยังปรับเวลาเล็กน้อยได้ และในเครื่องจำนวนมากที่ใช้กันในปัจจุบัน ก็ปรับบิตบางส่วนของช่องข้อมูลเวอร์ชันได้ด้วย

แหล่งข้อมูล

  1. Nonce · Bitcoin Wiki
  2. อัลกอริทึมแฮชบล็อก · Bitcoin Wiki
  3. ข้อมูลอ้างอิงเกี่ยวกับบล็อกเชน: ส่วนหัวบล็อก, Merkle tree, เป้าหมาย · เอกสารนักพัฒนา Bitcoin

ตัวเลขเรียลไทม์ในหน้านี้มาจาก API ของ CloudMineCrypto และข้อมูลบล็อกเชนสาธารณะ ซึ่งอัปเดตเป็นประจำและมีป้ายกำกับกำกับไว้ ใช้เพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำทางการเงิน

มาดูกันว่าการขุดเกิดขึ้นได้อย่างไร

Claim a free 8-hour mining plan in the CloudMineCrypto app and watch your estimated BTC tick up from live network data. Withdraw to your own wallet, Lightning included. Rewards are estimates.