암호 기술과 알고리즘으로 탈중앙화·부정 거래 방지하는 암호화폐
비트코인의 시장적 가치에만 집중하는 시각 지양해야

기자명 김하진 (webmaster@skkuw.com)

젊은 세대를 중심으로 가상화폐 투자 열풍이 한창이다. 올해 1분기 신규 가입자, 즉 암호화폐 계좌에 실명계좌를 연동한 이용자 중 20대와 30대의 비중은 63.5%, 과반수를 차지하는 것으로 나타났다. 이처럼 뜨거운 이슈로 떠오른 암호화폐, 그중에서도 가장 대표적인 비트코인은 어떠한 원리로 작동하는 것일까? 비트코인의 기반이 되는 블록체인과 그를 구성하는 여러 가지 암호 기술들에 대해 알아보자.

블록체인, 비트코인의 주역

비트코인은 탈중앙화를 목표로 만들어진 디지털 화폐다. 중앙은행이 발행하는 기존의 화폐와는 달리 비트코인은 참여자들에 의해 유지되고 운영된다. 발행을 비롯한 거래 내역은 모두가 공유하고 열람할 수 있는 공개 장부에 기록되며, 공개 장부의 데이터는 각자의 노드에 분산 저장된다. 이러한 분산 시스템을 블록체인이라고 한다.

블록체인은 서로 다른 노드에서의 데이터들이 데이터의 집합을 세는 단위인 블록하나로 구성돼 그 블록들이 사슬처럼 연결돼 이뤄진다. 누구나 노드를 통해 참여해 중앙처리기관을 거치지 않고 거래할 수 있다. 또한 블록체인에 사용되는 암호 기술들은 기존의 디지털 화폐가 지니고 있던 문제들을 해결함으로써 비트코인을 단순 디지털 화폐와 차별화한다.

 

공개키 암호화 방식으로 서명하자

인터넷상에서의 거래 행위는 거래 상대의 신원을 확인하기 어려워 불안을 동반하기 마련이다. 암호화폐 이러한 문제를 공개키 암호화 방식으로 해결한다. 공개키 암호화 방식이란 타인에게도 노출되는 공개키와 본인만이 알고 있는 개인키를 이용해 데이터를 암호화 또는 복호화하는 기술이다. 이때 공개키로 암호화한 데이터는 개인키로만 복호화가 가능하며, 개인키로 암호화한 데이터 또한 공개키로만 복호화가 가능하다. 고려대 정보보호대학원 김승주 교수는 공개키 암호화 방식은 전자지갑의 주소를 생성하고, 암호화폐 이체 시 전자서명을 하기 위한 용도로 사용된다고 설명했다.

예를 들어 AB에게 메시지를 보낼 때, B의 공개키로 암호화해 보낸다면 그 메시지는 개인키를 가지고 있는 B밖에 읽지 못하므로 보안을 확보할 수 있다. 반대로 A가 자신의 개인키로 메시지를 암호화하여 B에게 보낸다면 BA의 공개키를 이용해 복호화함으로써 그 메시지가 A로부터 왔음을 확인할 수 있다. 개인키로 서명함으로써 신원을 보증하는 것이다.

 

데이터 무결성을 확보하는 해시함수

해시는 주어진 데이터를 특정 길이의 16진법 숫자로 바꾸는 암호 기법으로, 해시함수는 해시를 수행하는 함수이다. 원본 데이터를 알고 있다면 해시 결과와 비교하여 검증하는 것은 가능하나 해시 결과만으로 역연산하여 원본 데이터를 알아내는 것은 불가능에 가깝다는 것이 특징이다. 정보보호가 필요한 분야에서 다양하게 사용되는 해시함수는 블록체인에도 적용된다.

블록체인은 해시함수를 사용하여 데이터들을 연쇄적으로 연결한다. 블록체인의 블록들은 모두 각자의 해시값을 가지고 있으며, 이 해시값은 앞서 연결된 블록인 직전 블록의 해시값을 포함하고 있다. 직전 블록은 또 그 이전 블록의 해시값을 포함하기 때문에 블록들은 연쇄적인 체인 형태로 엮이게 된다. 따라서 특정 블록이 위변조되면 이후 블록들이 연쇄적으로 변하게 되므로 거래 이력이 위변조되었다는 것을 쉽게 파악할 수 있다. 이에 김 교수는 해시함수는 블록들을 연결해서 데이터의 불변성을 보장한다고 전했다.

 

모든 참여자가 함께 감시하는 블록체인 거래

기존 디지털 화폐의 고질적인 문제는 이중 지불이었다. 이중 지불이란 말 그대로 실제로는 하나의 코인으로 두 개의 거래를 동시에 일으키는 부정행위를 뜻한다. 은행이 거래를 관리하는 경우 이러한 부정 거래를 차단할 수 있겠지만, 비트코인을 비롯한 암호화폐들은 단속할 중앙기관이 부재한다. 따라서 중앙기관 대신 참여자들이 함께 의사결정에 참여해 암호화폐 거래를 감시해야 한다. 이때 필요한 것이 합의 알고리즘이다. 합의 알고리즘이란 블록체인 네트워크의 노드들이 동일한 거래 장부를 공유할 수 있도록 참여자 대다수가 옳다고 합의한 블록이 채택되어 기록되는 시스템을 말한다.

그러나 합의 알고리즘 또한 문제가 존재한다. 악의적인 참여자가 가짜계정을 만들어 다수를 차지하고 거래 내역을 위조할 가능성도 있기 때문이다. ‘시빌 공격이라고도 부르는 이 문제를 해결하기 위해서 작업증명 알고리즘이 도입됐다. 작업증명 알고리즘은 컴퓨터의 계산 작업을 통해 암호를 풀어야만 합의에 참여할 수 있는 방식이다. 이 계산 작업은 앞서 등장했던 해시값의 원본 데이터 근삿값을 찾는 것으로, 역연산을 통해 하나하나 대조해가며 찾아내야 하는 과정이기 때문에 막대한 양의 연산 능력이 필요하다. 즉 한 명이 복수의 가짜계정을 만들기 위해서는 그만큼의 연산을 감당해내야 하는데, 이는 불가능에 가까우므로 작업증명 알고리즘은 이러한 문제 상황을 성공적으로 방어할 수 있는 시스템이 된다.

 

기술로 급변하는 세상다가오는 기회 놓치지 말아야

참여자들이 매번 자발적으로 복잡한 암호를 풀게 하는 것은 어려운 일이다. 따라서 비트코인은 암호를 풀 때마다, 채굴에 성공할 때마다 비트코인을 보상으로 지급하는 식으로 작업증명 알고리즘과 블록체인을 유지한다.

김 교수는 암호화폐를 투기 수단으로 이용하는 사람들에 대해 짜장면을 살 생각은 없이 짜장면 쿠폰만 사고파는 일이라고 비유했다. 그는 쿠폰이 돈이 된다는 소문이 돌면서 쿠폰 사재기가 발생하고, 이에 음식을 팔지도 않는 음식점들까지 쿠폰을 마구 찍어내는 중인 셈이라고 최근의 투기 열풍을 설명했다. 이어 그는 블록체인 같은 최신 기술의 핵심 철학과 개념, 전망 정도는 파악하는 것이 좋다기술을 완전히 이해하기는 힘들겠지만, 변화하는 미래에서 기회의 순간을 놓치지 않으려면 필수적인 일이라고 조언했다.

 

노드: 개인용 컴퓨터, 휴대전화, 프린터와 같은 정보처리 장치를 일컫는 단어