กลับไปหน้าบทความ

อ่าน 10 นาที

รอยเลื่อนไบแซนไทน์

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

รอยเลื่อนไบแซนไทน์

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

ความผิดพลาดแบบไบแซนไทน์เรียกอีกอย่างว่าปัญหาของแม่ทัพไบแซนไทน์ปัญหาข้อตกลงแบบไบแซนไทน์หรือความล้มเหลวแบบไบแซนไทน์

การทนต่อความผิดพลาดแบบไบแซนไทน์ ( BFT ) คือความสามารถในการฟื้นตัวของระบบคอมพิวเตอร์ที่ทนต่อความผิดพลาดหรือระบบที่คล้ายคลึงกัน ต่อสภาวะดังกล่าว

คำนิยาม

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

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

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

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

หากไม่มีการลงนามข้อความ ความทนทานต่อความผิดพลาดแบบไบแซนไทน์จะเกิดขึ้นได้ก็ต่อเมื่อจำนวนนายพลทั้งหมดมากกว่าสามเท่าของจำนวนนายพลที่ไม่ภักดี (ผิดพลาด) เท่านั้น อาจมีการกำหนดค่าโหวตเริ่มต้นให้กับข้อความที่หายไป ตัวอย่างเช่น ข้อความที่หายไปอาจมีค่าเป็น "null"นอกจากนี้ หากตกลงกันว่าคะแนนโหวตที่เป็น null มีจำนวนมากที่สุด ก็สามารถใช้กลยุทธ์เริ่มต้นที่กำหนดไว้ล่วงหน้าได้ (เช่น การถอยทัพ) [ 4 ]

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

ประวัติศาสตร์

ปัญหาของการบรรลุฉันทามติแบบไบแซนไทน์ได้รับการคิดค้นและกำหนดรูปแบบอย่างเป็นทางการโดยRobert Shostakซึ่งเรียกมันว่า ปัญหา ความสอดคล้องเชิงโต้ตอบงานนี้ทำในปี 1978 ในบริบทของโครงการ SIFT [ 5 ] ที่ได้รับการสนับสนุนจาก NASA ในห้องปฏิบัติการวิทยาศาสตร์คอมพิวเตอร์ที่SRI International SIFT (ย่อมาจาก Software Implemented Fault Tolerance) เป็นผลงานของ John Wensley และมีพื้นฐานมาจากแนวคิดของการใช้คอมพิวเตอร์อเนกประสงค์หลายเครื่องที่จะสื่อสารกันผ่านการส่งข้อความแบบคู่เพื่อบรรลุฉันทามติ แม้ว่าคอมพิวเตอร์บางเครื่องจะมีข้อผิดพลาดก็ตาม

ในตอนเริ่มต้นของโครงการ ยังไม่ชัดเจนว่าต้องใช้คอมพิวเตอร์ทั้งหมดกี่เครื่องเพื่อรับประกันว่าการสมรู้ร่วมคิดของ คอมพิวเตอร์ที่ผิดพลาดจำนวน nเครื่องจะไม่สามารถ "ขัดขวาง" ความพยายามของคอมพิวเตอร์ที่ทำงานได้อย่างถูกต้องเพื่อให้บรรลุฉันทามติ Shostak แสดงให้เห็นว่าต้องใช้อย่างน้อย 3n + 1 เครื่อง และคิดค้นโปรโตคอลการส่งข้อความแบบสองรอบ 3n +1ที่จะใช้งานได้สำหรับn = 1 เพื่อนร่วมงานของเขา Marshall Pease ได้ขยายอัลกอริทึมสำหรับ n > 0 ใดๆ โดยพิสูจน์ว่า 3n + 1 เป็นทั้งจำนวนที่จำเป็นและเพียงพอ ผลลัพธ์เหล่านี้ พร้อมกับการพิสูจน์ในภายหลังโดยLeslie Lamportเกี่ยวกับความเพียงพอของ 3n โดยใช้ลายเซ็นดิจิทัล ได้รับการตีพิมพ์ในบทความสำคัญเรื่องReaching Agreement in the Presence of Faults [ 6 ]ผู้เขียนได้รับรางวัลEdsger W. Dijkstra Prize ประจำปี 2005 สำหรับบทความนี้

เพื่อให้เข้าใจปัญหาความสอดคล้องเชิงโต้ตอบได้ง่ายขึ้น Lamport จึงสร้างอุปมาอุปไมยที่มีสีสันขึ้นมา โดยที่กลุ่มนายพลกองทัพวางแผนโจมตีเมือง ในเวอร์ชันดั้งเดิม เรื่องราวนี้แสดงให้เห็นว่านายพลเหล่านั้นเป็นผู้บัญชาการ กองทัพ แอลเบเนียต่อมาชื่อเรื่องถูกเปลี่ยน และในที่สุดก็ลงเอยที่ " ไบแซนไทน์ " ตามคำแนะนำของ Jack Goldberg เพื่อป้องกันการโต้แย้งที่อาจเกิดขึ้นในอนาคต[ 7 ]การกำหนดปัญหาดังกล่าว พร้อมด้วยผลลัพธ์เพิ่มเติมบางส่วน ได้ถูกนำเสนอโดยผู้เขียนกลุ่มเดียวกันในบทความปี 1982 ของพวกเขาเรื่อง "ปัญหานายพลไบแซนไทน์" [ 4 ]

การบรรเทา

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

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

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

คำว่า ความผิดพลาดและความล้มเหลว ถูกใช้ในที่นี้ตามคำจำกัดความมาตรฐาน[ 8 ]ซึ่งเดิมทีสร้างขึ้นโดยคณะกรรมการร่วมว่าด้วย "แนวคิดพื้นฐานและศัพท์เฉพาะ" ที่จัดตั้งโดย คณะกรรมการทางเทคนิคของ IEEE Computer Society ว่าด้วยการคำนวณที่เชื่อถือได้และการทนต่อความผิดพลาด และ กลุ่มงาน IFIP 10.4 ว่าด้วยการคำนวณที่เชื่อถือได้และการทนต่อความผิดพลาด[ 9 ]ดูเพิ่มเติมที่ ความน่าเชื่อถือ

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

โซลูชัน

Lamport, Shostak และ Pease ได้อธิบายวิธีแก้ปัญหาเบื้องต้นไว้หลายประการในปี พ.ศ. 2525 [ 4 ]พวกเขาเริ่มต้นด้วยการสังเกตว่าปัญหาของนายพลสามารถลดทอนลงเหลือเพียงการแก้ปัญหา "ผู้บัญชาการและนายทหารชั้นผู้น้อย" ซึ่งนายทหารชั้นผู้น้อยที่ภักดีทุกคนจะต้องปฏิบัติพร้อมกัน และการกระทำของพวกเขาจะต้องสอดคล้องกับสิ่งที่ผู้บัญชาการสั่งในกรณีที่ผู้บัญชาการภักดี

  • แนวทางแก้ไขหนึ่งพิจารณาสถานการณ์ที่อาจมีการปลอมแปลงข้อความ แต่จะยังคงมีความทนทานต่อความผิดพลาดแบบไบแซนไทน์ตราบใดที่จำนวนนายพลที่ไม่จงรักภักดีมีน้อยกว่าหนึ่งในสามของนายพลทั้งหมด ความเป็นไปไม่ได้ที่จะจัดการกับผู้ทรยศหนึ่งในสามหรือมากกว่านั้นในที่สุดก็ลดลงเหลือเพียงการพิสูจน์ว่าปัญหาผู้บัญชาการหนึ่งคนและรองผู้บัญชาการสองคนไม่สามารถแก้ไขได้หากผู้บัญชาการเป็นผู้ทรยศ เพื่อให้เห็นภาพนี้ สมมติว่าเรามีผู้บัญชาการทรยศ A และนายทหารยศร้อยโทสองคน คือ B และ C: เมื่อ A สั่งให้ B โจมตีและสั่งให้ C ถอยทัพ และ B กับ C ส่งข้อความถึงกันโดยส่งต่อข้อความของ A ทั้ง B และ C ก็ไม่สามารถระบุได้ว่าใครคือผู้ทรยศ เนื่องจากไม่ใช่ A เสมอไป—นายทหารยศร้อยโทอีกคนอาจปลอมแปลงข้อความโดยอ้างว่าเป็นของ A ก็ได้ สามารถแสดงได้ว่า ถ้าnคือจำนวนนายพลทั้งหมด และtคือจำนวนผู้ทรยศในn นั้น จะมีวิธีแก้ปัญหาได้ก็ต่อเมื่อn > 3tและการสื่อสารเป็นแบบซิงโครนัส (ความล่าช้าที่จำกัด) [ 10 ]ข้อกำหนด BFT ทั้งหมดมีดังนี้: สำหรับ ความล้มเหลวแบบไบแซนไทน์จำนวน Fจะต้องมีผู้เล่นอย่างน้อย3F +1 คน (เขตควบคุมความผิดพลาด) เส้นทางการสื่อสารอิสระ 2F + 1 เส้นทาง และรอบการสื่อสารF +1 รอบ อาจมีแบบจำลองความผิดพลาดแบบผสมผสาน ซึ่งความผิดพลาดที่ไม่เป็นอันตราย (ไม่ใช่แบบไบแซนไทน์) และความผิดพลาดแบบไบแซนไทน์อาจเกิดขึ้นพร้อมกันได้ สำหรับความผิดพลาดที่ไม่เป็นอันตรายเพิ่มเติมแต่ละครั้งที่ต้องยอมรับได้ ตัวเลขข้างต้นจะต้องเพิ่มขึ้นอีกหนึ่ง หากไม่มีรอบการสื่อสาร BFT ความผิดพลาดแบบไบแซนไทน์อาจเกิดขึ้นได้แม้ว่าจะไม่มีฮาร์ดแวร์ที่ชำรุดก็ตาม
  • วิธีแก้ปัญหาที่สองต้องใช้ลายเซ็นข้อความที่ไม่สามารถปลอมแปลงได้ลายเซ็นดิจิทัลสามารถให้ความทนทานต่อความผิดพลาดแบบไบแซนไทน์ได้ในกรณีที่มีนายพลทรยศจำนวนมาก โดยที่n > F +1 (มิฉะนั้นปัญหาจะไร้ความหมาย) โดยเฉพาะอย่างยิ่ง ผู้บัญชาการหนึ่งคนและนายทหารยศร้อยโทสองคนสามารถบรรลุฉันทามติได้ในกรณีที่มีผู้ทรยศเพียงคนเดียว เนื่องจากผู้ทรยศไม่สามารถปลอมตัวเป็นผู้อื่น ได้วิธีแก้ปัญหาที่ใช้หลักการเข้ารหัสลับอื่นๆ เช่นรหัสยืนยันข้อความ (MAC) ได้รับการพัฒนาในภายหลัง[ 11 ]
  • นอกจากนี้ ยังมีการนำเสนอรูปแบบหนึ่งของวิธีแก้ปัญหาสองวิธีแรก ซึ่งอนุญาตให้มีพฤติกรรมทนต่อความผิดพลาดแบบไบแซนไทน์ในบางสถานการณ์ที่นายพลทุกคนไม่สามารถสื่อสารกันได้โดยตรง[ 1 ]

มีระบบมากมายที่อ้างว่าเป็น BFT (Best Functional Truth) โดยไม่ตรงตามข้อกำหนดขั้นต่ำข้างต้น (เช่น บล็อกเชน) เนื่องจากมีหลักฐานทางคณิตศาสตร์ ที่พิสูจน์ ได้ว่าสิ่งนี้เป็นไปไม่ได้ การอ้างเหล่านี้จึงต้องมีข้อแม้ว่าคำจำกัดความของ BFT ของพวกเขานั้นแตกต่างจากต้นฉบับ กล่าวคือ ระบบเช่นบล็อกเชนไม่ได้รับประกันความเห็นพ้อง ระบบเหล่านี้ใช้กลไกที่ต้องใช้ทรัพยากรจำนวนมาก ซึ่งทำให้การรักษาความขัดแย้งเป็นไปได้ยากในทางปฏิบัติ

สถาปัตยกรรมระบบหลายแบบได้รับการออกแบบในช่วงประมาณปี 1980 ซึ่งใช้การทนต่อความผิดพลาดแบบไบแซนไทน์ ซึ่งรวมถึง FTMP ของ Draper [ 12 ] MMFCS ของ Honeywell [ 13 ]และ SIFT ของ SRI [ 5 ]

ในปี พ.ศ. 2542 Miguel Castro และBarbara Liskovได้นำเสนออัลกอริทึม "Practical Byzantine Fault Tolerance" (PBFT) [ 11 ]ซึ่งให้การจำลองเครื่องสถานะไบ แซนไทน์ที่มีประสิทธิภาพสูง ประมวลผลคำขอหลายพันรายการต่อวินาทีด้วยความหน่วงที่เพิ่มขึ้นในระดับต่ำกว่ามิลลิวินาที

หลังจาก PBFT มีการนำโปรโตคอล BFT หลายตัวมาใช้เพื่อปรับปรุงความทนทานและประสิทธิภาพ ตัวอย่างเช่น Q/U [ 14 ] HQ [ 15 ] Zyzzyva [ 16 ]และ ABSTRACTs [ 17 ]ได้แก้ไขปัญหาด้านประสิทธิภาพและต้นทุน ในขณะที่โปรโตคอลอื่นๆ เช่น Aardvark [ 18 ]และ RBFT [ 19 ]ได้แก้ไขปัญหาด้านความทนทาน นอกจากนี้ Adapt [ 20 ]พยายามใช้โปรโตคอล BFT ที่มีอยู่ โดยการสลับระหว่างโปรโตคอลเหล่านั้นในลักษณะที่ปรับเปลี่ยนได้ เพื่อปรับปรุงความทนทานและประสิทธิภาพของระบบเมื่อเงื่อนไขพื้นฐานเปลี่ยนแปลงไป ยิ่งไปกว่านั้น ยังมีการนำโปรโตคอล BFT มาใช้ที่ใช้ประโยชน์จากส่วนประกอบที่เชื่อถือได้เพื่อลดจำนวนสำเนา เช่น A2M-PBFT-EA [ 21 ]และ MinBFT [ 22 ]

งานวิจัยล่าสุดกล่าวถึงข้อจำกัดด้านความสามารถในการปรับขนาดของการใช้งาน BFT แบบดั้งเดิม (ซึ่งมักก่อให้เกิดความซับซ้อนในการสื่อสาร ) โดยการทำฉันทามติแบบขนาน ตัวอย่างเช่น โปรโตคอล Cerberus จะแมปข้อมูลไปยังพื้นที่สถานะขนาดใหญ่คงที่เพื่อเชื่อมโยงอินสแตนซ์ฉันทามติกับชุดธุรกรรมเฉพาะ ซึ่งช่วยให้กระบวนการ BFT ทำงานได้อย่างอิสระแบบขนาน ทำให้สามารถปรับขนาดได้แบบเชิงเส้นเมื่อเทียบกับขนาดของเครือข่าย[ 23 ]

แอปพลิเคชัน

ตัวอย่างความล้มเหลวของไบแซนไทน์ที่เกิดขึ้นหลายกรณีมีอยู่ในเอกสารวารสารสองฉบับที่เทียบเท่ากัน[ 2 ] [ 3 ]ตัวอย่างเหล่านี้และตัวอย่างอื่นๆ ได้รับการอธิบายไว้ใน หน้าเว็บ NASA DASHlink [ 24 ]

การประยุกต์ใช้ในด้านคอมพิวเตอร์

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

การใช้งานทางทหาร

ข้อผิดพลาดแบบไบแซนไทน์ถูกสังเกตพบไม่บ่อยนักและในจุดที่ไม่สม่ำเสมอระหว่างการทดสอบความทนทานของเรือดำน้ำชั้นเวอร์จิเนีย ที่สร้างขึ้นใหม่ อย่างน้อยจนถึงปี 2548 (เมื่อมีการรายงานปัญหาต่อสาธารณะ) [ 28 ]

แอปพลิเคชันคริปโตเคอร์เรนซี

เครือข่าย Bitcoinทำงานแบบขนานเพื่อสร้างบล็อกเชนด้วยหลักฐานการทำงานทำให้ระบบสามารถเอาชนะความล้มเหลวแบบไบแซนไทน์และบรรลุมุมมองโดยรวมที่สอดคล้องกันของสถานะของระบบ[ 29 ] [ 30 ] บล็อกเชน แบบพิสูจน์การถือครองบางส่วนยังใช้อัลกอริธึม BFT อีกด้วย[ 31 ]

บล็อกเชน

ความทนทานต่อความผิดพลาดแบบไบแซนไทน์เป็นแนวคิดสำคัญใน เทคโนโลยี บล็อกเชนซึ่งทำให้มั่นใจได้ว่าเครือข่ายจะยังคงทำงานต่อไปได้แม้ว่าโหนดบางโหนด[ 32 ] (ผู้เข้าร่วม) จะล้มเหลวหรือกระทำการที่เป็นอันตราย ความทนทานนี้เป็นสิ่งจำเป็นเนื่องจากบล็อกเชนเป็นระบบกระจายอำนาจที่ไม่มีหน่วยงานกลาง ทำให้จำเป็นต้องบรรลุฉันทามติระหว่างโหนด แม้ว่าบางโหนดจะพยายามขัดขวางกระบวนการก็ตาม

ปัญญาประดิษฐ์

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

การประยุกต์ใช้และตัวอย่าง

กลไกความปลอดภัย
บล็อกเชนต่างๆ ใช้กลไกฉันทามติแบบ BFT ที่หลากหลาย เช่น Practical Byzantine Fault Tolerance (PBFT), Tendermint และDelegated Proof of Stake (DPoS)เพื่อจัดการกับข้อผิดพลาดแบบไบแซนไทน์ โปรโตคอลเหล่านี้รับประกันว่าโหนดที่ซื่อสัตย์ส่วนใหญ่สามารถเห็นพ้องต้องกันในบล็อกถัดไปในห่วงโซ่ ซึ่งช่วยรักษาความปลอดภัยของเครือข่ายจากการโจมตี และป้องกันการใช้จ่ายซ้ำซ้อนและการฉ้อโกงประเภทอื่นๆ ตัวอย่างเครือข่ายที่เป็นรูปธรรม ได้แก่Hyperledger Fabric , CosmosและKleverตามลำดับ
การลดผลกระทบจากการโจมตี 51%
ในขณะที่บล็อกเชนแบบดั้งเดิม เช่น บิตคอยน์ ใช้กลไกพิสูจน์การทำงาน (PoW) ซึ่งมีความเสี่ยงต่อการโจมตีแบบ 51%แต่ระบบที่ใช้ BFT ได้รับการออกแบบมาให้ทนต่อโหนดที่ผิดพลาดหรือเป็นอันตรายได้มากถึงหนึ่งในสามโดยไม่กระทบต่อความสมบูรณ์ของเครือข่าย
ความไว้วางใจแบบกระจายอำนาจ
การทนต่อความผิดพลาดแบบไบแซนไทน์เป็นรากฐานของแบบจำลองความไว้วางใจใน เครือข่าย แบบกระจายอำนาจ แทนที่จะพึ่งพาหน่วยงานกลาง ความปลอดภัยของเครือข่ายขึ้นอยู่กับความสามารถของโหนดที่ซื่อสัตย์ในการมีจำนวนมากกว่าและเอาชนะโหนดที่เป็นอันตราย
บล็อกเชนส่วนตัวและแบบมีสิทธิ์เข้าถึง
BFT มีความสำคัญอย่างยิ่งในบล็อกเชนส่วนตัวหรือแบบมีสิทธิ์เข้าถึง ซึ่งจำเป็นต้องมีผู้เข้าร่วมที่รู้จักจำนวนจำกัดเพื่อให้บรรลุฉันทามติอย่างรวดเร็วและปลอดภัย เครือข่ายเหล่านี้มักใช้โปรโตคอล BFT เพื่อเพิ่มประสิทธิภาพและความปลอดภัย

ในด้านการบิน

ระบบอากาศยานบางระบบ เช่นระบบจัดการข้อมูลอากาศยาน Boeing 777 (ผ่าน เครือข่าย ARINC 659 SAFEbus) ระบบควบคุมการบินของ Boeing 777 และระบบควบคุมการบินของ Boeing 787 ใช้การทนต่อความผิดพลาดแบบไบแซนไทน์ เนื่องจากระบบเหล่านี้เป็นระบบแบบเรียลไทม์ โซลูชันการทนต่อความผิดพลาดแบบไบแซนไทน์จึงต้องมีความหน่วงต่ำมาก ตัวอย่างเช่น SAFEbus สามารถบรรลุการทนต่อความผิดพลาดแบบไบแซนไทน์ได้ภายในความหน่วงที่เพิ่มขึ้นในระดับไมโครวินาที[ 34 ] [ 35 ] [ 36 ]

ในระบบอวกาศ

ยานอวกาศ SpaceX Dragonคำนึงถึงความทนทานต่อความผิดพลาดแบบไบแซนไทน์ในการออกแบบ[ 37 ] ระบบ อิเล็กทรอนิกส์การบินของจรวด Ares ซึ่งปัจจุบันคือSpace Launch System (SLS) ใช้ระบบสามชั้นที่มีขั้นกลางเพื่อความทนทานต่อความผิดพลาดแบบไบแซนไทน์[ 38 ] [ 39 ]ยาน อวกาศ Orionใช้คู่ตรวจสอบตัวเองเพื่อตรวจจับและปกปิดความผิดพลาดแบบไบแซนไทน์[ 40 ]

ในระบอบประชาธิปไตยและสังคมพลเมือง

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

ดูเพิ่มเติม

แหล่งที่มา

  • Deirmentzoglou, Evangelos; Papakyriakopoulos, Georgios; Patsakis, Constantinos (2019). "การสำรวจการโจมตีระยะไกลสำหรับโปรโตคอล Proof of Stake" . IEEE Access . 7 : 28712– 28725. Bibcode : 2019IEEEA...728712D . doi : 10.1109/ACCESS.2019.2901858 . eISSN 2169-3536 . S2CID 84185792 .  
  • บาชีร์, อิมราน. "ฉันทามติบล็อกเชน" ฉันทามติบล็อกเชน - บทนำเกี่ยวกับโปรโตคอลฉันทามติแบบคลาสสิก บล็อกเชน และควอนตั ISBN 978-1-4842-8178-9เอเพรส เบิร์กลีย์ แคลิฟอร์เนีย 2022 ดอย: 10.1007/978-1-4842-8179-6
  • การทนต่อความผิดพลาดแบบไบแซนไทน์ใน RKBExplorer
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Byzantine_fault&oldid=1362230504 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ รอยเลื่อนไบแซนไทน์

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

คำนิยาม

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

ประวัติศาสตร์

ปัญหาของการบรรลุฉันทามติแบบไบแซนไทน์ได้รับการคิดค้นและกำหนดรูปแบบอย่างเป็นทางการโดย Robert Shostak ซึ่งเรียกมันว่า ปัญหา ความสอดคล้องเชิงโต้ตอบ งานนี้ทำในปี 1978 ในบริบทของโครงการ SIFT [ 5 ] ที่ได้รับการสนับสนุนจาก NASA...

การบรรเทา

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