ปัญหานายพลไบแซนไทน์คืออะไร

มือใหม่Nov 21, 2022
ปัญหานายพลไบแซนไทน์เป็นคำอธิบายสถานการณ์ของปัญหาฉันทามติแบบกระจาย
ปัญหานายพลไบแซนไทน์คืออะไร

แนะนำสกุลเงิน

ปัญหา Byzantine Generals หรือที่เรียกว่าปัญหาของนายพลสองคน ถูกเสนอในบทความของ Leslie Lambert เกี่ยวกับการยอมรับข้อผิดพลาดของการสื่อสารเครือข่ายแบบกระจายระหว่างเครื่องกับเครือข่ายแบบกระจายศูนย์ในปี 1982 ในการสื่อสารของระบบแบบกระจาย ปัญหาเฉพาะที่บางอย่างอาจทำให้คอมพิวเตอร์ส่งข้อความแสดงข้อผิดพลาดและทำลายความสอดคล้องของระบบ ดังนั้น ปัญหา Byzantine Generals จึงเป็นปัญหาของความเห็นพ้องต้องกันในการสื่อสารแบบจุดต่อจุด

ต้นทาง

ปัญหานายพลไบแซนไทน์เกิดขึ้นในยุคกลาง เนื่องจากอาณาเขตอันกว้างใหญ่ของ Byzantium การสื่อสารระหว่างกองทัพจึงต้องพึ่งพาผู้ส่งสารเท่านั้น หากมีผู้ทรยศจงใจบิดเบือนข้อมูลของผู้นำกองทัพ จะนำไปสู่แผนปฏิบัติการที่ไม่สอดคล้องกัน ส่งผลให้เกิด “ความล้มเหลวของไบแซนไทน์”

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

Byzantine Generals ปัญหาในอินเทอร์เน็ต

ปัญหา Byzantine Generals ในอินเทอร์เน็ตหมายความว่าในกระบวนการส่งช่องสัญญาณ อาจเป็นเรื่องยากสำหรับบางโหนดในการซิงโครไนซ์ข้อมูล เนื่องจากปริมาณงานที่มากเกินไปหรือการโจมตีที่เป็นอันตราย ในปี 1999 Miguel Castro และ Barbara Liskov ได้เสนอ Byzantine Fault Tolerance (BFT) พวกเขาเชื่อว่าหากสองในสามของโหนดในระบบทำงานตามปกติ ความสอดคล้องและความถูกต้องของระบบสามารถรับประกันได้ ต่อมา Satoshi Nakamoto ได้เสนอกลไกการพิสูจน์การทำงาน (PoW) และอัลกอริธึมการเข้ารหัสแบบอสมมาตรของ Bitcoin ซึ่งเป็นแนวทางใหม่สำหรับปัญหา Byzantine Generals

ความทนทานต่อความผิดพลาดของไบแซนไทน์

สมมติว่ามีนายพลและผู้ทรยศ สมมติว่า n=3, t=1 ดังนั้น A, B และ C คนใดคนหนึ่งจึงเป็นคนทรยศ ถ้า A ออกคำสั่ง [โจมตี] แต่คนทรยศ B บอก C ให้ [ถอย] ดังนั้น C จะไม่สามารถตัดสินได้ หากคนทรยศ B ส่งคำสั่ง [โจมตี] ไปยัง A และคำสั่ง [ถอย] ไปยัง C แสดงว่า A และ C ไม่สามารถบรรลุข้อตกลงได้ ดังนั้นเมื่อจำนวนผู้ทรยศมากกว่าหรือเท่ากับ 1/3 ปัญหานายพลไบแซนไทน์จึงไม่สามารถแก้ไขได้

ในทำนองเดียวกัน สมมติว่าจำนวนโหนดเครือข่ายทั้งหมดคือ N และจำนวนโหนดที่เป็นอันตรายคือ T ปัญหาจะแก้ไขได้ก็ต่อเมื่อ N>=3T+1 นั่นคือจำนวนโหนดปกติในเครือข่ายเป็นอย่างน้อย ( 2/3) N เพื่อให้แน่ใจว่าข้อมูลมีความสอดคล้องกัน ในการสื่อสารเครือข่ายที่เชื่อถือได้ Byzantine Fault Tolerance สามารถแก้ปัญหาความล้มเหลวของโหนดได้ในระดับหนึ่ง เพื่อให้ระบบบรรลุข้อตกลงร่วมกัน

กลไกพิสูจน์ผลงาน (PoW)

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

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

แฮ็กเกอร์ต้องมีพลังการประมวลผลมากกว่า 51% เพื่อทำลายความปลอดภัยของเครือข่ายหรือเผยแพร่บล็อกปลอม ค่าใช้จ่ายมากกว่าผลตอบแทนมาก ดังนั้นกลไกนี้จึงช่วยลดความเป็นไปได้ของข้อมูลเท็จและทำให้ระบบบรรลุฉันทามติได้เร็วขึ้น

อัลกอริทึมคีย์อสมมาตร

การเข้ารหัสและถอดรหัสของอัลกอริธึมคีย์อสมมาตรจำเป็นต้องมีคีย์ลับแยกกัน 2 อัน ได้แก่ คีย์สาธารณะและคีย์ส่วนตัว ซึ่งมักจะปรากฏเป็นคู่ ถ้า A ต้องการส่งข้อความถึง B A ต้องการคีย์สาธารณะของ B เพื่อเข้ารหัสข้อมูล และ B ต้องการคีย์ส่วนตัวของเขา/เธอเพื่อถอดรหัสข้อมูล หาก B ต้องการแสดงตัวตน เขา/เธอสามารถเซ็นชื่อในคีย์ส่วนตัว เขียน "ข้อความลายเซ็น" และออกอากาศได้ คนอื่นสามารถตรวจสอบตัวตนของเขา/เธอตามรหัสสาธารณะของ B

เนื่องจากไม่สามารถปลอมแปลงตัวตนและลายเซ็นได้ อัลกอริธึมคีย์อสมมาตรจึงรับประกันความเป็นส่วนตัวของการส่งข้อมูลและลายเซ็นที่เชื่อถือได้

ผู้เขียน: Jiji
นักแปล: Joy
ผู้ตรวจทาน: Hugo, Cecilia, Ashley
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย

ปัญหานายพลไบแซนไทน์คืออะไร

มือใหม่Nov 21, 2022
ปัญหานายพลไบแซนไทน์เป็นคำอธิบายสถานการณ์ของปัญหาฉันทามติแบบกระจาย
ปัญหานายพลไบแซนไทน์คืออะไร

แนะนำสกุลเงิน

ปัญหา Byzantine Generals หรือที่เรียกว่าปัญหาของนายพลสองคน ถูกเสนอในบทความของ Leslie Lambert เกี่ยวกับการยอมรับข้อผิดพลาดของการสื่อสารเครือข่ายแบบกระจายระหว่างเครื่องกับเครือข่ายแบบกระจายศูนย์ในปี 1982 ในการสื่อสารของระบบแบบกระจาย ปัญหาเฉพาะที่บางอย่างอาจทำให้คอมพิวเตอร์ส่งข้อความแสดงข้อผิดพลาดและทำลายความสอดคล้องของระบบ ดังนั้น ปัญหา Byzantine Generals จึงเป็นปัญหาของความเห็นพ้องต้องกันในการสื่อสารแบบจุดต่อจุด

ต้นทาง

ปัญหานายพลไบแซนไทน์เกิดขึ้นในยุคกลาง เนื่องจากอาณาเขตอันกว้างใหญ่ของ Byzantium การสื่อสารระหว่างกองทัพจึงต้องพึ่งพาผู้ส่งสารเท่านั้น หากมีผู้ทรยศจงใจบิดเบือนข้อมูลของผู้นำกองทัพ จะนำไปสู่แผนปฏิบัติการที่ไม่สอดคล้องกัน ส่งผลให้เกิด “ความล้มเหลวของไบแซนไทน์”

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

Byzantine Generals ปัญหาในอินเทอร์เน็ต

ปัญหา Byzantine Generals ในอินเทอร์เน็ตหมายความว่าในกระบวนการส่งช่องสัญญาณ อาจเป็นเรื่องยากสำหรับบางโหนดในการซิงโครไนซ์ข้อมูล เนื่องจากปริมาณงานที่มากเกินไปหรือการโจมตีที่เป็นอันตราย ในปี 1999 Miguel Castro และ Barbara Liskov ได้เสนอ Byzantine Fault Tolerance (BFT) พวกเขาเชื่อว่าหากสองในสามของโหนดในระบบทำงานตามปกติ ความสอดคล้องและความถูกต้องของระบบสามารถรับประกันได้ ต่อมา Satoshi Nakamoto ได้เสนอกลไกการพิสูจน์การทำงาน (PoW) และอัลกอริธึมการเข้ารหัสแบบอสมมาตรของ Bitcoin ซึ่งเป็นแนวทางใหม่สำหรับปัญหา Byzantine Generals

ความทนทานต่อความผิดพลาดของไบแซนไทน์

สมมติว่ามีนายพลและผู้ทรยศ สมมติว่า n=3, t=1 ดังนั้น A, B และ C คนใดคนหนึ่งจึงเป็นคนทรยศ ถ้า A ออกคำสั่ง [โจมตี] แต่คนทรยศ B บอก C ให้ [ถอย] ดังนั้น C จะไม่สามารถตัดสินได้ หากคนทรยศ B ส่งคำสั่ง [โจมตี] ไปยัง A และคำสั่ง [ถอย] ไปยัง C แสดงว่า A และ C ไม่สามารถบรรลุข้อตกลงได้ ดังนั้นเมื่อจำนวนผู้ทรยศมากกว่าหรือเท่ากับ 1/3 ปัญหานายพลไบแซนไทน์จึงไม่สามารถแก้ไขได้

ในทำนองเดียวกัน สมมติว่าจำนวนโหนดเครือข่ายทั้งหมดคือ N และจำนวนโหนดที่เป็นอันตรายคือ T ปัญหาจะแก้ไขได้ก็ต่อเมื่อ N>=3T+1 นั่นคือจำนวนโหนดปกติในเครือข่ายเป็นอย่างน้อย ( 2/3) N เพื่อให้แน่ใจว่าข้อมูลมีความสอดคล้องกัน ในการสื่อสารเครือข่ายที่เชื่อถือได้ Byzantine Fault Tolerance สามารถแก้ปัญหาความล้มเหลวของโหนดได้ในระดับหนึ่ง เพื่อให้ระบบบรรลุข้อตกลงร่วมกัน

กลไกพิสูจน์ผลงาน (PoW)

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

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

แฮ็กเกอร์ต้องมีพลังการประมวลผลมากกว่า 51% เพื่อทำลายความปลอดภัยของเครือข่ายหรือเผยแพร่บล็อกปลอม ค่าใช้จ่ายมากกว่าผลตอบแทนมาก ดังนั้นกลไกนี้จึงช่วยลดความเป็นไปได้ของข้อมูลเท็จและทำให้ระบบบรรลุฉันทามติได้เร็วขึ้น

อัลกอริทึมคีย์อสมมาตร

การเข้ารหัสและถอดรหัสของอัลกอริธึมคีย์อสมมาตรจำเป็นต้องมีคีย์ลับแยกกัน 2 อัน ได้แก่ คีย์สาธารณะและคีย์ส่วนตัว ซึ่งมักจะปรากฏเป็นคู่ ถ้า A ต้องการส่งข้อความถึง B A ต้องการคีย์สาธารณะของ B เพื่อเข้ารหัสข้อมูล และ B ต้องการคีย์ส่วนตัวของเขา/เธอเพื่อถอดรหัสข้อมูล หาก B ต้องการแสดงตัวตน เขา/เธอสามารถเซ็นชื่อในคีย์ส่วนตัว เขียน "ข้อความลายเซ็น" และออกอากาศได้ คนอื่นสามารถตรวจสอบตัวตนของเขา/เธอตามรหัสสาธารณะของ B

เนื่องจากไม่สามารถปลอมแปลงตัวตนและลายเซ็นได้ อัลกอริธึมคีย์อสมมาตรจึงรับประกันความเป็นส่วนตัวของการส่งข้อมูลและลายเซ็นที่เชื่อถือได้

ผู้เขียน: Jiji
นักแปล: Joy
ผู้ตรวจทาน: Hugo, Cecilia, Ashley
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย
เริ่มตอนนี้
สมัครและรับรางวัล
$100