728x90

비잔틴 내결함성

탈중앙화 시스템에서도 아주 중요한 특징으로 예시가 되는 이야기는 비잔틴 제국이 공격하여 점령하고자 했떤 성을 가정하여 네 명의 장군이 공격하는 상황을 빗대어 설명하고자 한다,

4명 이상의 장군이 전투를 하고자 했을 때 과반수의 동의가 있어야 행동을 개시할 수 있으며, 그 과정에서 대다수의 합의에 도달해야 한다. 

전제조건으로 합의점에 도달해야한다는 점과 해당 상황에서 반역자가 존재하는 경우 합의 프로토콜을 어떻게 생각할 수 있는가? 

 

반역자는 의견이 합의에 이르지 못하도록 훼방을 놓을 것이고, 이는 사전에 동의한 합의를 도출해 낼 수 있는 알고리즘을 따라야한다. 합의 알고리즘을 도출하는 경우 두가지 가설을 세우고 진행해야 할 것이다. 

 

첫 번째는 사령관이 반역자가 아닌 경우이다. 

 

알고리즘에 의해 다수결의 합의에 도달하였기 때문에 반역자의 발언을 고려하지 않고 공격을 수행할 수 있다. 

 

두 번째는 사령관측이 배신자인 경우이다. 

 

위의 일련의 비잔틴 장군의 문제로 전달된 정보에 대한 다수결의 알고리즘으로 전달된 정보를 기반으로 한 의사결정을 내린다. 이러한 알고리즘을 비잔틴 내결함성이라고 한다.

다만 3분의 1이상이 반역자일 때는 작동할 수 없는 알고리즘으로 논문에서는 해당 알고리즘이 동작하려면 30% 이상, 33% 이하의 반역자가 있어야 한다. 이것이 반역자에 대한 본 시스템의 내결함성 수준인 것이다. 

 

비잔틴 내결함성이 탈중앙화된 기술적인 시스템에서는 어떻게 적용되는 것인가?

시스템을 공격하려는 사람으로부터 보호하기 위해서 합의 프로토콜을 고안하는데, 최대한의 내결함성을 구현하려면 최대한 그 내결함을 높인다는 것이 비잔틴 내결함성의 개념이다.

이런 개념은 여러 시스템에서 사용되며, 일부 시스템이 공격에 의해 문제가 발생해도 전체 시스템은 여전히 작동해야하며 이를 비잔틴 내결함성이라 한다. 

 

블록체인 특히, 탈중앙화된 시스템에서는 비잔틴 내결함성의 특성을 반드시 내포하고 있어야 한다. 

 

+ Recent posts