13 ปัญหานายพลไบแซนไทน์

แปลโดย : Claude 3 Opus (Pro)

13

ปัญหานายพลไบแซนไทน์

ในโพสต์ที่อาจจะเป็นโพสต์ที่น่าสนใจที่สุดของ Satoshi เขาอธิบายว่าบล็อกเชนแก้ปัญหาในวิทยาการคอมพิวเตอร์ที่รู้จักกันในชื่อ "ความทนทานต่อความผิดพลาดแบบไบแซนไทน์" ซึ่งเป็นเวอร์ชั่นที่ทั่วไปมากขึ้นของ "ปัญหาสองนายพล" ในปัญหานี้ บุคคลสอง (หรือมากกว่า) คนจำเป็นต้องแบ่งปันข้อมูลในสภาพแวดล้อมการสื่อสารที่ไม่เชื่อถือได้ ซึ่งข้อความที่ส่งอาจสูญหายหรือถูกเปลี่ยนแปลง คำชี้แจงของปัญหานี้ปรากฏครั้งแรกในทศวรรษ 1970 ในวรรณกรรมการคำนวณเครือข่าย และในขณะนั้น ปัญหานี้ถือว่าแก้ไม่ได้ ในโพสต์นี้ Satoshi อ้างว่า Bitcoin สามารถแก้ไขได้

เพื่ออธิบายปัญหา ลองจินตนาการว่ามีนายพลสองคนต้องโจมตีเมืองพร้อมกัน ถ้าฝ่ายใดฝ่ายหนึ่งโจมตีและอีกฝ่ายไม่โจมตี กองกำลังของนายพลที่โจมตีจะถูกทำลายโดยการป้องกันของเมือง การสื่อสารระหว่างนายพลไม่น่าเชื่อถือ ผู้ส่งสารที่ส่งข้อความเกี่ยวกับเวลาโจมตีจะต้องผ่านเมืองและอาจถูกสกัดกั้นได้ นายพลคนแรกสามารถสั่งผู้ส่งสารในเวลา 9 นาฬิกาด้วยข้อความที่สื่อว่าการโจมตีจะเริ่มขึ้นในวันเดียวกัน อย่างไรก็ตาม เมื่อส่งไปแล้ว นายพลคนแรกจะไม่รู้เลยว่าผู้ส่งสารผ่านไปได้หรือไม่ ความไม่แน่นอนนี้อาจทำให้นายพลคนแรกลังเลที่จะโจมตีเนื่องจากเขาอาจโจมตีคนเดียวหากนายพลคนที่สองไม่ได้รับข้อความของเขา

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

เพื่อเรียนรู้เพิ่มเติม โปรดอ่านส่วน "การอธิบายปัญหา" ในบทความ Wikipedia ต่อไปนี้:

http://en.wikipedia.org/wiki/Two_Generals%27_Problem

ดูบทความนี้เกี่ยวกับความทนทานต่อความผิดพลาดแบบไบแซนไทน์ด้วย:

http://en.wikipedia.org/wiki/Byzantine_fault_tolerance

Re: บทความ Bitcoin P2P e-cash

Satoshi Nakamoto พฤ. 13 พ.ย. 2008 19:34:250800

James A. Donald เขียนว่า:

มันไม่เพียงพอที่ทุกคนรู้ X เราต้องการให้ทุกคนรู้ด้วยว่าทุกคนรู้ X และทุกคนรู้ว่าทุกคนรู้ว่าทุกคนรู้ X ซึ่งเหมือนในปัญหานายพลไบแซนไทน์ เป็นปัญหายากในการประมวลผลข้อมูลแบบกระจาย

โซ่พิสูจน์งานเป็นวิธีแก้ปัญหานายพลไบแซนไทน์ ผมจะลองถอดความในบริบทนั้น

นายพลไบแซนไทน์หลายคนต่างมีคอมพิวเตอร์และต้องการโจมตี wi-fi ของกษัตริย์ด้วยการบังคับรหัสผ่าน ซึ่งพวกเขาได้เรียนรู้ว่ามีความยาวตัวอักษรจำนวนหนึ่ง เมื่อพวกเขากระตุ้นเครือข่ายให้สร้างแพ็กเก็ต พวกเขาต้องแคร็กรหัสผ่านในเวลาจำกัดเพื่อบุกเข้าไปและลบล็อก มิฉะนั้นพวกเขาจะถูกค้นพบและมีปัญหา พวกเขามีพลัง CPU เพียงพอที่จะแคร็กได้เร็วพอก็ต่อเมื่อส่วนใหญ่โจมตีพร้อมกัน

พวกเขาไม่ได้สนใจเป็นพิเศษว่าจะโจมตีเมื่อไหร่ แค่ต้องการให้ตกลงร่วมกันเท่านั้น มีการตัดสินใจว่าใครก็ตามที่รู้สึกอยากจะประกาศเวลา และเวลาใดก็ตามที่ได้ยินเป็นครั้งแรกจะเป็นเวลาโจมตีอย่างเป็นทางการ ปัญหาคือเครือข่ายไม่ได้เกิดขึ้นในทันที และหากนายพลสองคนประกาศเวลาโจมตีที่ต่างกันในเวลาใกล้เคียงกัน บางคนอาจได้ยินฝ่ายหนึ่งก่อน และคนอื่น ๆ ได้ยินอีกฝ่ายก่อน

พวกเขาใช้โซ่พิสูจน์งาน (proof-of-work chain) เพื่อแก้ปัญหานี้ เมื่อแต่ละนายพลได้รับเวลาโจมตีที่เขาได้ยินเป็นคนแรก เขาจะตั้งคอมพิวเตอร์ของเขาให้แก้ปัญหาพิสูจน์งานที่ยากมากซึ่งรวมเวลาโจมตีไว้ในแฮชของมัน งานพิสูจน์นี้ยากมากจนคาดว่าจะใช้เวลา 10 นาทีกว่าที่พวกเขาทั้งหมดจะทำงานพร้อมกันก่อนที่หนึ่งในนั้นจะหาคำตอบได้ เมื่อนายพลคนใดคนหนึ่งพบพิสูจน์งาน เขาจะกระจายมันไปยังเครือข่าย และทุกคนจะเปลี่ยนการคำนวณพิสูจน์งานปัจจุบันของพวกเขาให้รวมการพิสูจน์งานนั้นไว้ในแฮชที่พวกเขากำลังทำงานอยู่ หากใครกำลังทำงานกับเวลาโจมตีที่แตกต่างกัน พวกเขาจะเปลี่ยนมาใช้เวลานี้ เพราะโซ่พิสูจน์งานของมันตอนนี้ยาวกว่า

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

โซ่พิสูจน์งานคือวิธีที่ปัญหาการซิงโครไนซ์ ฐานข้อมูลแบบกระจาย และมุมมองระดับโลกทั้งหมดที่คุณถามถึงได้รับการแก้ไข

The Cryptography Mailing List

Last updated