블록체인에는 ‘지갑’이라는 어플리케이션이 존재한다. 이 지갑은 여러 개의 계좌 주소를 관리하여 사용자가 암호화폐를 입금 받아 잔고를 관리하거나, 계좌에 대응하는 프라이빗 키를 이용해서 자산을 다른 사람에게 전송하기에 용이하도록 만들어져 있다.
하지만 암호화폐 지갑은 일반적인 지갑의 개념과 달라서 자산이 지갑에 들어있는 것은 아니고 블록체인에 기록된 자신의 자산을 추적하여 잔고를 보여주거나 자산을 전송하는 트랜잭션에 전자 서명(Digital signature)하는 기능을 가지고 있다. 이번 글에서는 지갑의 종류를 크게 세 가지로 나누어 그 정의와 동작 방식을 살펴본다.
1) 핫 월렛 (Hot wallet)
암호화폐를 전송하려면 트랜잭션을 만들어서 서명하고 이를 블록체인 네트워크에 전파(propagate)시켜야 한다. 따라서 네트워크에 전파하려면 당연히 지갑이 설치된 디바이스가 인터넷에 연결되어 있어야 하는데, 이것이 용이하도록 항상 인터넷에 연결되어 있는 지갑을 ‘핫 월렛’이라고 부른다.
핫 월렛은 암호화폐를 전송하기에 편리하지만 항상 인터넷에 연결되어 있기 때문에 해킹의 위험에 늘 노출되어 있다. 따라서 핫 월렛에는 많은 양의 자산을 보관하지 않는 것이 좋으며, 지갑이 관리하는 프라이빗 키가 탈취되지 않도록 보안에 각별히 신경 써야 한다. 대표적인 핫 월렛으로는 구글 크롬 브라우저의 익스텐션으로 설치하여 사용하는 메타마스크(https://metamask.io)가 있다.
메타마스크 (출처: https://metamask.io)
2) 콜드 월렛 (Cold wallet)
콜드 월렛은 핫 월렛과 다르게 인터넷에 항상 연결되어 있지 않은 지갑을 의미한다. 전자 서명을 통해 트랜잭션을 만들고 네트워크에 전파할 때만 잠시 인터넷에 연결되기 때문에 해커가 인터넷을 통해 침입할 확률을 낮춤으로써 보안성을 높이는 것이다.
보통 렛져 나노 S(Ledger Nano S)라든지 트레져(TREZOR)처럼 트랜잭션을 발생시킬 때만 인터넷이 연결된 컴퓨터에 연결하는 하드웨어 월렛이 바로 콜드 월렛에 해당한다.
3) 하드웨어 월렛 (Hardware wallet)
하드웨어 월렛은 콜드 월렛의 대표적인 예이지만 두 개념이 완전하게 동일하지는 않다.
콜드 월렛은 인터넷에 연결되어 있지 않은 지갑을 의미하지만, 하드웨어 월렛은 프라이빗 키를 하드웨어적으로 안전한 보안 구역(secure area)에 보관한다. 또한, 운영체제(Operating Syatem)가 따로 존재해 전자 서명을 보안 구역(secure area)에 가지고 있는 정밀제어장치(microcontroller)에게 요청하는 형태로 작동하는 지갑을 의미한다.
즉, 사용자나 해커가 프라이빗 키에 접근할 수 없기 때문에 보안성이 높다는 것이 하드웨어 월렛의 가장 큰 특징이다. 단, 사용자도 하드웨어 월렛의 프라이빗 키에 접근할 수 없기 때문에 하드웨어 월렛의 보관 및 복구할 수 있는 리커버리 키의 보관에 각별히 신경을 써야 한다.
Ledger Nano S (출처: https://shop.ledger.com/products/ledger-nano-s)
결론
지갑은 사용자가 블록체인 네트워크에서 활동하기 위한 가장 기본적인 프로그램이다.
하지만, 암호화폐 지갑은 편의성이 높으면 보안성이 떨어지고, 보안성이 높으면 편의성이 떨어지는 특징이 있기 때문에 모든 자산을 하나의 지갑에 보관하는 것보다는 큰 자산은 콜드 월렛 혹은 하드웨어 월렛에 보관하고, 적고 자주 사용하는 자산은 핫 월렛에 보관하는 것이 좋다. 여기에 계좌를 여러 개로 나누고 자산을 분할하여 보관한다면 더 안전하게 암호화폐를 사용할 수 있다.
이렇게 할 자신이 없다면 암호화폐를 대신 보관해주는 커스터디(Custody) 서비스를 사용하는 것도 또 하나의 방법이 될 수 있다. 어떠한 방법을 사용하든지 암호화폐를 사용하기 위해 지갑에 대한 공부를 제대로 하는 것이 필요하다. 암호화폐가 대중화되기 위해서는 편의성이 높으면서 보안성을 해치지 않는 방법이 필요할 것이고, 이러한 서비스 역시 등장하길 기대한다.
지금 INBEX를 방문해보세요!