비잔티움 장애 허용 (Byzantine Fault Tolerance)

Source

  • Evernote/Technote scraps/비잔티움 장애 허용 - 위키백과, 우리 모두의 백과사전.md

Summary

비잔티움 장애 허용(BFT)은 분산 시스템에서 임의의 장애(비잔티움 장애)가 발생하더라도 정확한 값을 전달할 수 있도록 하는 기술이다. 이는 ‘비잔티움 장군 문제’에서 유래했으며, 배신자(장애 노드)가 섞여 있더라도 충직한 지휘관들(정상 노드)이 합의에 도달할 수 있는 조건과 알고리즘을 다룬다. 비잔티움 장애는 단순한 시스템 정지뿐만 아니라 잘못된 정보 전달 등 원인을 파악하기 어려운 모든 형태의 장애를 포함한다.

Key Points

  • 정의: 비잔티움 장애(임의의 오류, 악의적 행동 포함)가 있더라도 시스템의 정확성을 보장하는 분산 시스템의 장애 허용 기법.
  • 유래: 레슬리 램포트 등이 1982년 논문에서 제시한 ‘비잔티움 장군 문제’에서 파생됨.
  • 비잔티움 장군 문제: 지리적으로 떨어진 부대 지휘관들이 전령을 통해 교신하며 공격 계획을 수립할 때, 일부 배신자가 존재하더라도 충직한 지휘관들이 동일한 계획에 합의하는 문제.
  • 비잔티움 장애의 범위: 시스템 정지, 에러 메시지 출력뿐만 아니라 잘못된 값 전달 등 예측 불가능하거나 악의적인 모든 장애 형태를 포괄함.
  • 이름의 기원: 초기 초안은 ‘알바니아 장군 문제’였으나, 정치적 민감성을 피하기 위해 ‘비잔티움 장군 문제’로 변경됨.