코알라

비잔틴 장군의 문제, 비잔틴 장애 허용(합의 알고리즘) 본문

블록체인

비잔틴 장군의 문제, 비잔틴 장애 허용(합의 알고리즘)

코알라_coala 2023. 8. 15. 20:47

비잔틴 장군의 문제는 컴퓨터 공학의 고전적 난제입니다. 비잔틴 장군의 문제는 넓은 영토마다 장군들이 통치하는 것을 가정합니다. 이웃나라 공격이 성공하려면 같은날, 같은 시각에 병력을 집중시켜야하는데, 날짜와 시각에 대한 메시지가 바르게 전달되지 못하면 공격은 실패하게 됩니다. 여기서 문제는 같은 메시지를 장군들끼리 공유하는 방법입니다. 어떻게 해야 모든 장군이 같은 메시지를 공유할 수 있을까요?

컴퓨터 공학에서 이 문제를 극복한 방법은 장군 중 잘못된 메시지를 보내는 경우에도 전체 시스템은 돌아가도록 하는 방향으로 접근했습니다. 세 개의 센서 중에서 하나의 센서가 다른 정보를 준다면 다른 센서의 값을 비교해 어느 정보를 따를지 결정하여 작동이 멈추지 않도록 설계했습니다. 이 설계를 비잔틴 장애 허용이라고 합니다. 비잔틴 장애 허용(BFT; Byzantine Fault Tolerance)을 한 문장으로 정리하면, 장애가 있더라도 전체의 3분의 1을 넘지 않는다면, 시스템이 정상 작동하도록 허용하는 것입니다.


이 비잔틴 장군의 문제를 블록체인에 적용하면, 악의적인 노드(악의적인 장군)가 존재하여 누군가 속이려 들더라도 모두가 지닌 원장(메시지)은 같은 내용을 유지해야 하는 방법을 찾아야 하는 것입니다.

블록체인 분야에서의 비잔틴 장애 허용 시스템은 합의 알고리즘이라고 부르며, 비트코인은 작업증명(PoW)이라는 합의구조를 처음 도입해 비잔틴 장군의 문제를 해결하였습니다.

 

 

더 읽을 거리

2023.07.06 - [블록체인] - 합의알고리즘, 합의메커니즘, 채굴(마이닝), PoW, PoS, DPoS

2023.08.28 - [코스모스] - 텐더민트(Tendermint) 합의 알고리즘

 

728x90
반응형

'블록체인' 카테고리의 다른 글

트랜잭션(Transaction)  (0) 2023.08.18
스테이킹(Staking)  (0) 2023.08.17
디앱(dApp), 댑  (0) 2023.07.30
51%공격  (1) 2023.07.20
해시(hash), 해시파워(hash power), 해시레이트(hash rate)  (0) 2023.07.18