바잔타인 장군 문제란 무엇입니까?

Beginner
5m

바이잔틴 장군 문제는 컴퓨터 시스템이 한 군데 이상이 실패할 때 직면하는 도전을 설명하는 용어로 사용됩니다. 이러한 실패는 시스템 내에서 잘못된 정보가 전송되어 성능에 영향을 미칠 수 있습니다. 이 이름은 1982년 발표된 논문에서 해당 문제를 역사적 군사 시나리오에 비유한 것에서 비롯되었습니다.

적 도시를 에워싼 여러 사단을 상상해보십시오. 각 부대에는 장군이 있으며, 그들은 전령을 통해서만 의사소통할 수 있습니다. 장군들은 두 가지 요구 사항을 충족하는 계획에 동의해야 합니다: 1) 모든 신뢰할만한 장군들이 같은 계획을 따르며, 2) 소수의 나쁜 행위자들이 선의있는 자들을 해로운 계획을 따르게 할 수 없어야 합니다.

주요 도전은 장군들이 정보를 안전하게 공유하고 합의에 도달하는 것입니다. 동의하지 못하는 경우 공격이 실패할 수 있습니다. 그리고 속임수를 부리는 장군이 거짓 정보를 제공하여 다른 사람들을 위험에 빠뜨릴 때도 문제가 됩니다.

바이잔틴 장군 문제
출처: The Wolf of All Streets

블록체인과 같은 분산 컴퓨터 네트워크에서 각 참가자(노드)는 장군과 같습니다. 시스템이 올바르게 작동하려면 대부분의 노드가 동일한 지침을 따라야 합니다. 일부 노드가 실패하거나 악의적으로 변하면 바이잔틴 결함이라고 합니다. 이러한 결함에도 불구하고 잘 작동하는 시스템은 바이잔틴 결함 허용성(BFT)을 갖고 있다고 합니다.

비트코인작업 증명이라는 방법을 사용하여 이 문제를 해결합니다. 각 "장군"(노드)이 계획을 결정할 때 컴퓨터가 어려운 문제를 처리하도록 합니다. 한 노드가 해결책을 찾기를 10분 정도 기대합니다. 해결책을 찾으면 해당 노드가 다른 사람들과 함께 이를 공유하고 계획도 제시합니다. 그 이후 다른 모든 사람들은 이 새로운 계획을 따릅니다.

작업 증명 체인을 확인함으로써 각 노드는 얼마나 많은 컴퓨팅 파워가 사용되었는지, 그리고 대부분의 컴퓨터가 계획에 동의했는지 볼 수 있습니다. 따라서 다수가 이를 지원했음을 알 수 있기 때문에 가장 긴 작업 증명 체인을 가진 계획을 신뢰하고 따를 수 있습니다.