Difficulty Level คืออะไร?
Difficulty Level คือหน้าปรับของเครือข่าย proof of work ที่ใช้ตัดสินว่าการหาฮัชของ block ที่ถูกต้องยากแค่ไหน มันทำให้บล็อกใหม่มาถึงตามกำหนดอย่างสม่ำเสมอ แม้จะมีผู้ขุดมากหรือน้อยลง ลองจินตนาการถึงลู่วิ่งที่เอนขึ้นเมื่อผู้วิ่งเหยียดตัวขึ้นและผ่อนลงเมื่อห้องออกกำลังกายคึกคัก.
ระดับ Difficulty Level ที่สูงขึ้นทำให้การยืนยันธุรกรรมช้าลง ไม่ใช่แบบนั้นทั้งหมด เครือข่ายปรับตัวให้อยู่ใกล้เป้าหมาย Block Time Target เพื่อให้จังหวะการยืนยันเฉลี่ยคงที่
วิธีที่ Difficulty Level ทำงาน
นี่คือการเล่นแบบทีละขั้น โดยไม่มีศัพท์เทคนิค แบบสั้นก่อน ตามด้วยรอบสั้นเพื่อให้เห็นการทำงานจริง
- Step 1: ธุรกรรมสะสมใน mempool และ miners แข่งขันกันแพ็กพวกมัน
- Step 2: แต่ละ miner ลอง nonce แบบสุ่มเพื่อหาฮัชที่ต่ำกว่าเป้าหมาย หาก Hash Rate รวมมากขึ้น บล็อกจะมาด้วยความเร็วเกินไปหากไม่มีการปรับ
- Step 3: เมื่อพบ บล็อก ที่ถูกต้อง มันถูกกระจายและเพิ่มเข้าไปในเครือข่าย
- Step 4: ในช่วงระยะเวลาปกติ โปรโตคอลตรวจสอบช่วงเวลาที่ผ่านมาและปรับ Difficulty Level เพื่อให้ตารางเวลาเสถียร
- Step 5: ทำซ้ำ หากเครื่องใหม่มารวมกันมากขึ้น Difficulty Level จะสูงขึ้น หากเครื่องออกจากระบบ มันจะอ่อนลง
นั่นคือแนวคิด เป้าหมายที่เคลื่อนไหวเพื่อให้เวลายืนยันคงที่
ทำไม Difficulty Level จึงสำคัญ
คุณใส่ใจเพราะมันส่งผลต่อจังหวะ ความมั่นคง และเศรษฐศาสตร์ของ miner และยังปรากฏบนแผงควบคุมที่จริงจังทุกแผง
- ประโยชน์: การออกจ่ายและจังหวะการยืนยันที่คาดเดาได้ ช่วยให้ wallets, exchanges และผู้ใช้ประสานงานกัน
- มุมมอง: ยกระดับการป้องกันด้วยการเพิ่มต้นทุนในการทำงานของผู้โจมตีด้วยการเพิ่มต้นทุนการโจมตี 51% attack
- ความเกี่ยวข้อง: คุณจะเห็นมันถูกอ้างถึงในสถิติการขุด ข้อความ halving และการถกเถียงค่าธรรมเนียม
เมื่อดูความสามารถในการทำกำไรจากการขุด ให้ดูที่การคาดการณ์ความยากในหน้าต่างการปรับถัดไป ไม่ใช่เฉพาะวันนี้ รายได้ของคุณจะตามไปกับการตั้งค่าถัดไป
ลักษณะหลักของ Difficulty Level
คุณลักษณะส่วนบุคลิกของการตั้งค่านี้ เห็นได้ชัดๆ ดังนี้:
- Adaptive: สูงขึ้นเมื่อพลังแฮชใหม่ๆ มาร่วม และอาจลดลงเมื่อออก
- Periodic: เปลี่ยนแปลงบนช่วงเวลาที่กำหนดโดยโปรโตคอล
- Predictive: มุ่งหวังให้เวลาเฉลี่ยระหว่างบล็อกคงที่
- Protective: ทำให้การโจมตีมีค่าใช้จ่ายสูงขึ้นเมื่อมันสูงขึ้น
วิธีคำนวณ Difficulty Level?
chains ที่ใช้งาน proof of work ส่วนใหญ่กำหนด difficulty เปรียบเทียบกับ target อ้างอิง ในรูปแบบง่ายๆ คืออัตราส่วนระหว่าง target พื้นฐานกับ target ปัจจุบันที่เครือข่ายต้องการ
difficulty = target_1 / current_target ที่นี่ target_1 คือ target เมื่อ difficulty เท่ากับ 1 โปรโตคอลคำนวณ target ใหม่ตามว่าบล็อกล่าสุดใช้เวลานานแค่ไหนเมื่อเทียบกับตารางเวลา สำหรับ Bitcoin ตรวจสอบทุก 2016 บล็อกเพื่อให้กลับสู่ประมาณ 10 นาทีต่อบล็อก
Variations
ไม่ใช่ทุกค่า difficulty ที่คุณเห็นบนแดชบอร์ดหมายถึงสิ่งเดียวกัน แบบเร็วๆ เพื่อทำความเข้าใจ:
- Network: ความยากทางการที่กำหนดเป้าหมายการค้นหาบล็อก
- Pool: ความยากของแชร์ที่ pools ใช้ในการกำหนดขนาดของ partial proofs ที่ miner ส่ง
- Algorithm: เหรียญต่างๆ ปรับช่วงเวลาในการปรับค่าและขอบเขตเพื่อ ลดการสวิงของจังหวะเวลา
Difficulty Level สามารถลงต่ำลงได้เช่นเดียวกับขึ้น มันติดตามการ timing ไม่ใช่ hype
ตัวอย่าง
หลังจากพุ่งขึ้นของราคา เครื่องใหม่ออนไลน์ขึ้น บล็อกมาถึงเร็วกว่าที่วางแผนไว้ และในการปรับถัดไป Difficulty Level เลื่อนสูงขึ้นเพื่อให้ timing กลับมาทัน
ข้อเท็จจริงที่น่าสนใจ
Bitcoin รุ่นแรกดำเนินการที่ระดับ difficulty 1 ในปี 2009 วันนี้ตัวเลขนั้นอยู่ในระดับล้านล้าน ซึ่งเป็นการรวมพลังระหว่าง Rolex และกระทู้ Reddit
Wrap-Up
คิดว่า Difficulty Level เป็นเทอร์โมสแตทเครือข่ายที่รักษา timing ให้เสถียณะ ในขณะที่ miners แข่งกันราวกับเป็นวันแข่งขัน