비트코인과 블록체인, 미래를 지배할까
흔히 ‘핀테크(FinTech)’라고 불리는 금융과 정보통신 기술의 결합을 통한 금융서비스가 최근 급격한 발전을 보임에 따라 이에 대한 관심도 급증하고 있다. 다양한 핀테크 관련 기술 중 전자화폐로서의 가능성을 두드러지게 보여주고 있는 비트코인(Bitcoin)과 비트코인 내부 핵심 기술로 알려진 블록체인(Blockchain) 기술에 대해서 알아보자.
비트코인은 현재 가장 주목받는 전자화폐(electronic cash)이다. 비트코인과 같이 온라인에서 사용되는 전자화폐는 ‘부정 사용’ 방지를 위한 방안 마련이 필수적으로, 디자인할 때부터 화폐의 소유자에 대한 확인 문제와 중복 지불(double spending) 방지 문제에 대한 고려가 최우선되어야 한다.
전자화폐의 소유자를 확인하는 방법을 마련하지 않으면 단순한 복사를 통해 다른 사람이 사용하는 것과 같은 부정 사용의 문제가 발생하게 된다. 이에 공개키 암호화에 기반한 디지털 서명 기법을 통해 소유자 확인을 제공하는 것이 일반적이다.
더 중요한 문제는 ‘중복 사용’이다. 한 번 사용된 전자화폐를 다시 사용하려고 할 때 이를 감지해내지 못하면 중복 지불의 문제가 발생한다. 신뢰할 수 있는 중앙 기관이 모든 거래 기록을 관리함으로써 이러한 중복 지불 문제를 해결하는 것이 보통이다.
비트코인(Bitcoin)
비트코인은 2009년 사토시 나카모토(Satoshi Nakamoto)에 의해 구현된 전자화폐의 일종이다. 공개키 암호 방식과 소유권 관리를 위한 작업 증명이라는 합의 알고리즘이 결합된 방식으로, 기존 화폐를 수학적, 암호학적 엄밀성에 기반하여 온라인상에 구현한 형태이다. 이 전자화폐의 가장 혁신적인 부분은 바로 P2P(Peer to Peer) 네트워크 기반의 탈중앙화된 형태로 거래의 유효성을 확인하여 중복 지출 문제를 해결한 점이다.
비트코인은 [그림 2]의 오른쪽 개념도와 같이 네트워크의 구성원 모두가 거래 내용을 기록하는 장부를 가지고 있고, 거래가 발생했을 때 모든 구성원의 장부에 해당 거래를 기록하여 서로 유효성을 확인할 수 있는 구조이다.
[그림 2] 중앙에서의 거래 확인 모델 vs. 분산된 형태의 장부 기록
(*이미지 출처: http://www.ybrikman.com/writing/2014/04/24/bitcoin-by-analogy/)
비트코인 트랜잭션(Bitcoin Transaction)
비트코인은 ‘유형의 재화’가 아닌, 누가/얼마나/어디로 보낼 지에 대한 일종의 트랜잭션(transaction)이다. 그리고 이 트랜잭션들은 블록체인(Blockchain)이라고 불리는 암호화 기법이 적용된 일종의 장부에 저장된다.
비트코인 트랜잭션은 ‘누가, 얼마나’에 해당하는 입력 정보와 ‘얼마나, 어디로’에 해당하는 출력 정보로 구성된다. 입력 정보에는 전달할 비트코인의 양과 해당 비트코인 소유자의 주소가 포함되며, 출력 정보에는 전달 받을 대상의 주소와 전달 받을 비트코인의 양에 대한 정보가 포함된다. 이때 사용되는 비트코인 주소는 비트코인 네트워크 내부 각 구성원의 공개키를 기반으로 추가 연산을 통해 구성한 형태이며, 비트코인의 소유자 확인을 위한 전자서명 관련 정보를 포함한다.
비트코인 트랜잭션의 입력은 [그림 4]와 같이 이전 트랜잭션의 출력으로 연결되며, 이 연결을 역으로 따라가면서 전체 트랜잭션을 확인할 수 있다.
비트코인 트랜잭션의 입력 값을 나누어서 사용할 수는 없기 때문에 자신의 주소를 기록한 출력값을 통해 거스름돈의 개념을 표현하게 된다. 예를 들어, 3만원짜리 상품을 구입하기 위해 지불하는 방법은 여러 작은 단위의 화폐를 모아 3만원을 지불하거나 5만원짜리 지폐를 지불하고 2만원의 잔돈을 돌려받는 경우로 나뉜다. 이를 비트코인 트랜잭션으로 표현하면 각각 [그림 5]와 같다.
[그림 6]은 실제 비트코인 트랜잭션이 이루어지는 화면이다. 0.00891175 BTC를 입력값으로 하고 있으며 총 출력(지불 + 거스름돈)은 0.00791175 BTC이다. 그리고 0.001 BTC의 수수료가 포함된 것을 볼 수 있다.
비트코인의 블록체인
블록체인은 공개키 암호화에 기반한 분산 원장 기술(distributed ledger technology)의 일종으로, 기존 중앙집중형 네트워크 기반의 인프라를 뛰어 넘는 높은 보안성, 거래 내역의 투명성, 비용절감 등의 장점을 갖고 있다.
블록(block)이란 비트코인 네트워크와 관련된 특정 데이터들을 영구적으로 기록하는 일종의 파일이며, 거래 정보인 트랜잭션들이 기록되는 장부이다. 각 블록은 이전 블록의 정보를 포함하고 있으며 사슬(chain)과 같은 형태로 연결되어 있기 때문에 블록체인이라고 불린다.
블록체인 내부의 블록들을 생성할 때 이전 블록의 정보가 포함되어 수학적 연산을 수행하기 때문에 이 블록들 중 하나의 정보를 변경하거나 수정하려면 이후 블록의 모든 정보를 변경해야 하는 어려움이 따른다. 가장 최근에 생성된 블록의 정보를 변경하는 것은 비교적 쉬우며 최초 블록 쪽에 위치할수록 변경은 더욱 어려워진다.
가장 최근에 생성된 블록의 정보를 변경하는 것이 비교적 쉽다고 하지만 블록 정보의 무결성 및 유효성을 맞추면서 정보를 변경하는 것은 고도의 수학적 연산과 네트워크 구성원들의 확인을 필요로 한다. 따라서 일반 개인이 단독으로 블록의 정보를 변경하는 것은 사실상 불가능하다. [그림 9]는 비트코인 네트워크에서 자체적으로 이상거래 트랜잭션을 감지한 예를 보여준다.
블록체인의 활용 분야
블록체인이 가지는 특성, 즉 탈중앙성, 보안성, 확정성, 투명성으로 인해 신뢰되지 않은 네트워크에서 거래 정보를 투명하게 공개하여 다수의 네트워크 구성원이 공개 검증을 수행하기 때문에 별도의 공증 주체가 필요하지 않다. 바로 이 점이 최근 많은 금융 기관이나 연구자들이 관심을 갖는 이유다. 또한 기존 시스템의 보안 위협과 이를 해결하기 위한 투자 비용 등을 개선할 수 있는 점도 블록체인의 매력 중 하나이다. 이와 같은 특성을 기반으로 하는 활용 분야를 요약하면 [표 1]과 같다.
[표 1] 블록체인 활용 가능 분야 (*출처: THE FinTech Magazine, JAN-FEB 2016)
블록체인, 미래 기술로 거듭나기 위해 넘어야 할 과제
많은 관심과 투자에도 불구하고 블록체인이 극복해야 할 과제는 명확하다. 우선, 한 번 검증된 트랜잭션을 수정할 수 없다는 점이다. 이 문제는 장부를 조작할 수 없다는, 보안의 측면에서는 장점으로 보일 수 있지만 반대로 수정 불가능한 데이터베이스라는 관리상의 문제로 작용할 수 있다.
또한 거래 트랜잭션들의 검증 및 확정에 많은 시간을 필요로 한다. 네트워크 구성원들 다수의 검증과 확인 과정을 거치기 때문에 발생하는 문제이다. 이 외에도 여전히 몇몇 문제점들이 존재하고 있으며, 이러한 문제점의 해결이 향후 블록체인이 확실히 자리 잡을 수 있을지에 대한 척도로 작용할 것으로 보인다.
이와 같은 블록체인의 명확한 한계에도 불구하고 최근 많은 연구와 투자가 집중되고 있다. 그 이유는 앞서 언급한 바와 같이 탈중앙성, 보안성, 확정성, 투명성 등과 같은 이 기술의 특징과 이를 바탕으로 한 기존 금융 인프라와 보안 기술을 보완할 수 있는 가능성, 그리고 공동 기록, 스마트 계약, 컨센서스 등 다양한 방면으로 확장 적용을 기대할 수 있기 때문이다.
현재 ‘블록체인 2.0’이라는 흐름으로 금융뿐만 아니라 다양한 분야로의 적용 가능성에 대해 검토가 진행되고 있다. 이러한 흐름이 앞으로 어떤 방향으로 발전해 가는지 관심을 가지고 지켜볼 필요가 있다.
- AhnLab기술기획팀 김일용 차장