메뉴 닫기

비잔틴 장군 문제(Byzantine Fault Tolerance)

“비잔틴 장애 허용” 이라고 번역하면 개념에 혼란이 생기게 된다.

“비잔틴 결함 극복” 이라고 명명하는 것이 좋다.

Byzantine Fault Tolerance를 번역하면서 “허용” 이란 표현을 사용하면 원어를 찾아 보고 두번 생각해야 무슨 말인지 이해할 수 있다.

비트코인이나 블록체인에 대해 공부하다 보면 꼭 부딪히게 되는 문제가 있다.

그중 하나가 비잔틴 장군 문제(Byzantine generals problem)이다.

이 개념이 별로 어려운 것이 아님에도 불구하고 이해하기 어렵게 만드는 것은 잘못된 번역이다.

풀어서 얘기하자면,

동등한 서열의 장군들이 여러 명 있고, 이들이 서로 교신해서 공격할지 퇴각할 지를 결정에 따라야만 하는 상황을 가정한다.

  • 동등한 서열이라 함은 대장이 한명 있어서 결정을 내리고 나머지에게 명령을 하달할 수 없는 시스템을 뜻한다. 즉 다른 장군들로 부터 받은 정보를 바탕으로 공격 또는 퇴각을 결정해야 한다.
  • 배신자가 있어서 악의적인 거짓 정보가 있을 수 있다.
  • 전령이 정보를 전달하는 도중에 사고가 나서 정보를 받을 수 없는 경우가 있다.

수신된 정보를 믿을 수도 없고 믿지 않을 수도 없기 때문에 이와 같은 상황을 비잔틴 장군의 문제라고 부른다.

블록체인에서 비잔틴 장군 문제가 나오는 이유는 탈중앙화된 P2P 분산처리 시스템에서 어떠한 방법으로 보안성을 유지하는 지를 설명하기 위해서이다. 그 문제를 해결해야만 시스템의 안전성을 확보할 수 있기 때문이다.

다시 말해 탈중앙화된 분산처리 시스템은 본질적으로 위와 같은 결함을 갖고 있기 때문에 그것을 해결하는 것이 핵심 과제가 된다.

비트코인의 경우는 그것을 작업증명 방식으로 해결한 것이다.

Byzantine Fault Tolerance란 것은 위와 같은 문제가 상존함에도 불구하고, 시스템이 악의적 공격에도 충분히 강해서 다수결에 기초한 합의를 도출할 수 있는 성질을 가진다는 것을 뜻한다.

그런데 이것을 비잔틴 장애 허용이라고 번역한다면 직역한 것인데, 우리말로는 언뜻 이해하기 어렵다. Tolerance란 이겨낸다는 뜻이지 허용한다는 뜻이 아님에도 불구하고 어찌해서 그러한 번역이 나오게 되었는지는 알 수 없다.

블록체인은 비잔틴 장애를 허용하는 시스템이다.

블록체인은 비잔틴 장군 문제를 이겨내는 시스템(비잔틴 결함의 극복)이다.

어느것이 의미가 잘 통하는가?

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다