|
[이데일리 이정훈 기자] 블록체인이란 분산 원장을 이용해 개인간(P2P) 거래가 가능하도록 만든 시스템이라고 누차 설명했습니다. P2P란 인터넷상에서 사용자들끼리 직접 연결된 데이터를 주고받는 구조를 말합니다. P2P 네트워크는 일대일이 아니라 수많은 사용자들이 거미줄처럼 얽혀있는 네트워크인데요. 지난 1990년대 음원시장을 뒤흔들었던 냅스터나 소리바다, 지금까지도 쓰이고 있는 토렌트 등을 떠올려 보면 쉽게 이해할 수 있을 겁니다. 중앙 서버 한 곳에 저장된 데이터를 내려받는 게 아니라 다른 사용자들이 공유한 파일을 직접 받는 혁신적인 서비스였죠. 그런데 문제가 없는 게 아니었습니다. 몇 시간씩 걸려 다운로드 받은 영화 파일이 재생되지 않는 가짜였다는 걸 확인하는 순간 욕이 튀어 나왔던 경험들 한 번씩은 있을텐데요. P2P 네트워크상에서는 모두가 진짜 거래내역을 가지고 있을 거라 믿기 어렵다는 게 고질적인 문제라 하겠습니다.
이런 문제를 컴퓨터공학계에서는 `비잔틴 장군의 딜레마`라고 합니다. 거대 제국 비잔틴에는 많은 장군들이 각 지역별로 주둔해 있는데요, 이들은 자기 땅에 머물며 황제처럼 행세했고 중앙 황제의 영향력이 제국 곳곳에 직접 미치기 어렵습니다. 그런 상황에 과반수 이상의 장군들이 자기 병력을 이끌고 와 한꺼번에 공격해야만 점령할 수 있는 큰 적국을 공격해야할 일이 생겼습니다. 그러나 제국의 땅이 너무 넓다보니 이 장군들이 한 자리에 모이기 어렵고 봉화나 깃발로 신호를 보내면 적도 알아챌 수 있으니 직접 연락병을 보내는 수밖에 없는 상황입니다. 문제는 각자 자기 땅에 머물고 있는 비잔틴의 장군들은 서로를 믿지 못하는 겁니다. A장군은 B장군에게 같이 공격하자고 하고선 실제 자기는 빠질 수도 있습니다. 이러면 공격 간 B장군 병력만 몰살할 수 있죠. 또 B와 C장군에게 협공을 제안했는데 둘의 요구사항이 다르면 A로서는 누구 말을 믿을지 판단하기 어렵습니다. 이처럼 서로 믿을 수 없는 여러 주체가 동의할 수 있는 하나의 해답을 도출하기란 매우 어렵다는 게 이 딜레마의 핵심입니다.
이처럼 모든 블록체인을 이용한 암호화폐는 (거래)증명이 필요합니다. 장부가 곧 돈이기 때문에 장부상 거래를 확인 시켜주는 작업은 필수적인 거죠. 앞서 설명했던대로 블록체인 시스템 내에서는 수 많은 노드들이 그 증명의 역할을 하고 있습니다. 작업증명은 암호 해독능력인 컴퓨팅 파워를 이용해 함께 블록에 담기는 해시를 생성하기 위한 숫자값을 찾는 문제를 풀어 거래를 증명해주는 일입니다. 결국 작업증명이 블록체인과 비트코인이 가치있고 안전하도록 도와주는 역할을 하는 셈이죠.
비트코인을 처음 만든 사토시 나카모토는 이렇게 얘기합니다. “우리는 거래들의 시간 순서를 전산적으로 입증하게 만들도록 하는 P2P 분산 네트워크 기반의 타임스탬프 서버를 이용해 이중지불 문제를 막는 해법을 제안하고자 한다. 이 시스템은 악의적으로 협력하는 노드그룹보다 정직한 노드들이 더 많은 컴퓨팅 파워를 총체적으로 제어하는 한 안전하다”고.