﻿---
title: "การปรับความยากของ Bitcoin: ค่าเป้าหมาย การคำนวณใหม่ และขีดจำกัด"
description: "Bitcoin คำนวณเกณฑ์ Proof of Work ใหม่ทุก 2,016 บล็อกเพื่อผลักช่วงเวลาสร้างบล็อกเฉลี่ยระยะยาวให้เข้าใกล้สิบนาที ควรวิเคราะห์ค่าเป้าหมาย การเข้ารหัสแบบกะทัดรัด หน้าต่างเวลา ขีดจำกัด กฎเครือข่าย และผลลัพธ์เชิงความน่าจะเป็นแยกจากกัน"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# การปรับความยากของ Bitcoin: ค่าเป้าหมาย การคำนวณใหม่ และขีดจำกัด

> จัดทำขึ้นเพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน การลงทุนอาจทำให้สูญเสียเงินลงทุนได้

<a id="answer"></a>

## คำตอบโดยตรง

การปรับความยากของ Bitcoin เป็นกฎฉันทามติแบบกำหนดแน่นอนที่เปลี่ยนค่าแฮช Proof of Work สูงสุดซึ่งยอมรับได้ หรือ `target` เป็นระยะ เพื่อผลักช่วงเวลาสร้างบล็อกเฉลี่ยระยะยาวให้เข้าใกล้สิบนาทีเมื่ออัตราแฮชที่ทำงานเปลี่ยนไป บน mainnet ค่าเป้าหมายมักคงที่ตลอด 2,016 บล็อกแล้วจึงคำนวณใหม่สำหรับรอบถัดไป โหนดตรวจสอบทุกโหนดอนุมานค่าเป้าหมายบังคับเดียวกันจากส่วนหัวก่อนหน้า นักขุดไม่ได้ลงคะแนนและตัวสำรวจบล็อกไม่ได้เป็นผู้กำหนด

Proof of Work ของส่วนหัวจะถูกต้องต่อเมื่อแฮชซึ่งตีความเป็นจำนวนเต็มน้อยกว่าหรือเท่ากับค่าเป้าหมายที่เข้ารหัสในช่อง `nBits` ขนาด 32 บิต ค่าเป้าหมายที่เล็กลงยอมรับแฮชน้อยลง จึงต้องลองโดยคาดหมายมากขึ้น ตามธรรมเนียม ความยากเป็นจำนวนสัมพัทธ์ที่แปรผกผันกับค่าเป้าหมาย:

`D = T₁ / T`

ในที่นี้ `T` คือค่าเป้าหมายปัจจุบัน และ `T₁` คือค่าเป้าหมายอ้างอิงสำหรับความยาก 1 ดังนั้นค่าเป้าหมายกับความยากจึงเคลื่อนไหวคนละทิศ ทั้งสองค่าไม่ได้วัดจำนวนเครื่อง พลังงาน ตัวตนนักขุด หรืออัตราแฮชที่สังเกตได้โดยตรง

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

การปรับความยากมีผลต่อจังหวะเวลาของเหตุการณ์ตามความสูง รวมถึงการลดเงินอุดหนุน แต่ไม่ได้กำหนดจำนวนเงินอุดหนุน ช่วง 210,000 บล็อก หรือกฎอุปทานสุดท้าย และไม่ได้เลือกเชนมาตรฐานด้วยตัวเอง กฎเลือกฟอร์กของ Bitcoin เปรียบเทียบ chainwork สะสมหลังตรวจสอบส่วนหัวและบล็อกแล้ว ความยากของบล็อกเดียวไม่ใช่งานสะสม

<a id="mechanism"></a>

## วิธีวิเคราะห์การคำนวณใหม่

1. **กำหนดเครือข่ายและชุดกฎ** Mainnet, testnet เดิม, Testnet4, signet และ regtest ไม่ได้ใช้ข้อยกเว้นเหมือนกันทั้งหมด บันทึกเชน ชุดกฎซอฟต์แวร์ ความสูงผู้สมัคร และสถานะการเปิดใช้การคำนวณใหม่หรือบล็อกความยากต่ำสุดพิเศษ
2. **ถอดรหัสค่าเป้าหมายที่อ้าง** ขยายค่า `nBits` แบบกะทัดรัดของส่วนหัวผู้สมัครเป็นค่าเป้าหมาย `T` ปฏิเสธค่าเป้าหมายที่เป็นลบ ศูนย์ ล้น หรือสูงกว่า `powLimit` แล้วกำหนดให้แฮชส่วนหัวต้องเป็น `≤ T`
3. **หาขอบรอบการปรับ** บน mainnet ต้องใช้ค่าเป้าหมายใหม่เมื่อความสูงผู้สมัครหารด้วย 2,016 ลงตัว ที่ความสูงอื่น `nBits` ของบล็อกก่อนหน้าต้องคงเดิม
4. **เลือกหน้าต่าง timestamp** ที่ขอบ mainnet Bitcoin Core นำ timestamp ของบล็อกแรกในรอบก่อนหน้าซึ่งมี 2,016 บล็อกไปลบออกจาก timestamp ของบล็อกสุดท้าย ปลายทั้งสองครอบคลุม 2,016 บล็อกแต่มีช่วงระหว่างบล็อกเพียง 2,015 ช่วง ระยะเป้าหมายตามชื่อยังคงเป็น `2,016 × 600 = 1,209,600` วินาที
5. **จำกัดเวลาที่ผ่านไป** กำหนด `t = clamp(t_actual, 302,400, 4,838,400)` วินาที ตั้งแต่หนึ่งในสี่ถึงสี่เท่าของ 14 วันตามชื่อ Timestamp ในส่วนหัวเป็นช่องฉันทามติที่นักขุดให้มาและอยู่ภายใต้ข้อจำกัดความถูกต้องอื่น ไม่ใช่เวลาที่โหนดได้รับอย่างแม่นยำ
6. **คำนวณและเข้ารหัสค่าเป้าหมายใหม่** ตามกฎ mainnet ปัจจุบัน คำนวณจำนวนเต็ม `T_new = min(powLimit, T_old × t / 1,209,600)` แล้วเข้ารหัสผลแบบกะทัดรัดลง `nBits` การหารจำนวนเต็มและการปัดเศษรูปแบบกะทัดรัดอาจทำให้อัตราส่วนที่แสดงต่างจากเลขทศนิยมอุดมคติเล็กน้อย
7. **ตีความผลเชิงความน่าจะเป็น** โดยประมาณ `D_new / D_old = T_old / T_new` เปรียบเทียบการปรับกับการกระจายเวลาบล็อกและอัตราแฮชที่ระบุชัดว่าเป็นค่าประมาณ และแยกออกจากข้อสรุปเรื่องรายได้ chainwork การกระจุกตัว และความเสี่ยงการยืนยัน

สูตร mainnet ใช้ค่าเป้าหมายของบล็อกสุดท้ายเป็น `T_old` ส่วน Testnet4 ต่างออกไปโดยตั้งใจ: BIP 94 อนุญาตบล็อกความยากต่ำสุดพิเศษหลัง timestamp ล่าช้าเพียงพอ ห้ามข้อยกเว้นนี้กับบล็อกแรกของรอบ และใช้ความยากจริงของบล็อกแรกเป็นฐานคำนวณ เพื่อไม่ให้ข้อยกเว้นชั่วคราวปนเปื้อนรอบถัดไป Regtest มักปิดการคำนวณใหม่ คำอธิบายกฎที่ไม่ระบุเครือข่ายจึงไม่ครบถ้วน

<a id="example"></a>

## ตัวอย่างคำนวณ

### 1. รอบตามชื่อที่ไม่เปลี่ยนแปลง

สมมติ `T_old = 10` ในหน่วยค่าเป้าหมายใดก็ได้ และระยะที่วัดได้เท่ากับ `1,209,600` วินาทีพอดี ขีดจำกัดไม่เปลี่ยนค่า:

`T_new = 10 × 1,209,600 / 1,209,600 = 10`

อัตราส่วนความยากคือ `10 / 10 = 1` ดังนั้นความยากในอุดมคติไม่เปลี่ยน นี่ไม่ได้หมายความว่าทุกบล็อกใช้เวลาสิบนาที ช่วงเร็วและช้าแบบสุ่มในหน้าต่างอาจหักล้างกัน

### 2. รอบเร็ว 12 วัน

สมมติ timestamp ปลายทั้งสองห่างกัน 12 วัน เพราะอยู่ในขีดจำกัด อัตราส่วนค่าเป้าหมายคือ `12 / 14 = 6/7` ค่าเป้าหมายใหม่ประมาณ 85.7143% ของค่าเดิม ขณะที่:

`D_new / D_old ≈ 14 / 12 = 1.166667`

ความยากในอุดมคติจึงเพิ่มประมาณ 16.67% ไม่ใช่ 14.29% เปอร์เซ็นต์การลดค่าเป้าหมายและการเพิ่มความยากไม่เท่ากันเพราะเป็นปริมาณส่วนกลับ

### 3. ขีดจำกัดสี่เท่า

หาก timestamp ปลายทั้งสองห่างเพียง 1.75 วัน การคำนวณใช้ค่าต่ำสุด 3.5 วัน ค่าเป้าหมายอาจลดเหลือประมาณหนึ่งในสี่ และความยากอาจเพิ่มประมาณสี่เท่าในการปรับ mainnet ครั้งเดียว

หาก timestamp ครอบคลุม 70 วัน การคำนวณใช้ค่าสูงสุด 56 วัน ค่าเป้าหมายอาจเพิ่มประมาณสี่เท่าและความยากลดเหลือประมาณหนึ่งในสี่ เว้นแต่ `powLimit` จะจำกัดค่าเป้าหมายก่อน คำว่า “ขีดจำกัดสี่เท่า” ต้องระบุว่าหมายถึงค่าเป้าหมายหรือความยากและทิศทางใด

### 4. แรงกระแทกอัตราแฮชกลางรอบ

ใช้ค่าคาดหมายแบบง่าย: 1,008 บล็อกแรกถูกขุดด้วยอัตราที่สอดคล้องกับช่วงสิบนาทีและใช้เวลาประมาณเจ็ดวัน จากนั้นอัตราแฮชหายไป 30% ขณะที่ค่าเป้าหมายคงเดิม ส่วนที่เหลือ 70% จะมีช่วงคาดหมาย `10 / 0.70 ≈ 14.286` นาที ดังนั้น 1,008 บล็อกท้ายใช้ประมาณสิบวัน และทั้งรอบประมาณ 17 วัน

เมื่อไม่คิดผลของปลายช่วง ความสุ่ม และการปัดเศษแบบกะทัดรัด ตัวคูณค่าเป้าหมายคือ `17/14 ≈ 1.214286` ส่วนตัวคูณความยากคือ `14/17 ≈ 0.823529` หรือลดลงประมาณ 17.65% ไม่ได้ลดเต็ม 30% เพราะแรงกระแทกมีผลเพียงครึ่งรอบ หากอัตราแฮชยังอยู่ที่ 70% หลังการปรับบางส่วนนี้ บล็อกยังคาดว่าจะช้ากว่าสิบนาที และรอบถัดไปจะให้ป้อนกลับเพิ่ม

<a id="risks"></a>

## ความเสี่ยงและข้อผิดพลาดในการทบทวน

### ข้อผิดพลาดด้านกฎและคณิตศาสตร์

- เรียกความยากว่าเป็นเกณฑ์เอง แทนที่จะแยกค่าเป้าหมายออกจากตัวชี้วัดสัมพัทธ์แบบผกผัน
- กลับสูตรจนรอบเร็วเพิ่มค่าเป้าหมาย หรือรอบช้าเพิ่มความยาก
- ถือว่า 2,016 บล็อกคือช่วง timestamp ที่วัด 2,016 ช่วง ทั้งที่การคำนวณ mainnet ปัจจุบันครอบคลุม 2,015 ช่วง
- ลืมขีดจำกัด 3.5 และ 56 วัน, `powLimit`, การหารจำนวนเต็ม หรือการปัดเศษ `nBits` แบบกะทัดรัด
- นำข้อความของ mainnet ไปใช้กับ Testnet4, testnet เดิม, signet, regtest หรือเชน Proof of Work อื่น
- ถือการคาดการณ์ของตัวสำรวจเป็นข้อมูลเข้าฉันทามติ แทนที่จะเป็นค่าประมาณก่อนมีบล็อกขอบ
- ใช้เวลารับในเครื่องแทน timestamp ส่วนหัวที่การคำนวณฉันทามติใช้
- สับสนความยากบล็อกปัจจุบัน งานต่อบล็อก chainwork สะสม หรือผลการเลือกฟอร์ก

### การวัดและการอนุมาน

- ถืออัตราแฮชประมาณว่าเป็นรายชื่อเครื่องออนไลน์โดยตรง แทนที่จะเป็นข้ออนุมานจากงานและการมาถึงแบบสุ่ม
- คาดการณ์การปรับจากส่วนเล็กของรอบ ซึ่งความแปรปรวนเวลาบล็อกปกติอาจมีอิทธิพลกว่า
- มองความยากที่เพิ่มเป็นหลักฐานว่าราคา รายได้นักขุด การใช้พลังงาน หรือการกระจายศูนย์เพิ่ม
- มองความยากที่ลดเป็นหลักฐานเครือข่ายล้มเหลวโดยไม่ดูงานสัมบูรณ์ การกระจุกตัว และระยะเวลา
- เปรียบเทียบตัวเลขความยากข้ามเชนโดยไม่ปรับฟังก์ชันแฮช ค่าเป้าหมายอ้างอิง และกฎการปรับให้เทียบกัน
- อธิบายสิบนาทีว่าเป็นกำหนดเส้นตาย การรับประกันบริการ หรือเวลายืนยันคงที่
- อนุมานกำไรนักขุดโดยไม่ดูรางวัลบล็อก ค่าธรรมเนียม uptime เงื่อนไขพูล การป้องกันความเสี่ยง ไฟฟ้า เงินทุน และประสิทธิภาพ

### ความปลอดภัยและการดำเนินงาน

- ถือการคำนวณใหม่เป็นการป้องกันทันทีต่อการไหลเข้าหรือออกของอัตราแฮชอย่างฉับพลันในรอบปัจจุบัน
- สมมติว่าความยากต่ำลงเพิ่มความจุบล็อกหรือล้างธุรกรรมค้างทันที
- เลือกนโยบายยืนยันจากความยากอย่างเดียวโดยไม่ดูงานสะสม ความสามารถในการปรับโครงสร้าง และมูลค่า
- มองข้ามแรงจูงใจบิดเบือน timestamp และมาตรการเฉพาะโปรโตคอลเมื่อประเมินกลไกการปรับ
- เปลี่ยนคณิตศาสตร์ฉันทามติ ดัชนีขอบ หรือการเข้ารหัสแบบกะทัดรัดโดยไม่มีชุดทดสอบข้ามการใช้งานและแผนเปิดใช้

<a id="misconceptions"></a>

## ความเข้าใจผิดที่พบบ่อย

- **ทุกบล็อก Bitcoin ใช้เวลาสิบนาที** สิบนาทีคือค่าเฉลี่ยเป้าหมายเมื่ออัตราแฮชสอดคล้อง การมาถึงแต่ละครั้งยังเป็นแบบสุ่ม
- **นักขุดลงคะแนนเลือกความยากถัดไป** โหนดตรวจสอบคำนวณ `nBits` ที่อนุญาตเอง บล็อกที่อ้างค่าอื่นไม่ถูกต้อง
- **ค่าเป้าหมายเล็กลง 20% หมายถึงความยากสูงขึ้น 20%** ความสัมพันธ์เป็นผกผัน: ตัวคูณค่าเป้าหมาย 0.8 หมายถึงตัวคูณความยาก 1/0.8 = 1.25 หรือสูงขึ้น 25%
- **การปรับวัดอัตราแฮชโดยตรง** มันตอบสนองต่อการผลิตบล็อกที่มี timestamp ตัวเลขอัตราแฮชทุกค่าคือค่าประมาณที่มีสมมติฐานด้านการสุ่มตัวอย่างและเวลา
- **ความยากคือนโยบายการเงินของ Bitcoin** การปรับช่วยรักษาจังหวะเวลาของการออกตามความสูง ส่วนกฎฉันทามติอื่นกำหนดมูลค่าเงินอุดหนุนและการลดลง

<a id="related"></a>

## หัวข้อที่เกี่ยวข้อง

- [เวลาบล็อก](/th/crypto/block-time/)
- [กฎเลือกฟอร์ก](/th/crypto/fork-choice-rule/)
- [อัตราแฮช](/th/crypto/hashrate/)
- [การขุด](/th/crypto/mining/)
- [Proof of Work](/th/crypto/proof-of-work/)

<a id="sources"></a>

## แหล่งข้อมูล

- [Bitcoin: A Peer-to-Peer Electronic Cash System](https://bitcoin.org/bitcoin.pdf) - Bitcoin.org (เข้าถึงเมื่อ: 2026-08-19)
- [Bitcoin Core: Proof-of-Work Calculations](https://github.com/bitcoin/bitcoin/blob/master/src/pow.cpp) - Bitcoin Core (เข้าถึงเมื่อ: 2026-08-19)
- [Bitcoin Core: Network Consensus Parameters](https://github.com/bitcoin/bitcoin/blob/master/src/kernel/chainparams.cpp) - Bitcoin Core (เข้าถึงเมื่อ: 2026-08-19)
- [Bitcoin Core: Consensus Parameter Definitions](https://github.com/bitcoin/bitcoin/blob/master/src/consensus/params.h) - Bitcoin Core (เข้าถึงเมื่อ: 2026-08-19)
- [Bitcoin Developer Guide: Block Chain](https://developer.bitcoin.org/devguide/block_chain.html) - Bitcoin Project (เข้าถึงเมื่อ: 2026-08-19)
- [Bitcoin Developer Reference: Block Headers](https://developer.bitcoin.org/reference/block_chain.html) - Bitcoin Project (เข้าถึงเมื่อ: 2026-08-19)
- [BIP 94: Testnet 4](https://bips.dev/94/) - Bitcoin Improvement Proposals (เข้าถึงเมื่อ: 2026-08-19)
- [Bitcoin Core RPC: getblockheader](https://developer.bitcoin.org/reference/rpc/getblockheader.html) - Bitcoin Project (เข้าถึงเมื่อ: 2026-08-19)

Source: https://wiki.fcontext.com/th/crypto/difficulty-adjustment/index.mdx
