ความยากในการขุดบิตคอยน์: การปรับทุก 2,016 บล็อกทำงานอย่างไร
บิตคอยน์ได้รับการออกแบบมาเพื่อไม่ให้เหล่านักขุดเร่งความเร็วของเครือข่ายได้ หากพรุ่งนี้มีเครื่องขุดเข้าร่วมเพิ่มขึ้นเป็นสองเท่า เครือข่ายก็ยังคงตั้งเป้าให้พบบล็อกโดยเฉลี่ยทุกประมาณสิบนาที ความยากคือกลไกที่ช่วยรักษาจังหวะนี้ไว้
บทความนี้จะอธิบายว่าความยากใช้วัดอะไร เกี่ยวข้องกับค่าเป้าหมายอย่างไร การปรับทุก 2,016 บล็อกทำงานอย่างไร เหตุใดจึงมีการปรับ และการเปลี่ยนแปลงหมายถึงอะไรหรือไม่ได้หมายถึงอะไร บทความนี้จะไม่ระบุตัวเลขความยากในปัจจุบันหรือคาดการณ์การปรับครั้งถัดไป เพราะทั้งสองอย่างขึ้นอยู่กับความเร็วในการพบบล็อก
ความยากในการขุดใช้วัดอะไร
Bitcoin Wiki อธิบายว่าความยากเป็นตัววัดว่าการหาแฮชที่ต่ำกว่าค่าเป้าหมายที่กำหนดนั้นยากเพียงใด การขุดไม่ได้คล้ายกับการแก้โจทย์ที่กำหนดไว้ยาว ๆ เท่าไรนัก แต่คล้ายกับการจับสลากมากกว่า แฮชแต่ละครั้งจะให้ตัวเลขสุ่มโดยประมาณ และหากตัวเลขนั้นต่ำกว่าค่าเป้าหมาย นักขุดก็จะได้บล็อก หากไม่ใช่ นักขุดจะเปลี่ยนค่า nonce แล้วลองใหม่
ดังนั้น ความยากจึงไม่ได้เกี่ยวกับความซับซ้อนของคณิตศาสตร์ แต่เกี่ยวกับจำนวนครั้งที่นักขุดต้องลองโดยเฉลี่ยก่อนจะสำเร็จ เอกสารสำหรับนักพัฒนาของบิตคอยน์กำหนดค่าความยากขั้นต่ำที่อนุญาตไว้ เรียกว่า difficulty 1 และแสดงค่าความยากปัจจุบันโดยเทียบกับค่านี้
ค่าเป้าหมายและความยาก
ค่าเป้าหมายคือจำนวน 256 บิตที่ซอฟต์แวร์บิตคอยน์ทุกตัวใช้ร่วมกัน แฮชของส่วนหัวบล็อกจะต้องมีค่าน้อยกว่าหรือเท่ากับค่าเป้าหมายนี้ บล็อกจึงจะได้รับการยอมรับ และ Bitcoin Wiki ระบุว่ายิ่งค่าเป้าหมายต่ำ การสร้างบล็อกก็ยิ่งยากขึ้น ความยากคือแนวคิดเดียวกันเมื่อมองจากอีกด้านหนึ่ง กล่าวคือ ยิ่งความยากสูง ค่าเป้าหมายก็ยิ่งต่ำ ดังที่กล่าวไว้ในบทความเกี่ยวกับแฮชเรต Bitcoin Wiki ยังให้หลักการคร่าว ๆ ว่า การพบบล็อกหนึ่งบล็อกต้องใช้แฮชโดยเฉลี่ยประมาณค่าความยากคูณด้วย 2 ยกกำลัง 32
การปรับทุก 2,016 บล็อกทำงานอย่างไร
กฎนี้นับเป็นจำนวนบล็อก ไม่ใช่จำนวนวัน ทุก ๆ 2,016 บล็อก ซึ่งจะใช้เวลาสองสัปดาห์หากพบบล็อกตรงทุกสิบนาที โหนดบิตคอยน์ทุกโหนดจะเปรียบเทียบเวลาจริงที่ใช้สร้างบล็อกเหล่านั้นกับเป้าหมายสองสัปดาห์ ตามที่ Bitcoin Wiki อธิบายไว้ จากนั้นจะปรับค่าเป้าหมายตามเปอร์เซ็นต์ความแตกต่าง หากพบบล็อกเร็วกว่าที่คาด ค่าเป้าหมายจะลดลงและการขุดจะยากขึ้น หากพบบล็อกช้ากว่าที่คาด ค่าเป้าหมายจะเพิ่มขึ้นและการขุดจะง่ายขึ้น
การปรับแต่ละครั้งจะเปลี่ยนค่าเป้าหมายได้ไม่เกิน 4 เท่าในแต่ละทิศทาง ซึ่งช่วยป้องกันไม่ให้เกิดความผันผวนครั้งใหญ่ ไม่มีใครเป็นผู้กำหนดความยาก แต่ละโหนดคำนวณค่าอย่างอิสระจากบล็อกเชนโดยใช้กฎเดียวกัน และซอฟต์แวร์ Bitcoin Core กำหนดเป้าหมายสองสัปดาห์และช่วงเวลา 2,016 บล็อกไว้
เนื่องจากใช้จำนวนบล็อกเป็นตัวกระตุ้น “สองสัปดาห์” จึงเป็นเพียงเวลาโดยประมาณ และไม่สามารถระบุวันที่ตามปฏิทินของการปรับครั้งถัดไปได้ การปรับจะเกิดขึ้นเร็วขึ้นเมื่อพบบล็อกเร็ว และช้าลงเมื่อพบบล็อกช้า
เหตุใดบิตคอยน์จึงปรับความยาก
เอกสารไวท์เปเปอร์ของบิตคอยน์อธิบายจุดประสงค์ไว้ เพื่อชดเชยความเร็วของฮาร์ดแวร์ที่เพิ่มขึ้นและความสนใจในการเปิดใช้งานโหนดที่เปลี่ยนแปลงไปตามเวลา ระบบจึงกำหนดความยากด้วยค่าเฉลี่ยเคลื่อนที่ที่ตั้งเป้าจำนวนบล็อกเฉลี่ยต่อชั่วโมง และหากสร้างบล็อกเร็วเกินไป ความยากก็จะเพิ่มขึ้น Bitcoin Wiki เสริมว่าการรักษาจังหวะให้คงที่ที่ประมาณหนึ่งบล็อกทุกสิบนาทีช่วยให้เครือข่ายมีเสถียรภาพและธุรกรรมมีความหน่วงต่ำ
จังหวะการสร้างบล็อกที่สม่ำเสมอยังช่วยให้กำหนดการออกเหรียญมีความสม่ำเสมอด้วย เงินอุดหนุนต่อบล็อกของบิตคอยน์จะลดลงครึ่งหนึ่งทุก ๆ 210,000 บล็อกตามเอกสารสำหรับนักพัฒนา ดังนั้น การรักษาจำนวนบล็อกต่อปีให้ใกล้เคียงเดิมจะทำให้กำหนดการลดลงครึ่งหนึ่งเกิดขึ้นประมาณทุกสี่ปี ไม่ว่านักขุดจะใช้ฮาร์ดแวร์แบบใดก็ตาม
การเปลี่ยนแปลงหมายถึงอะไรและไม่ได้หมายถึงอะไร
เมื่อความยากเพิ่มขึ้น แสดงว่าบล็อก 2,016 บล็อกก่อนหน้าเกิดขึ้นเร็วกว่าที่คาด ซึ่งโดยทั่วไปหมายถึงมีกำลังประมวลผลเข้าร่วมเครือข่ายมากขึ้น เมื่อความยากลดลง แสดงว่าบล็อกเหล่านั้นเกิดขึ้นช้ากว่า เนื่องจากมีการปรับเพียงครั้งเดียวต่อช่วงเวลา ความยากจึงตามแฮชเรตช้าได้ถึงหนึ่งช่วงเวลา
การเปลี่ยนแปลงนี้ไม่ได้เปลี่ยนรางวัลบล็อกหรือกำหนดการอุปทาน เพราะทั้งสองอย่างนับเป็นจำนวนบล็อก แต่จะเปลี่ยนจำนวนครั้งที่ต้องลองเพื่อหาบล็อกแต่ละบล็อก ซึ่งทำให้สัดส่วนรางวัลที่นักขุดแต่ละรายคาดว่าจะได้รับเปลี่ยนไปด้วย นี่เป็นคำอธิบายสภาวะการขุด ไม่ใช่สัญญาณบอกราคาบิตคอยน์
ข้อควรจำจาก WEEX: ตัวเลขความยากไม่ใช่การคาดการณ์ผลตอบแทน
WEEX ขอเตือนผู้ใช้ว่า ความยากและการปรับความยากใช้บอกระดับการแข่งขันในการขุด ไม่ได้บอกว่าใครจะทำกำไรได้หรือราคาจะเคลื่อนไปในทิศทางใด โปรดระมัดระวังโปรโมชันที่อ้างถึงความยากหรือ “กำลังของเครือข่าย” เพื่อรับรองผลตอบแทนที่สัญญาไว้ เนื่องจากไม่มีใครรับประกันกำไรจากการขุดได้ อย่าเปิดเผยวลีตั้งต้นหรือรหัสยืนยันให้กับใครก็ตามที่เสนอตัว “ขุด” ให้คุณ เนื้อหานี้ไม่ใช่คำแนะนำทางการเงิน
สรุป
ความยากในการขุดใช้วัดจำนวนครั้งที่ต้องลองโดยเฉลี่ยเพื่อหาบล็อกที่ถูกต้อง ทุก ๆ 2,016 บล็อก โหนดทุกโหนดจะเปรียบเทียบเวลาที่ใช้สร้างบล็อกเหล่านั้นกับเป้าหมายสองสัปดาห์ แล้วปรับค่าเป้าหมายได้สูงสุด 4 เท่า เพื่อให้พบบล็อกประมาณทุกสิบนาที ความยากตามแฮชเรตอย่างล่าช้า และไม่ได้บอกอะไรเกี่ยวกับราคา
คำถามที่พบบ่อย
1. ความยากในการขุดบิตคอยน์คืออะไร?
เป็นตัววัดว่าการหาแฮชของบล็อกที่ต่ำกว่าค่าเป้าหมายปัจจุบันนั้นยากเพียงใด ยิ่งความยากสูง นักขุดก็ยิ่งต้องลองโดยเฉลี่ยหลายครั้งขึ้นเพื่อหาบล็อกที่ถูกต้อง
2. ความยากปรับบ่อยแค่ไหน?
ทุก ๆ 2,016 บล็อก ซึ่งใช้เวลาประมาณสองสัปดาห์หากพบบล็อกทุกสิบนาที แต่การนับอิงตามจำนวนบล็อก ไม่ใช่จำนวนวัน
3. ความยากปรับตรงทุกสองสัปดาห์หรือไม่?
ไม่ ส่วนที่กำหนดตายตัวคือ 2,016 บล็อก ส่วนเวลาที่ใช้ขึ้นอยู่กับความเร็วในการพบบล็อก จึงไม่สามารถรู้วันที่จะปรับครั้งถัดไปล่วงหน้าได้
4. ความยากจะเป็นอย่างไรหากนักขุดออกจากเครือข่าย?
บล็อกจะเกิดขึ้นช้าลง และความยากจะลดลงในการปรับครั้งถัดไป การปรับแต่ละครั้งเปลี่ยนความยากได้ไม่เกิน 4 เท่า
5. ความยากที่สูงขึ้นหมายถึงราคาบิตคอยน์สูงขึ้นหรือไม่?
ไม่ ความยากอธิบายกิจกรรมการขุดและความเร็วในการพบบล็อก ไม่ใช่สัญญาณบอกราคา