본문 바로가기
엑셈 경쟁력/전문가 기술기고

IT easy, IT is! | 열 번째, 비잔틴 장군의 딜레마

by EXEM 2018. 4. 26.

 

 

 블록체인 기술은 컴퓨터 공학계에서 수십 년간 해결하지 못한 문제로 지적되어 온 비잔틴 장군의 딜레마를 극복했다는 점에서 높이 평가받고 있습니다. ‘비잔틴 장군의 딜레마... 그것은 무엇인지, 블록체인 기술은 이를 어떻게 해결하는지 함께 알아보시죠

 

  'X맨'은 누구인가? '비잔틴 장군의 딜레마' 

 

 비잔틴 장군의 딜레마(The Byzantine Generals Problem)’란 비잔티움 제국에서 실제 일어난 일은 아니며, 1982년 분산 컴퓨팅의 대가라 불린 미국의 레슬리 램포트라는 컴퓨터 공학자가 동료 2명과 함께 발표한 연구 논문에서 사용된 표현입니다. 지리적으로 떨어져 있는 비잔틴 장군들(분산 네트워크 상황)이 적군의 성을 공격하기 위해 합의하는 문제인데요. 가정된 상황은 다음과 같습니다.

 

  · 각 장군들이 일정 비율 이상 합동으로 출병해야만 적에게 승리할 수 있음

  · 각 장군들은 전령(messenger)을 통해 한 번에 일제히 공격 가능한 공격 시간을 연락

  · 각 장군들은 가장 근처의 장군에게 연락

  · 장군들 중 배신자가 존재, 배신자는 실제 메시지와 다른 공격 시간으로 위조

 

 

 

▲ 비잔틴 장군의 딜레마

 

 비트코인과 블록체인

 

블록체인은 이를 작업 증명(PoW, Proof-of-Work)’이라는 해법을 통해 해결합니다. 앞선 시간에 채굴(mining)’ 개념에 대하여 소개하였습니다. 10분에 한 번씩 풀릴 만한 Hash 함수 문제가 주어지는데, Hash 함수는 출력값을 보고 입력값을 알기 어려운 특성을 가집니다. 따라서 참여자들은 값을 하나하나 넣어보는 활동을 통해서 입력값을 찾아내는 작업을 하게 되는데, 이를 작업 증명이라고도 부른다고 설명드렸습니다. Hash 함수 문제를 푸는 특정한 작업을 했다는 증명을 거쳐 거래를 증명하는 셈입니다.

 

다시 비잔틴 장군의 딜레마로 넘어가서 작업 증명 규칙을 추가해 본다면....

 

· 모든 장군들이 머리를 맞대어 10분 정도 걸려야 해결할 수 있는 수학 문제를 계속 푼다.

· 해답을 먼저 찾아낸 장군이 모든 장군에게 해답을 공유한다.

· 첫 번째 문제의 해답부터 순서대로 연결되어 공유된다.

· 해답을 공유할 때는 10분간 문제를 해결한 작업의 증거와 다른 장군이 이전 문제를 해결한 이력을 함께 공유해야 한다.

· 모두 공유하여 해답이 확인되면, 모든 장군들이 다음 문제로 넘어간다.

· 10분씩 문제를 풀고 해답을 공유하는 활동을 여러 번 반복한다.  

 

이 과정을 통해 장군들은 과반수가 문제를 푸는 과정에 참여했고, 10분마다 문제와 답을 공유하면서 메시지가 중복 없이 정리됐다는 점을 확인하며, 신뢰를 생성하게 됩니다.

 

이렇게 블록체인은 작업 증명의 원리를 통해서 중앙 기관이 없이도 소위 ‘X을 방지할 수 있도록 합니다. 이를 통해 그동안 많은 이들에게 난제로 여겨져 왔던 분산 네트워크(P2P 네트워크)의 가장 큰 약점 중 하나로 불려왔던 신뢰와 합의의 문제를 practical 하게 해결했다고 볼 수 있습니다.

 

 

                                                  

 

공동작성/편집 | 연구컨텐츠팀 안은혜


댓글