“화폐 타이틀 머나먼 답답한 비트코인”…’비트코인 성골’ 블록스트림 반론은

암호화폐 대장주 비트코인은 아직 ‘화폐’로 인정받지 못하고 있다. 미국 연방준비제도(Fed) 제롬 파월 의장은 “비트코인은 아무도 결제 수단으로 쓰지 않는다”면서 “금의 대안으로 더 많이 쓰이기 때문에 투기적 가치저장 수단일 뿐”이라고  못 박았다.

하지만 비트코인을 ‘화폐’로 자리매김하도록 하는 노력은 여전히 현재진행형이다. 지난달 26일(현지시간) 미국 샌프란시스코에서 열린 ‘비트코인2019’ 현장에서 만난 블록스트림(Blockstream) 앤드류 포엘스트라(Andrew Poelstra) 수석 연구원은 “여러 기술을 통해 비트코인 네트워크의 현재 한계를 개선할 수 있다”고 밝혀 눈길을 끌었다. 블록 크기 논란, 결제용 네트워크 이슈, *슈노 서명 기술을 먼저 도입한 비트코인캐시 등에 대한 그의 생각도 들을 수 있었다. 

*슈노 서명(Schnorr Signature) : 비트코인 네트워크에서 거래를 검증하는 구조에서 거래 데이터에 포함된 서명 데이터의 크기를 효율화하는 기법.

2014년 설립된 블록스트림은 비트코인 프로토콜 관련 개발업체다. 비트코인 등 여러 암호화폐가 채택하는 네트워크 운영 알고리즘인 작업증명(PoW) 시스템을 고안한 아담 백(Adam Back) CEO를 주축으로 비트코인 핵심 개발자들이 모여 만들었다. 인터넷 없이도 비트코인 블록체인에 접근할 수 있도록 인공위성을 활용하는 서비스부터 비트코인 처리 속도를 향상하는 솔루션을 구축하고 있다. 

사이드체인에 대한 설명. (이미지 출처 : 블록스트림)

Q.블록스트림은 어떤 회사인지 자세히 설명해주세요.

블록스트림은 프라이버시, 확장성 관련 기술을 개발하는 전문 개발사입니다. 주요 개발 제품으로는 리퀴드(Liquid)라는 *사이드체인이 있어요. 리퀴드는 연합형(federated) 사이드체인입니다. 비트코인 네트워크에서 이 곳으로 비트코인을 옮기거나 그 반대가 가능하죠. 리퀴드 네트워크에서 비트코인은 최소 11개의 합의를 기반으로 하는 컨소시엄에 의해 수탁받습니다. 비트코인을 다시 돌려보낼 때 15개 운영 멤버 중 11곳이 코드를 실행하는 멀티 시그니처(다중서명) 역할을 수행합니다.

*사이드체인(side chain) : 주요 블록체인 외에도 자산 이동, 상호운용성, 본 체인 성능 향상 등을 목적으로 공존하는 블록체인을 뜻한다. 

이 사이드체인에선 프라이버시 기술도 적용합니다. ‘기밀자산(confidential asset)’을 예로 들 수 있겠네요. 비트코인뿐 아니라 여러 가지로 구성된 임의의 자산을 발행하고 싶을 때 이에 대한 트랜잭션에서 해당 자산이 어떤 것으로 구성됐는지, 얼만큼을 활용했는지도 드러내지 않을 수 있습니다. 

네트워크 검증인(verifier)은 어떤 것도 볼 수 없죠. 검증을 위해 개별 트랜잭션을 볼 순 있지만, 인플레이션이나 변조가 발생하지 않는다는 점을 보증하면서도 블록체인에서 디테일을 공공연하게 보이지 않도록 할 수 있습니다. 검증인은 세부사항까지 다 들여다보지 않고도 검증에 임할 수 있는 겁니다.

오늘날 비트코인은 스크립트(Script)라는 컴퓨팅 시스템을 갖췄습니다. 단순한 형태의 스마트 컨트랙트를 쓸 수 있는 언어죠. 3명 중 2명이 비트코인을 전송하는 데 서명하는 ‘다중 서명’을 예로 꼽을 수 있습니다. *아토믹스왑을 통해 피차 독립적인 두 트랜잭션이 늘 함께 수행되도록 할 수도 있고요. 혹은 타임락(Timelock)을 걸어 일정 시간이 지나기 전까지 비트코인이 움직이는 걸 제한하는 방식도 있습니다.

*아토믹 스왑(Atomic Swap) : 중앙 거래 플랫폼을 거치지 않고, 서로 다른 암호화폐를 직접 교환하는 개념.

Q.‘라이트닝 네트워크’도 블록스트림이 개발하는 것 중 하나로 알고 있습니다.

맞습니다. 라이트닝 네트워크를 통해 결제 채널을 열어 우리끼리 돈을 주고받는 방식입니다. 레이어2라고 할 수 있죠. 이 채널을 닫기 전까지는 이뤄진 거래가 최종적으로 블록체인에 퍼블리시하지 않는 방식이기 때문입니다. 

이 채널의 상태는 항상 비트코인 블록체인에서 검증된 트랜잭션에 의해 대변됩니다. 

주요 블록체인과 라이트닝 네트워크의 관계도. (이미지 출처 : 블록스트림)

예를 들어 제가 커피를 사고 싶을 때 저와 당신 그리고 당신과 커피숍 사이의 페이먼트 채널이 연결돼있다면 저는 당신을 통해 커피를 살 돈을 보낼 수 있습니다. 결제 채널을 업데이트해서 5달러를 제가 당신에게 주고, 대신 그에 대한 보증을 걸어두는 거죠. 비트코인 스크립트 시스템을 지렛대 삼아 이 결제가 제대로 이뤄질 수밖에 없도록 각자에게 확신을 줄 수 있습니다. 이 5달러를 커피숍도 받았고, 중간과정에서 당신이 멈출 수 없다고 말이죠.

Q.‘비트코인2019’ 현장에선 “비트코인 가격이 상승해 거래 수수료가 오르면 라이트닝 네트워크 입장에서 부담스러울 수 있겠다”는 말이 나왔어요. 

일단 라이트닝 네트워크 채널이 한 번 구축되면 채널 업데이트는 기본적으로 공짜입니다. 블록체인을 거치지 않고 수천~수만 개 트랜잭션을 하나의 트랜잭션으로 압축해 그 결과를 블록체인에 올리는 방식으로 처리합니다. 즉, 거래 수수료 비중이 얼마나 드는지 간에 수많은 결제 및 송금 과정에서 이를 신경쓰지는 않는다는 겁니다.

유일한 우려가 있다면 페이먼트 채널을 여닫기로 결정할 때인데요. 이 두 가지 변화는 모두 온체인 트랜잭션으로 기록해야 한다는 점이죠. 하지만 반드시 결제 및 송금을 진행하기 직전에 채널을 열 이유도 없고, 페이먼트를 마치자마자 채널을 닫을 필요도 없습니다. 채널 오픈과 종료가 이로부터 독립적이라는 게 흥미롭습니다.

저희 입장에서 비트코인 수수료 시장은 2가지 점에서 비효율적입니다. 일단 몇몇 큰 회사, 거대 거래 플랫폼이 굉장히 비효율적인 트랜잭션을 만들어 가격을 살짝 올리려 합니다. 또 몇몇 지갑 앱에서 본인들이 필요로 하는 수수료를 책정할 때 비효율적으로 행동합니다. 왜냐하면 앱 입장에선 수수료를 너무 낮게 책정하니 고객의 트랜잭션이 블록체인에 포함되기까지 길게는 2시간까지 걸릴 수 있기 때문입니다. 반면 수수료를 높게 책정해버리면 지갑 앱이 아닌 비트코인 네트워크가 욕을 먹고요. 물론 지갑도 사용자 경험 이슈로 인해 더 효율화하고 있지만, 수수료를 높게 부를 유인이 있는 셈입니다.

라이트닝 네트워크는 비트코인 거래 수수료 시장에 해결책을 주기도 합니다. 이 시장이 언제 오르고 내리는지 최소 일주일 단위로 예측할 수 있습니다. 뉴욕에서 일하는 오전 9시부터 오후 4시 사이에는 비트코인 수수료가 늘 오릅니다. 미국 저녁 시간대에는 내려가고요. 주말에는 비트코인을 쓰기 가장 저렴한 시점입니다. 토요일과 일요일 오후 말이죠. 예측 가능한 패턴입니다.

그러니 라이트닝 네트워크 사용자 입장에선 채널을 일요일 오후에 열어 경제적으로 이점을 얻고, 일하는 주중에 실제 거래를 위해 채널을 쓸 수 있습니다. 네트워크 사용과 수수료 시장에 대한 노출을 이렇게 분리할 수 있다는 점이 라이트닝 네트워크가 가져오는 중요한 포인트 중 하나입니다. 이런 식으로 수수료 시장에서 예측 가능한 비효율을 완화할 것으로 봅니다.

비트코인 가격이 급격히 올랐던 6월달에 거래 수수료 비율도 동반상승했다. (이미지 출처 : 비트코인포차트)

Q.’비트코인이 한 분기에 처리하는 트랜잭션 규모(블록 크기)를 늘리라’는 지적도 꾸준히 나오는데, 이에 대해선 어떻게 생각하시나요?

비트코인은 매 블록, 10분마다 대략 2.5 메가바이트의 트랜잭션을 처리합니다. 일정량의 트랜잭션을 감당할 수 있다는 제약이 있습니다. 물론 현재로선 10억 명가량이 비트코인을 사용하도록 하기 위해 블록 사이즈를 기술적으로 늘리는 게 유일한 방법일지도 모릅니다. 

실제로 유저가 직접 블록체인을 내려받아 스스로 내역을 검증할 수 있다는 점도 비트코인의 중요한 특징이죠. 이때 당신이 (그 다음 분기에서) 블록 크기를 2배든, 5배든 늘릴 수 있다는 뜻이기도 합니다. 100배, 1000배로는 성사될 수 없고요. 이렇게 크게 늘릴 경우 검증인들이 네트워크를 쫓아가지 못할 테고, 정치적으로 어떤 일이 벌어질지 이젠 훤합니다.

관련 기사 : 기자가 겪은 하드포크 ‘공포’…1분 만에 BCH 팔아치운 까닭은?

게다가 아직 중앙처리장치(CPU)가 그만큼 빨라지지 않고 있고요. 오히려 더 병렬(parallel)적으로 발전하고 있어요. 많은 유저가 노트북에서 스마트폰, 자동차로 넘어가면서 컴퓨터 자체가 다소 느려지기도 했습니다.

블록 사이즈를 늘리는 방향이 잠재적으로 일어날 일이긴 합니다. 분명 사람들이 이 네트워크에 들어올 때 겪는 문제를 경감해줄 테고요. 하지만 블록 크기 문제가 확장성을 소폭 허락한다면 라이트닝 네트워크는 더 큰 규모의 확장성을 제공합니다. 현재로선 라이트닝 네트워크가 100배가 넘어요. 우리는 1000배 그 이상을 원하고 있는걸요.

라이트닝이 셀 수 없는 트랜잭션을 채널 오픈과 종료, 2번의 트랜잭션에 드는 비용으로 해낸다면 블록 크기 늘리기는 5배쯤 공간을 확보하는 거겠죠. 그렇다 쳐도 여전히 복잡한 문제입니다. 블록 크기를 5배 늘리니 1번 드는 비용으로 5개 트랜잭션을 수행하는 셈입니다. 

또한 블록 크기 늘리기는 일시적으로 (수수료 시장과) 독립되는 상황도 마련해주지 않습니다. 거래 비용이 상대적으로 싼 일요일 아침에 결제 채널을 열어서 월요일 아침에 쓰는 방식 말입니다. 여전히 트랜잭션이 필요할 때 트랜잭션을 생성해야 합니다. 

라이트닝이 이 둘을 분리해준다는 점도 중요하다고 생각합니다. (블록 사이즈 확대는) 현재로선 낮은 위치에 걸려 있는 과실이랄까요. 앞서 언급한 효과와 엄연히 다르죠. 

비트코인이 시작된 이후 평균 블록 사이즈. (이미지 출처 : 블록체인닷컴)

아직 딱 좋은 솔루션이 없어서 당장 말해줄 건 없습니다. 다만, 수년 전을 떠올려볼 때 비트코인 분야는 지금까지 지속해서 혁신해왔습니다. 매번 새로운 기술이 등장했죠. 5~10년간 이 제약사항에 공을 들이면 블록스트림이든 다른 누군가든 기술을 개발해 다음 장애물을 극복할 것이라 낙관합니다. 

Q.하지만 라이트닝 채널을 지원하는 노드(운영자 컴퓨터) 입장에선 수익이 적어 지속가능성이 떨어질 수 있다는 비판도 제기됩니다.

현재 라이트닝 네트워크가 제대로 동작하고, 사용자 경험을 더 늘리는 데 주안점을 두고 있습니다. 개발 초기 단계에서는 지속가능성이 최우선 과제가 아닙니다. 만약 수수료가 적어 비용이 덜 드는 시간대에 채널을 여닫도록 사용자경험이 디자인됐다면 채널 운영이 좀 더 효율적일 수 있겠지만, 통상적으로는  소프트웨어를 받아 채널을 여는 데 여러 가지가 요구되니깐요. 

더구나 지금 라이트닝 네트워크 검증인의 수수료는 겨우 20달러에요. 이 네트워크가 일단 새롭고, 여전히 성장하는 중이라 사용자 기반이 이제 확대되고 있어요. 만약 6개월 이내에 사업을 성사시켜야 한다면 라이트닝 채널이 정답은 아닐 겁니다. 하지만 앞으로 5년간 돈을 벌고 싶다면 이게 답이죠. 투자를 돌려받으려면 장기적인 안목이 필요해요. 스마트 비즈니스의 비극이기도 합니다.

Q.행사장에선 ‘비트코인캐시보다 *슈노서명 도입이 늦은 이유가 무엇이냐’는 질문도 나왔습니다.

비트코인캐시가 슈노서명을 빨리 도입할 수 있었던 이유는 두 가지입니다. 일단 기술적으로 반복해서 검토(iteration)하지 않았습니다. 게다가 이들의 솔루션은 비트코인의 것보다 훨씬 열등하고요. 스크립트 내역을 숨기는 기능도 없고, 스마트컨트랙트의 디테일을 가려주지도 못합니다. 다중 서명으로부터 슈노서명을 생성하는 성능도 제공하지 않습니다. 

더불어 상호-슈노서명을 생성하는 데 필요한 부가적인 소프트웨어가 아직 다 마련되지 않았다고 생각합니다. 하지만 비트코인캐시 디자인은 이를 고려할 필요가 없었던 듯합니다. 비트코인 코어 개발자인 피터 바일라(Peter Wuille)와 제가 쓴 초기 코드를 그대로 베껴갔습니다. 오픈소스니 얼마든지 환영하지만, 비트코인캐시가 최종 디자인에 대해 고민하지 않았기에 슈노서명을 빨리 배치할 수 있었다고 봅니다. 

마지막으로 비트코인캐시가 이런 기술을 ‘그냥 바로’ 적용할 수 있다는 점도 짚고 넘어가고 싶어요. 이들에겐 널리 탈중앙화한, 서로 다른 이해관계자가 등판하는 커뮤니티가 없습니다. 비트코인에선 합의 프로토콜을 바꾸려면 네트워크의 모든 개별 참여자가 변화에 발맞춰 소프트웨어를 업그레이드해야 합니다.

비트코인이 이미 수년 전에 할 수 있었던 간단한 기술적 작업을 그들 방식대로 적용한거에요. 우린 이 과정에서 누군가 돈을 잃을지도 모르는 상황을 염려합니다. 비트코인캐시에선 이런 일이 몇 차례 발생했고요. 업그레이드 과정에서 누군가 제 손에 든 돈이 그냥 없어지는, 그런 식이었습니다. 비트코인캐시가 이 돈을 돌려놓기 위해 하드포크 (체인 분리 및 업그레이드)를 진행할 수도 있다면 이미 굴러가는 시스템(production system)에 그럴 순 없습니다. 

비트코인은 더 거대하니 그럴 수 없어요. 품질 보증에 굉장히 신경 쓰게 됩니다. 디자인 시범 적용을 반복해 가장 효율적인 디자인을 얻어 이를 배치합니다. 이 모든 과정이 이해관계자들을 거쳐야 합니다. 서명을 생성하는 지갑 단위에서 개발해야 할 부가기술과 네트워크 합의 단계에서 여러 디자인 검사도 필요합니다. 누구라도 우연히 혹은 도둑맞지 않도록 하고, 더 나은 사례를 지원하면서 확장 가능한 형태로 서명 기술을 적용할 수 있는지 보장하기 위한 순서에요.

포엘스트라 연구원이 공동집필한 슈노 서명에 대한 논문 차트. 다중서명을 통해 비트코인 블록체인 덩치가 줄어든다는 분석이다. (이미지 출처 : 논문)

슈노서명 도입이 늦은 이유가 무엇이냐는 질문은 ‘비트코인에 어떤 진척도 없다’는 물음이기도 합니다. 하지만 비트코인 커뮤니티는 슈노서명이 공개키를 커버하는지 여부 등을 확신하는 데 어마어마한 양의 연구를 진행해왔습니다. 임계 서명(threshold signature)이나 슈노기반 다중서명 도입에서도 상당한 진척을 이뤘습니다. 라이트닝 결제를 진행할 때 예전엔 원시적인 암호화 알고리즘을 드러내야 했는데, 이젠 재익명화(reblind)할 수 있어 프라이버시 이점도 생겼습니다.

Q.10년 후 비트코인은 어떤 모습일까요? 블록스트림의 미션은 무엇인가요?

먼저 10년 전 비트코인을 떠올려보죠. 당시 비트코인 스크립트 시스템은 엉망이었습니다. 누구나 코인을 훔칠 수 있었어요. 2008년 컨셉이 도출된 후 2년간 그런식이었어요. 초창기에는 기초적인, 근본적인 구조에 대한 지속적 검토가 없었습니다. 우리가 지금 알고 있는 비트코인은 2010년 말, 2011년까지도 존재하지 않았습니다.

하지만 지난 2년간 블록체인, 검증 기술에 대한 관점이 바뀌었습니다. 그래서 코드를 실행하는 것과 거기에 설정된 조건을 검증하는 작업 사이를 구별하고 있습니다. 블록체인에서 무슨 일이 일어나는지 사람이 이해하는 선과 기계가 이해하는 것 사이에 간극이 있어요.

비트코인 스크립트는 이더리움과 유사하게 기계언어로 디자인돼서 ‘이걸 움직여라, 이걸 재정돈해라, 서명 체크해라’, 이런 식으로 말합니다. 하지만 유저 입장에선 깜깜이에 무언가 요구할 순 없을 겁니다. ‘내가 사인하기 전이나 일정 시간이 지나기 전, 타인이 서명하기 전까지 이 코인을 쓸 수 없다’고 말하길 원할 테죠.

임의의 프로그램이 어떻게 실행되는지 묻는다면 이를 수학적으로 대답하는 건 거의 불가능합니다. 반대로 프로그램 실행을 검증할 때 블록체인 규칙, *영지식 증명를 활용한 검증 소프트웨어에 따라 바로 검증할 수 있고요. 근본적으로 심플한 작업입니다. 앞으로 10년 안에 비트코인 스크립트는 실행 모델에서 검증 기반 모델로 전환할 것으로 기대하고, (네트워크 내에서 검증자들이) 경쟁을 대하는 방식을 바꾸리라 봅니다. 이때 그 과정은 프라이버시에 초점을 맞추게 될 거고요.

*영지식증명(zero-knowledge proof) : 상대방에게 자신이 가진 모든 정보를 노출하지 않고도 특정 정보의 존재를 증명하는 기술.

(일본에서 인공위성 서비스를 활용해 인터넷 없이도 비트코인 네트워크에 접속할 수 있다. 영상 출처 : 블록스트림)

블록스트림은 이 미래를 현실로 이끌기 위해 세 가지를 합니다. 첫째, 심플리시티(Simplicity)라는 스마트컨트랙트 언어를 개발합니다. 수학적인 ‘자동 정리 증명(theorem proving)’ 소프트웨어를 적용해 스마트컨트랙트 구축 등을 확인하기 위한 수학적 증거를 생성할 수 있다는 뜻입니다. 수학적 프레임워크 형태로 정의된 언어이기 때문이죠. 

내가 ‘움직이라’고 하기 전까지 이 코인이 움직이지 않기 원한다면 ‘이 코인을 움직이는 데 서명이 필요하다는 걸 수학적으로 연역해 증명할 수 있습니다. 서명이 몇 개 필요한지, 이런 방식에서 비용이 얼마나 들지 수학적으로 증명할 수 있다는 말이고, 이게 지갑 앱 입장에선 수수료 책정에 도움이 될 겁니다. 

두 번째로 영지식증명 기술을 개발하는 방향입니다. ‘방탄(Bulletproof)’이라는 기술을 개발하고 있어요. 적은 절차를 거쳐 효율적으로 네트워크를 검증하는 방법입니다. 

세 번째로 미니스크립트(miniscript)를 꼽을 수 있다. 비트코인 지불 조건을 설명하는 방법의 하나로 시각화 언어입니다. 오늘날 비트코인에 나뭇가지처럼 연결된 여러 컨트랙트를 당신이 읽기 편한 방식으로 인코딩, 디코딩(푸는) 시각적 표시랄까요. 

단지 단순한 컨트랙트를 통해 보안을 최대한 보장받는 것뿐만 아니라 비트코인을 복잡다단하게 활용할 기회도 얻을 수 있는 셈입니다. 간단한 스마트컨트랙트를 통해 서로 다른 지갑 소프트웨어의 상호 운용될 수 있어요. 

원래 지불 정책이 복잡하면 트레저나 레저 같은 하드웨어 월렛이 어디에 어떻게 자금을 둘지 헷갈릴 수 있습니다. 이 설정을 코딩하기 위해 소프트웨어 엔지니어를 필요로 하는 상황이죠. 

미니스크립트는 레저에 서명을 꽂고서 지불 정책을 설정한 후 나중에 이 정책을 변경할 때 엔지니어가 직접 스크립트를 새로 써줄 필요 없어요. 내가 직접 이 작업을 수행할 수 있습니다. (미니스크립트 언어와 그 산출물이) 시각적이고, 심플하니까요. 이 모든 내용이 ‘다가오는 미래’입니다. 비트코인 소프트웨어 단위에서 상호 운용성이 더 나아지는 미래입니다.

관련 기사 : [기자수첩] 블록체인에서 기회 찾는 미국 IT 시장, 그 이유를 만나다