<이미지출처=셔터스톡>

암호화폐 미디어 코인데스크에 따르면, ‘비트코인 코어(Bitcoin Core)’의 18번째 업그레이드가 다가오고 있다고 전했다.

비트코인에서 가장 많이 쓰이는 클라이언트 소프트웨어인 비트코인 코어는 새로운 업그레이드를 통해 이용자들이 하드웨어 지갑에 비트코인 풀 노드(full node)를 직접 연결할 수 있게 할 예정이다.

이는 사용자 보안 측면에서 획기적인 업그레이드다. 비트코인 풀 노드를 이용하면, 거래가 실제로 이루어졌는지 사용자가 스스로 검증할 수 있게 된다. 또한, 하드웨어 지갑은 비트코인을 보관하는 가장 안전한 방법이므로 이 두가지를 결합하면 사용자가 마침내 비트코인을 온전히 스스로 관리할 수 있게 된다.

이번 업그레이드를 주관하고 있는 비트코인 코어의 선임 관리자 ‘Wladimir van der Laan(블라디미르 반더란)’은 “오랫동안 염원해온 기능이 드디어 실현된다”며 흥분을 감추지 못했다. 이번 업그레이드는 기술 전문가가 아닌 일반인들도 비트코인 풀 노드를 더 쉽게 이용할 수 있도록 개선하기 위한 노력 중 하나다.

비트코인 코어 개발자 ‘앤드루 초우(Andrew Chow)’는 본인의 트위터에 이렇게 썼다.

비트코인 코어 0.18 버전이 출시되면 하드웨어 지갑 인터페이스(Hardware Wallet Interface, HWI)를 이용해서 하드웨어 지갑을 사용할 수 있게 된다. 아직 개발하는 단계이므로 완전히 자동화되기까지는 시간이 걸리겠지만, 기능이 구현되었다는 것만으로도 대단한 도약임이 틀림없다. 일반 사용자들이 편리하게 사용하는 그 날까지 개발자들은 노력을 멈추지 않을 것이다.


두 마리 토끼 잡기

그렇다면, 비트코인 풀 노드를 써야 할 이유는 무엇일까?

비트코인 네트워크에서 거래하려면 사용자는 우선 비트코인 노드에 연결해야 한다. 풀 노드는 100GB를 훌쩍 넘는 분산원장 데이터가 다 들어있는 노드로, 메모리 크기가 작은 노트북의 하드웨어 용량에 맞먹는다.

용량은 크지만, 풀 노드만 가진 장점도 있다. 정확한 금융정보를 얻기 위해 다른 누군가에게 의존할 필요가 없다는 점이다.

비트코인의 가치는 신뢰가 필요 없는 공유 원장이라는 데 있다. 그래서 원칙을 고수하는 일부 개발자들 가운데는 풀 노드를 쓰지 않는 것은 비트코인의 기본목적을 위배하는 것이라고 주장하는 사람도 있다.

‘세그윗2x 프로젝트(Segwit2x Project)’를 예로 들 수 있는데, 이 프로젝트는 비트코인의 블록 크기를 두 배로 늘리는 하드포크로 2017년 추진되었다가 커뮤니티의 반대로 무산되었다. 당시 세그윗2x를 실제로 진행해 비트코인 블록체인이 둘로 분리되면, ‘간이 결제 확인(Simplified Payment Verification, SPV)’ 기술에 의존하는 모바일 지갑들은 안전성을 위협받을 수 있다는 우려가 제기됐다.

비트코인 코어 개발자 ‘쇼즈 브로부스트(Sjors Provoost)’는 “이론적으로 서버에서 사용자의 잔액을 거짓으로 보여줄 수 있다. 세그윗2x가 실행되었다면 둘로 나뉜 비트코인 네트워크 가운데 어느 쪽 정보를 선택할 것인지 정해야만 했을 것이다. 하지만 풀 노드 사용자라면 그런 걱정을 할 필요가 없다.”고 말했다.

풀 노드 사용은 개인정보보호와도 관련이 있다. 프로부스트는 이와 같이 설명했다.

일반적으로 하드웨어 지갑에 연동된 지갑 소프트웨어는 제3의 서버에 사용자의 계좌정보를 제공한다. 그러나 풀 노드는 이러한 지갑 소프트웨어를 대체할 수 있으며, 사용자의 개인정보는 보호받게 된다.

이러한 보안문제 때문에 아예 모두가 풀 노드 소프트웨어를 사용해서 정확한 금융정보를 스스로 검증할 수 있어야 한다는 주장도 나온다.

‘BTC페이(BTCPay)’의 창립자 ‘니콜라스 도리에(Nicolas Dorier)’는 최근 본인의 블로그에 “언젠가는 풀 노드 사용이 기조가 될 것이며, 미래에는 풀 노드를 이용하지 않는 사람이 사용자 경험 측면이나 실행 측면에서 큰 제약을 받게 될 것이다.” 라고 말했다.

오프라인 비트코인의 안전성

비트코인 코어 0.18 버전의 두 번째 핵심은 하드웨어 지갑 사용이다. 하드웨어 지갑은 비트코인을 보관하는 가장 안전한 방법으로 알려져 있다. 인터넷에 연결된 컴퓨터에 지갑을 보관하면 해커의 공격에 노출되지만, 하드웨어 지갑은 그렇지 않다.

비트코인 코어 지갑 유지 관리자 ‘Samuel Dobson(사무엘 돕슨)’은 “PC는 개인키 보관에 특화된 작은 보안 장치에 비해 공격에 노출될 가능성이 크며, 예기치 못한 고장이나 장애가 발생할 확률도 훨씬 크다.”고 말했다.

이 기술이 개발되기까지는 오랜 시간이 걸렸다. 풀 노드에 하드웨어 지갑을 연결하는 것은 ‘크리스 벨처(Chris Belcher)’가 개발한 ‘일렉트럼 퍼스널 서버(Electrum Personal Server)’의 주요 목표 가운데 하나이기도 했다. 지난해 프로젝트 공개 당시 벨처는 “가능한 한 많은 사람들이 풀 노드를 사용하게 되는 데 일렉트럼이 일조할 수 있기를 바란다”고 말한 바 있다.

하지만, 비트코인 코어 0.18 버전에도 단점이 존재한다. 하드웨어 지갑 인터페이스(HWI)를 사용하면 필요한 소프트웨어 컴포넌트의 수가 줄지만, 현 단계에서는 일렉트럼 퍼스털 서버에 비해 사용자 친화도가 떨어진다. 또한, 그래픽 인터페이스의 동작 면에서도 아직 개선될 여지가 많다. 프로부스트는 이와 관련된 발표에서 “시연에서 보여드린 수준의 그래픽이 실현될 날이 언젠가 올 것”이라고 밝혔다.

그 외 기능

비트코인 코어 0.18에는 획기적인 하드웨어 지갑 지원 기능 외에도 여러 가지 흥미로운 기능이 포함될 예정이다. 돕슨은 인터뷰에서 몇 가지 흥미로운 기능을 소개했는데, 그 중 하나는 지난번 업그레이드 때 기초를 놓았던 새로운 ‘언어’의 개선이다. 이제 개발자들은 이 새로운 언어를 사용해서 정보를 추가할 수 있게 될 것이다.

이제 코어에 추가 정보를 더할 수 있게 되고, 추가 정보를 사용해서 코어를 분석한 후 개인 키와 스크립트 등을 지갑으로 불러올 수 있게 될 것이다. 이것은 지갑의 성능을 개선하고 추가 정보 입력을 지원하는 장기 프로젝트의 첫 단추다.

그 결과 비트코인 지갑 환경은 깔끔하게 정리될 것이고, 자연스럽게 작동할 것이다.

그 밖에 새로운 기능 중 다중 지갑 관리기능은 사용자들이 비트코인 코어 풀 노드에서 여러 개의 지갑을 관리할 수 있도록 도와준다.

기능은 사용자들이 비트코인 코어 풀 노드에서 여러 개의 지갑을 관리할 수 있도록 도와준다.

기존 코드에서도 여러 개의 지갑을 동시에 사용하는 것이 기술적으로는 가능했지만, 0.18 버전에서는 최초로 그래픽 사용자 인터페이스(GUI)가 제공되며, 작동법 또한 일부 개선되었다. 이제 전문 개발자가 아니더라도 이 기능을 이용할 수 있게 된다.

현재 비트코인 코어 0.18 버전은 소프트웨어 개발 단계 가운데 “출시 대기” 상태에 있다. 이제 몇 주만 더 기다리면 새로운 비트코인 코어를 만나볼 수 있을 것이다.

ⓒ 더노디스트, 무단 전재 및 재배포 금지
기사 제보 및 보도 자료 : press@kr.thenodist.com