김철환 한양대 교수 "비트코인은 왕이 없는 킹덤"

[블록체인서울2018] '블록체인 기술 혁신의 원리' 주제 강연

컴퓨팅입력 :2018/09/19 15:04    수정: 2018/09/19 22:24

특별취재팀 기자

"2014년 비트코인을 처음 알았을 땐 '도토리'와 똑같은 것이라 생각했다. 들여다보니 검열과 통제를 수행하는 중앙 서버를 두지 않는 P2P 방식이었다. 사토시 나카모토가 이런 탈중앙화 시스템을 만든 이유는 검열저항성, 개인(peer)들이 중앙의 권력남용을 막고 자기 역할을 수행하는 세계를 구현한 것이라 본다. 친숙한 중앙화 시스템과 다르다는 점에서, 나는 이걸 '비트코인 킹덤(kingdom)'이라 표현한다."

한양대학교 창업지원단 글로벌기업가센터 김철환 교수는 19일 서울 코엑스 '블록체인서울2018'에서 '블록체인 기술 혁신의 원동력과 산업 응용'이란 주제 강연에서 이같이 말했다. 그는 사토시 나카모토가 개발한 비트코인의 '분산원장' 개념에 더해, 네트워크에 신원증명 없이 임의로 참가하고 거래를 수행할 수 있게 설계된 트랜잭션 처리방식을 설명했다. 이 부분이 진정한 블록체인 기술의 혁신이라 강조하면서다.

한양대학교 창업지원단 글로벌기업가센터 김철환 교수

"블록체인의 분산화된 시스템에는 수평적인 피어 노드가 존재한다. 나는 '사도'라고 표현한다. 등록없이 망에서 이뤄지는 트랜잭션을 어떻게 처리하느냐가 사토시 나카모토가 개발한 핵심요소다. 과거 은행같은 전산시스템에선 중앙 데이터를 보관하는 DB가 있고 서버가 그에 연결하려는 클라이언트로부터 증명과 인증을 거치게 해 데이터에 접근하게 한다. 누군가 접속해 다른 사람에게 송금을 하면 중앙 서버가 그에 맞게 데이터를 바꿔 준다. 사토시는 중앙서버를 없애고 분산화된 노드 사이에서 모두 거래 데이터를 관리, 저장하고 소유권을 입증할 수 있게 했다. 어떻게 내가 알지 못하는 거래를 다른 '사도'들에게 전송하고 검증하게 할까, 노드가 단 4개 정도라면 간단할 수도 있지만, 노드가 1만개라면, 5만개라면 어떻게 감당할까, 이게 사토시나카모토가 개발한 혁신이다."

인터넷을 검색해 보면 블록체인을 거래 원장이다, 거래 데이터를 모아 위변조할 수 없도록 해시 함수 결과값과 함께 담은 블록을 체인으로 연결한 것이다, 대략 이렇게 설명한다. 김 교수는 그가 20년전 서버-클라이언트 방식의 시스템에서 그와 유사한 개념을 연구했다고 한다. 당시 이런 사상을 구현하기 위해 중앙 데이터베이스(DB)를 2원화, 3원화하는 방식을 연구했다. 하지만 그것으론 충분치 않았다.

"2014년 처음 알게 된 비트코인은 도토리같다고 생각했다. 자세히 보니 비트코인에는 중앙 통제가 없는 탈중앙화 시스템이다. 사토시 나카모토는 2008년 금융위기 속에 달러를 무분별하게 생산하는 것을 접하고 P2P 방식으로 이를 만들었다. P2P 네트워크에선 서로 수평적인 동료다. 주종관계가 없고 서버와 클라이어트 구별이 없다. 이 세계, 비트코인 킹덤은 검열 없는 세상이다. 익명, 자율, 탈중앙화 시스템 특성을 갖는 세계다. 사도들이 자율적으로 움직인다. 누구도 통제하거나 조절할 수 없는 기능을 갖고 있다. 장점만 있는 건 아니다. 자율권과 익명성을 인정하다보니 문제도 생긴다. 자금 규모가 커졌을 때 정부 당국이나 제도권이 우려하는 자금세탁 등 탈법 수단으로 악용될 수 있다. 금이나 현금과 비슷한 원리로 동작하기 때문에 탈법, 자금세탁 범죄 용도로 쓰일만큼 강력하다."

김 교수는 자신이 '비트코인 프로토콜을 샅샅이 분해해본 결과' 이 소프트웨어(SW) 프로토콜은 탈중앙화 왕국에서 '사도'들이 따르는 규약을 구현한 것이라 정의할 수 있다고 표현했다.

"이 킹덤은 천상에 존재해 왕이 없다. 왕에 해당하는 규약만 있다. IP네트워크 위에서 동작하지만 특성이 굉장히 다르다. 이 킹덤에 접속하려면 전자지갑을 열기만 하면 된다. 보통 사용하는 서비스의 서버-클라이언트 모델은 처음에 등록을 해야 하는데, 여기선 등록 과정 없이 내 개인키를 설정하고 따로 확인 받지도 않은 채 암호화 메커니즘으로 공개키를 만들고 그걸로 전자지갑 주소가 만들어진다. 이 킹덤을 지키는 이들이 사도다. 사도들에겐 임무가 있는데 P2P네트워크의 트랜잭션을 검사하는 것이다. 트랜잭션이 네트워크 구조에 맞는지, 규정을 따르는지 보는 역할이다. 제대로 된 트랜잭션은 이웃한 사도(노드)에 전달하고, 검증되지 않은 트랜잭션은 망에 전파되지 못하게 하는 필터 역할이다."

블록체인 노드 가운데 트랜잭션을 처리한 보상으로 새로운 비트코인 발행분을 받는 '채굴자' 역할 설명이 이어졌다.

"다른 블록체인 프로토콜에서는 '블록 프로덕션(block production)'이라 표현하는, 새 블록을 만드는 역할을 하는 사도가 있다. 신규 블록을 만드는 것은 은행에서 장부를 만드는 것과 같다. 이를 수행하는 노드는 비트코인 네트워크에 1만개 정도 존재한다. 10분마다 생성되는 신규 블록에 대해 이 특별한 역할을 하는 특임사도에게 별도 보상을 해준다. 비트코인 발행권을 주는 것이다. 특임사도는 연결되는 블록을 붙이기 전에 트랜잭션을 먼저 처리하는데, 이 과정은 비가역적 해시함수를 이용한다. 결과값으로 입력값을 구하기는 어렵기 때문에, 임의의 수를 집어넣어 결과값보다 크기가 작은 넌스(nonce) 값을 찾는 문제를 풀게 된다. 먼저 이를 푸는 사도가 발행권을 받는 구조다."

한양대학교 창업지원단 글로벌기업가센터 김철환 교수

김 교수는 거래용 키쌍을 보관하는 비트코인 전자지갑의 주소 생성방식과 미지출 거래 출력(UTXO)이라 불리는 비트코인 트랜잭션 기록 모델의 특징도 짚었다.

"비트코인같은 코인이나 토큰을 암호화폐, 크립토커런시(cryptocurrency)라 부르는 배경은 송금할 때 쓰는 지갑 주소와 관련돼 있다. 비트코인의 주소를 만드는 메커니즘이 비트코인 블록체인의 핵심이다. 블록체인 전자지갑은 내가 설정한 입력값에 따라 생성되는 개인키와 공개키, 한 쌍의 키를 갖고 있다. 개인키를 (타원곡선곱셈 함수로) 암호화하고 또 다른 기법(해시함수)으로 암호화해 160비트 길이의 비트코인 지갑 주소를 만든다. 이 주소를 만드는 메커니즘이 비트코인 블록체인의 핵심이다. 타인의 지갑에서 내 지갑으로 어떤 비트코인의 소유권이 이전할 때 이들의 키값에 의해 트랜잭션이 발생한다. 트랜잭션의 소유자임을 증명할 땐 우리에게 친숙한 공개키기반구조(PKI) 전자서명기술과, 다른 기술요소들이 결합돼 P2P 네트워크에서 비트코인 소유권 이전 메커니즘이 설명된다. 코인에 대한 내 소유권은 블록 안에 'UTXO 세트(Set)'라는 데이터베이스에 저장돼 있다."

그에 따르면 사토시 나카모토가 설계한 비트코인 트랜잭션의 소유권 확정 방식은 중앙 서버에 저장되는 가상화폐가 아니라 현실에서 쓰이는 화폐에 가깝다.

"사토시 나카모토는 서버 기반 소유권 증명을 할 수 없는 환경에서의 소유권을 증명하는 방식을 생각했다. 우리 지폐는 중앙의 조폐공사에서 만들어진 것이라 증명되면 소지자의 신분을 따지지 않고 사용할 수 있는데, 그 메커니즘과 동일하게 비트코인을 쓰도록 했다. 비트코인의 소유권은 최초 발행해 내 지갑으로 올 때까지 누구의 소유권을 거쳐 왔느냐를 증명하는 방식으로 돼 있다. 그 개념을 UTXO라는 모델로 표현한 것이다. 블록체인 핵심 메커니즘은 이 '소유권 체인'이다. 트랜잭션 구조를 보면 입력 데이터와 출력 데이터가 있다. 입력 부분은 이전 소유권자의 소유를 나타내고, 아웃풋은 내가 소유권을 넘길 주소를 나타낸다. 이 주소는 킹덤에서 그에 해당하는 공개키 소지자만 열 수 있는 잠금장치다. 이걸 열 수 있는 사람은 키를 가진 사람뿐이다."

김 교수는 비트코인의 트랜잭션 처리가 코인 소지자가 자신의 공개키와 전자서명을 동시에 만족해야 성립한다고 덧붙였다. 비트코인 블록체인을 'P2P 기반 분산원장'이라 표현하는 것은 부분적으로 맞지만 이런 특징을 온전히 표현하지 못하기 때문에 정확하진 않다고 지적했다.

"이 P2P 네트워크에서 블록의 원장은 백데이터고 현재 비트코인의 소유권은 실질적으로 노드가 관리하는 UTXO세트에 있다. 트랜잭션의 장소에 따라 약간의 차이는 있겠지만 비트코인 네트워크의 1만개 노드에 동일한 UTXO 세트가 존재할 것이다. 많은 사람들이 이를 해킹하려 하겠지만, 트랜잭션ID에 따라서 디지털서명도 계속 바뀌기 때문에 이걸 통해 해킹이 불가능한 형태로 만들어졌다. 소유권을 이전하는 트랜잭션 체인이 있는데 왜 굳이 블록을 쌓아 위변조 불가능 메커니즘을 재설계했을까. 세계에서 P2P 노드가 1만, 2만, 3만개로 늘어나 지역적으로 트랜잭션 풀이 달라질 수 있기 때문에, 이걸 통일하는 봉인과정으로 설계됐다. 널리 알려진 합의메커니즘은 그 뒷단에서 이뤄지는 과정이다."

관련기사

이더리움의 스마트컨트랙트가 등장한 배경과 현실세계에서 그 한계점도 짚었다.

"사토시 나카모토가 블록 해싱 메커니즘을 통해 위변조를 막을 수 있게 설계했고 P2P 통해 네트워크에 참가해 노드를 통해 트랜잭션 검사하고 유효하면 전파하고 지갑 소유자들을 연결하는 것까지 만들어놓은 게 핵심이다. 이후 2014년 비탈릭 부테린이 노드에서 수행하는 디지털서명과 공개키 트랜잭션 검증 부분의 몇몇 기능을 프로그램으로 확장하고자해서 만든 게 스마트컨트랙트다. 이 위에서 여러 응용(애플리케이션)이 나오고 있다. 그 다양한 실험 결과가 현재 나오고 있는데, 초창기엔 지상의 많은 조건을 스마트컨트랙트가 수용할 수 있다고 얘기했지만 실험 결과는 그렇지 않다. 우리가 일반적으로 생각하는 계약의 전반적인 내용을 수용하기엔 많은 기술 한계에 부딪힌다. '크립토키티'같은 디앱(DApp)에 쓰이는 걸 볼 수 있지만. 대부분 스마트컨트랙트는 토큰 발행 구조에만 쓰이고 있다."