◆비잔틴 장군의 딜레마(Byzantine Generals Problem)는 개인 간(P2P) 분산 네트워크의 유명한 딜레마로, 비트코인의 창시자인 나카모토 사토시가 '작업증명'(Proof-of-work)' 방식을 통해 해결했다.

작업증명이란 문제 해결에 일정 시간이 걸리는 작업을 연속적으로 수행해, 공동 작업에 참여한 사람의 선의를 확인하는 절차다.

비잔틴 장군의 딜레마에 따르면 비잔틴 군단이 성을 함락시키기 위해 모였는데, 성을 함락시키기 위해서는 절반 이상의 아군들이 동시에 공격해야 한다.

하지만 이들은 서로 떨어져 있어 전령으로만 통신이 가능하고, 배신자는 공격 시간을 의도적으로 틀리게 이야기할 수 있다.

배신을 방지하기 위해 모든 장군은 푸는데 약 10분이 걸리는 수학문제를 같이 풀기로 했는데, 수학문제를 풀어야 공격 시간을 알 수 있게 만들었다.

이후 공격 시간과 이전에 문제를 푼 내용을 바로 다음 장군만 알 수 있게 보낸다. 다음 장군은 앞에서 찾아낸 정답과 풀이과정을 확인한 후, 새로운 문제의 답을 이어붙여 작업을 계속한다.

만약 중간에 장군이 거짓말을 하면, 그 답은 정답묶음에서 갈라지고 모든 장군에게 전해지기 때문에 거짓이 드러날 수밖에 없다. 따라서 과반수가 조작된 정답묶음을 만들 수 없게 돼 과반수의 장군이 공격에 참여할 것이라고 확신할 수 있고, 공격 시간도 신뢰할 수 있다.

비트코인을 비잔틴 장군의 딜레마에 적용하면, 블록에 담긴 거래 내용을 암호화한 후 데이터를 다음 블록으로 이어지게 하는 과정을 반복하는 작업증명으로 높은 보안성을 유지할 수 있다.

공격 시간 정답묶음은 10분간 일어난 비트코인 거래 내용이 담긴 블록으로 볼 수 있다. 비트코인은 10분마다 거래 내용이 하나의 블록에 담기는데, 블록체인을 이용해 거래 장부를 저장하고 관리한다.

거래 장부는 모든 사용자에게 공유되기 때문에 거래 장부를 조작하려면 전체 사용자의 과반수 장부를 동시에 바꿔야 한다. 이는 전체 비트코인 네트워크가 지닌 계산 능력의 절반이 넘는 자원을 투입해야 하는 것이어서 현실적으로 불가능하다. (정책금융부 홍경표 기자)

(서울=연합인포맥스)

(끝)
저작권자 © 연합인포맥스 무단전재 및 재배포 금지