จัดทำขึ้นเพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน การลงทุนอาจทำให้สูญเสียเงินลงทุนได้
คำตอบโดยตรง
ฉันทามติ Nakamoto คือกระบวนการแบบ Bitcoin ซึ่งโหนดบังคับใช้กฎความถูกต้องของฉันทามติอย่างอิสระ ผู้ผลิต proof of work ต่อบล็อกโดยไม่มีรายชื่อสมาชิกที่ต้องได้รับอนุญาต บล็อกเผยแพร่ผ่านเครือข่ายแบบเพียร์ทูเพียร์ และแต่ละโหนดเลือกสาขาที่ถูกต้องซึ่งมี proof of work สะสมมากที่สุด กระบวนการนี้จัดลำดับธุรกรรมที่ถูกต้องตามมุมมองที่โหนดสังเกต แต่ไม่ทำให้ธุรกรรมผิดกลายเป็นถูก ไม่ตัดสินข้อเท็จจริงนอกบัญชี และไม่สร้าง finality แบบกำหนดแน่นอนทันที
ความถูกต้องมาก่อนการเลือกเชน สาขาที่มีส่วนหัว proof of work ธุรกรรม สคริปต์ เอาต์พุตที่ใช้แล้ว จำนวน coinbase หรือขีดจำกัดบล็อกไม่ถูกต้องจะถูกปฏิเสธ ไม่ว่าจะอ้างความสูงหรืองานเท่าใด ในบรรดาสาขาที่ผ่านกฎของโหนดและมีข้อมูลพร้อม chainwork สะสมเป็นตัวกำหนดเชนที่ใช้งาน ไม่ใช่เพียงจำนวนบล็อก ดังนั้น “เชนที่ยาวที่สุด” จึงเป็นคำย่อไม่เป็นทางการของเชนที่ถูกต้องซึ่งแสดงความพยายาม proof of work มากที่สุด
ปลายเชนที่ใช้งานเป็นสถานะชั่วคราว บล็อกที่ถูกต้องซึ่งแข่งกันอาจทำให้โหนดซื่อตรงที่เชื่อมต่อดีมีมุมมองท้องถิ่นต่างกันชั่วคราว งานเพิ่มเติมมักแก้ fork และโหนดอาจตัดสาขาหนึ่งแล้วเชื่อมอีกสาขาในการจัดเชนใหม่ จำนวนการยืนยันของธุรกรรมวัดความลึกในเชนที่ใช้งานปัจจุบันของผู้สังเกต ความลึกมากขึ้นอาจลดโอกาสไล่ทันภายใต้แบบจำลองแฮชเรตและเครือข่ายที่ระบุ แต่ไม่มีจำนวนการยืนยันที่เป็นที่สุดสากล
คำนี้ครอบคลุมมากกว่าการแฮช เหตุผลด้านความปลอดภัยยังขึ้นกับความถูกต้องของบล็อกและธุรกรรม การเผยแพร่แบบเพียร์ทูเพียร์ การยอมรับเชนถูกต้องที่มีงานมากที่สุดอย่างซื่อตรง กำลังขุดที่ใช้จริงของฝ่ายซื่อตรงเพียงพอ พฤติกรรมทางเศรษฐกิจ และผู้ใช้ที่สังเกตเครือข่ายกับซอฟต์แวร์เป้าหมายอย่างอิสระ Common prefix การเติบโตของเชน และคุณภาพเชนเป็นคุณสมบัติทางการที่พิสูจน์เฉพาะในแบบจำลองที่ระบุ ไม่ใช่ข้อเท็จจริงไร้เงื่อนไขของทุกเชน proof of work ที่ใช้งานจริง
วิธีวิเคราะห์ฉันทามติ Nakamoto
- กำหนดตัวตนและขอบเขตสังเกต บันทึก
chain,network,genesis hash,client version, ชุดกฎฉันทามติ checkpoint หรือการตั้งค่า assume-valid ผู้สังเกต เพียร์ และเวลา เก็บbestblockhash,heightและchainwork; สองโหนดอาจรายงานปลายต่างกันอย่างซื่อตรงระหว่างที่ข้อความยังเผยแพร่ - ตรวจความถูกต้องก่อนเปรียบเทียบงาน ตรวจการเชื่อมส่วนหัว ข้อจำกัดเวลา เป้าหมายที่ถอดรหัส proof of work ข้อผูกมัด Merkle และ witness ธุรกรรม สคริปต์ การใช้ UTXO coinbase และขีดจำกัดทรัพยากร สาขา
invalidไม่ได้สิทธิเป็นผู้สมัครเพียงเพราะอ้างความสูงหรืองานมากกว่า - สร้างต้นไม้บล็อกที่สังเกตใหม่ เชื่อมผู้สมัครแต่ละรายด้วยแฮชบล็อกก่อนหน้าไปยังบรรพบุรุษที่รู้จัก และแยกบล็อกเต็มจากส่วนหัวอย่างเดียว กระทบยอดสถานะ
active,valid-fork,valid-headers,headers-onlyและinvalidผ่านอินเทอร์เฟซอย่างgetchaintips; อย่าเรียกทุกปลายที่เห็นว่าเชนคู่แข่งที่ถูกต้อง - คำนวณงานสะสมใหม่ ถอดรหัสเป้าหมาย
nBitsของแต่ละส่วนหัวและคำนวณงานตามกฎจำนวนเต็มของการใช้งาน โดยแนวคิดคือwork = floor(2^256 / (target + 1))รวมตามสายบรรพบุรุษและเปรียบเทียบสาขาที่ถูกต้องจากบรรพบุรุษร่วม ความสูง แฮชเรตประมาณ และป้ายพูลไม่ทดแทน chainwork - ติดตามการเลือกและการจัดเชนใหม่ ทำซ้ำการเลือกผู้สมัครที่มีงานมากที่สุด ลำดับท้องถิ่นเมื่องานเท่ากัน และสถานะการมาถึง หากมีสาขาที่ถูกต้องดีกว่า ให้หาจุด fork ตัดส่วนต่อท้ายเก่า เชื่อมส่วนใหม่ อัปเดต
UTXO setและกระทบยอดธุรกรรมกับmempoolและบันทึกแอปพลิเคชัน - กำหนดนโยบายยืนยันตามความเสี่ยง คำนวณ
confirmations = tip_height - block_height + 1เฉพาะบล็อกในเชนที่ใช้งานปัจจุบัน ระบุมูลค่าเสี่ยง ความย้อนกลับได้ ส่วนแบ่งผู้โจมตี การเผยแพร่ ความเสี่ยง eclipse อัตรา stale ที่สังเกต ความลึก และแผนตอบสนอง หกครั้งเป็นธรรมเนียม ไม่ใช่เกณฑ์ finality ของโปรโตคอล - ทดสอบเหตุผลด้านความปลอดภัยทั้งหมดภายใต้ความเครียด ทดสอบการแบ่งเครือข่าย latency การซ่อนบล็อก selfish mining การโจมตี eclipse การกระจุกของพูลและฮาร์ดแวร์ แฮชเรตเปลี่ยนฉับพลัน แรงจูงใจค่าธรรมเนียมและเงินอุดหนุน client แตกต่าง การจัดเชนใหม่ลึก และการกู้คืน เชื่อมข้อสรุปกับ common prefix การเติบโต คุณภาพ persistence และ liveness เฉพาะภายใต้สมมติฐานแบบจำลองที่อ้าง
ผลลัพธ์คือคำอธิบายที่ทำซ้ำได้และเฉพาะผู้สังเกตว่าโหนดเลือกประวัติที่ถูกต้องใดในขณะนี้และเพราะเหตุใด กฎฉันทามติกำหนดสิทธิผู้สมัคร proof of work ทำให้ประวัติทางเลือกมีต้นทุนสูง การเผยแพร่แสดงงานแก่โหนดอื่น fork choice เลือกประวัติปัจจุบัน และนโยบายยืนยันกำหนดเวลาแอปพลิเคชันลงมือ การรวมชั้นเหล่านี้เป็น “การอนุมัติของเครือข่าย” ซ่อนเงื่อนไขที่อาจล้มเหลว
ตัวอย่างคำนวณ
1. งานที่ไม่ถูกต้องไม่ชนะ
สมมติสาขา A รายงาน valid_A = false และ chainwork_A = 1,200 units ส่วน B มี valid_B = true และ chainwork_B = 1,000 units โหนดปฏิเสธ A และเลือก B งานถูกเปรียบเทียบเฉพาะในหมู่ผู้สมัครที่รับได้ proof of work ไม่อนุญาต coinbase เกิน ลายเซ็นผิด หรือการใช้จ่ายซ้ำ
หากผู้สังเกตหนึ่งมีเพียงส่วนหัวของ A แต่อีกคนมีข้อมูลบล็อกเต็ม สถานะอาจต่างกันจนดาวน์โหลดและตรวจเสร็จ สาขาที่ส่วนหัวถูกต้องไม่ได้พิสูจน์ว่าธุรกรรมและการเปลี่ยนสถานะทั้งหมดผ่านการตรวจเต็มรูปแบบ
2. ความสูงไม่ใช่งานสะสม
ในตัวอย่างง่ายที่เป้าหมายเปลี่ยน สาขา C เพิ่มหกบล็อก บล็อกละ 100 หน่วยงาน หรือ 6 * 100 = 600 units สาขา D เพิ่มห้าบล็อก บล็อกละ 130 หน่วย หรือ 5 * 130 = 650 units หากทั้งคู่ถูกต้องและเริ่มด้วยงานเท่ากัน D คือสาขาที่มีงานมากที่สุดแม้สั้นกว่าหนึ่งบล็อก
หากปลายที่ถูกต้องสองอันมี 650 units พอดี งานเท่ากันไม่ได้บังคับให้ทุกโหนดเห็นปลายเดียวกันทันที ลำดับมาถึงและสถานะการใช้งานท้องถิ่นอาจต่างจนบล็อกถูกต้องถัดไปทำให้สาขาหนึ่งหนักกว่า มุมมองเสมอชั่วคราวไม่ใช่ finality ทั่วโลกแบบกำหนดแน่นอน
3. การยืนยันอาจถูกนำออก
ธุรกรรมอยู่ในบล็อกความสูง 100 ขณะปลายใช้งานอยู่ที่ 105 จะมี tip_height - block_height + 1 = 105 - 100 + 1 = 6 confirmations สมมติสาขาที่ถูกต้องอีกสาขาแยกหลังความสูง 99 และกลายเป็นสาขางานมากที่สุดที่ความสูง 106 โดยไม่มีธุรกรรมนี้ การจัดเชนใหม่ตัดบล็อกเก่า 100 through 105; ธุรกรรมเสียการยืนยันที่ใช้งานหกครั้ง และอาจกลับ mempool ขัดกับการใช้จ่ายอื่น หรือยังไม่ถูกใส่
แอปพลิเคชันต้องกระทบยอดแฮชบล็อกและบรรพบุรุษ ไม่ใช่เก็บเพียงเลขหก เครดิต exchange สินค้าที่ส่งแล้ว ข้อความ bridge และการชำระอนุพันธ์อาจย้อนกลับทางเศรษฐกิจไม่ได้ แม้ประวัติเชนต้นทางยังเปลี่ยนได้
4. โอกาสไล่ทันขึ้นกับแบบจำลอง
ในแบบจำลองตัวอย่างของ whitepaper Bitcoin ให้ส่วนแบ่งแฮชผู้โจมตีเป็น q = 0.10 ส่วนซื่อตรง p = 0.90 และระยะนำเชนซื่อตรง z = 6 การประมาณ Poisson ให้ lambda = z * (q / p) = 0.6666667 และ P(catch up) = 0.0002428027 = 0.02428027% เมื่อ q = 0.30 ที่ความลึกเท่ากัน ผลเพิ่มเป็น P(catch up) = 0.1321111687 = 13.21111687%
ตัวเลขเหล่านี้ไม่ใช่การรับประกัน Bitcoin ปัจจุบัน การคำนวณสมมติการลองแฮชอิสระคงที่และเงื่อนไขแข่งในแบบจำลอง โดยไม่รวมการแยก eclipse ความได้เปรียบการเผยแพร่ กลยุทธ์ selfish ปฏิกิริยาราคาและการเช่า บั๊ก และการตอบสนองแอปพลิเคชัน นโยบายควรเปิดเผยแบบจำลองและทดสอบสภาพแย่กว่า ไม่ใช่อ้างเพียงหกการยืนยัน
ความเสี่ยงและข้อผิดพลาดในการตรวจทาน
ข้อผิดพลาดด้านโปรโตคอลและการวัด
- เปรียบเทียบงานก่อนตรวจส่วนหัว ตัวบล็อก และบรรพบุรุษอย่างอิสระ
- เรียกสาขาสูงสุดหรือเห็นก่อนว่าชนะโดยไม่คำนวณ chainwork สะสม
- ใช้จำนวนบล็อก แฮชเรตป้ายชื่อ ส่วนแบ่งพูล หรือป้าย explorer แทน chainwork
- ปะปน mainnet, testnet, signet, fork, รุ่น client, checkpoint หรืออัตลักษณ์ genesis
- ถือข้อมูลส่วนหัวอย่างเดียว ไม่พร้อมใช้ หรือ optimistic เป็นประวัติที่ตรวจเต็มแล้ว
- ละการถอดเป้าหมาย เลขคณิตจำนวนเต็ม ลิงก์แฮชก่อนหน้า หรือบรรพบุรุษร่วม
- ถือ RPC หรือ explorer หนึ่งแห่งเป็นมุมมองทั่วโลกโดยไม่มีแฮช ความสูง เวลา และบริบทเพียร์
ข้อผิดพลาดด้านเครือข่าย แรงจูงใจ และการควบคุม
- สมมติการเผยแพร่ทันทีหรือลำดับธุรกรรมและบล็อกเหมือนกันทุกโหนด
- ถือการเสมองานเป็นสถานะทั่วโลกหนึ่งเดียว ไม่ใช่มุมมองท้องถิ่นชั่วคราว
- ละบล็อก stale latency การซ่อน selfish mining และความได้เปรียบการเผยแพร่
- อนุมานนักขุดอิสระจากชื่อพูล หรือกรรมสิทธิ์ฮาร์ดแวร์จากส่วนแบ่งพูล
- ละการกระจุกของพูล เฟิร์มแวร์ ผู้ผลิต โฮสติ้ง พลังงาน ภูมิศาสตร์ และเครือข่าย
- ถือรางวัลเป็นหลักฐานว่าการต่ออย่างซื่อตรงเหมาะที่สุดสำหรับทุกคนเสมอ
- ละความเสี่ยง eclipse การแบ่ง Sybil การวางยาพิษเพียร์ DoS และการควบคุมเวลา
ข้อผิดพลาดด้านการชำระและความปลอดภัย
- เรียกการยืนยันว่า finality ของโปรโตคอล หรือรับประกันว่าหกครั้งนำออกไม่ได้
- ใช้จำนวนเดียวกับทุกมูลค่า คู่สัญญา ความย้อนกลับได้ และแบบจำลองภัย
- เปลี่ยนตัวอย่างความน่าจะเป็นใน whitepaper เป็นโอกาสโจมตีที่วัดได้วันนี้
- กล่าวว่าแฮชส่วนใหญ่ปลอมลายเซ็น ยึดเหรียญใดก็ได้ หรือยืนยันเงินเฟ้อผิดได้
- กล่าวว่าแฮชส่วนน้อยเบี่ยงเบนอย่างมีกำไรหรือทำ reorganization และเซ็นเซอร์ไม่ได้เลย
- เทียบปลายงานมากที่สุดกับข้อเท็จจริงภายนอก กรรมสิทธิ์กฎหมาย หรือการชำระของแอป
ความเข้าใจผิดที่พบบ่อย
- เชนที่ยาวที่สุดมีบล็อกมากที่สุดเสมอ โหนด Bitcoin เลือกเชนถูกต้องที่มีงานสะสมมากที่สุด ความสูงอาจเป็นตัวแทนที่ไม่ดีเมื่อเป้าหมายต่างกัน
- นักขุดกำหนดกฎโปรโตคอลที่ถูกต้อง นักขุดเสนอ block แต่ full node แต่ละรายบังคับใช้กฎฉันทามติที่ตั้งไว้เอง
- หกการยืนยันสร้าง finality สมบูรณ์ หกเป็นธรรมเนียมแอป ความเสี่ยงขึ้นกับแบบจำลอง ความลึก ผู้โจมตี การเผยแพร่ และความสมบูรณ์การสังเกต
- ผู้โจมตี 51% ใช้เหรียญของใครก็ได้ พลังแฮชอาจสนับสนุนการจัดเชนใหม่ ใช้จ่ายซ้ำ และเซ็นเซอร์ แต่ไม่ให้ลายเซ็นคีย์ส่วนตัวของผู้อื่นหรือทำให้โหนดเดิมรับเงินเฟ้อผิด
- แฮชเรตรวมสูงพิสูจน์การกระจายศูนย์และความปลอดภัย การควบคุมจริง การมองเห็นเครือข่าย การเข้าถึงฮาร์ดแวร์ การประสานพูล ความหลากหลาย client แรงจูงใจ และระยะโจมตีก็สำคัญ
หัวข้อที่เกี่ยวข้อง
แหล่งข้อมูล
- Blockchain Technology Overview - NIST (เข้าถึง: 2026-08-19)
- Bitcoin: A Peer-to-Peer Electronic Cash System - Bitcoin.org (เข้าถึง: 2026-08-19)
- Bitcoin Developer Guide: Block Chain - Bitcoin Project (เข้าถึง: 2026-08-19)
- Bitcoin Core RPC: getchaintips - Bitcoin Project (เข้าถึง: 2026-08-19)
- Bitcoin Core: validation.cpp - Bitcoin Core (เข้าถึง: 2026-08-19)
- The Bitcoin Backbone Protocol: Analysis and Applications - IACR Cryptology ePrint Archive (เข้าถึง: 2026-08-19)
- Majority Is Not Enough: Bitcoin Mining Is Vulnerable - Cornell University (เข้าถึง: 2026-08-19)
- Eclipse Attacks on Bitcoin’s Peer-to-Peer Network - USENIX Association (เข้าถึง: 2026-08-19)