본문으로 건너뛰기

소프트웨어 지갑

이 글에서 말하는 소프트웨어 지갑은 사용자가 개인키를 직접 보관하고 서명하는 온라인 소프트웨어 지갑입니다. 휴대폰이나 컴퓨터의 소프트웨어 안에서 보관과 서명, 전송을 처리할 수 있어 준비가 빠르고 편리합니다.

하지만 편리한 만큼 개인키가 인터넷에 연결될 수 있는 기기에 놓인다는 조건을 함께 받아들여야 합니다. 소프트웨어 지갑은 모든 금액을 보관하는 장소라기보다, 자주 사용하는 금액을 두는 주머니에 가깝습니다.

주머니 지갑처럼 사용하는 이유

바지 주머니에 넣고 다니는 지갑에는 며칠 쓸 현금만 넣습니다. 편의점에서 바로 꺼내 쓸 수 있지만, 잃어버릴 수도 있기 때문에 전 재산을 넣고 다니지는 않습니다.

소프트웨어 지갑도 비슷합니다. 자주 사용할 금액을 넣어 두면 편리하지만, 큰 금액이나 오래 보관할 금액은 별도의 보관 방식으로 나누는 편이 좋습니다. 주머니와 금고는 서로를 대신하는 것이 아니라 쓰임에 따라 함께 사용하는 도구입니다.

앱 안에서 키가 사용되는 방식

소프트웨어 지갑을 처음 설정하면 복구 문구가 생성되는 경우가 많습니다. 문구의 단어 수와 표시·확인 방식은 지갑의 표준과 제품, 설정에 따라 다릅니다. 비트코인 지갑에서 널리 쓰이는 비피 서른아홉은 엔트로피와 체크섬을 단어로 인코딩하고, 그 문구와 선택적 패스프레이즈로 시드를 파생합니다. 복구 문구가 개인키 하나를 그대로 단어로 바꾼 것은 아닙니다(BIP39).

앱은 파생한 키를 기기 안에서 관리하고, 잠금 기능을 제공할 수 있습니다. 저장 방식과 암호화, 잠금 해제 수단, 복구 문구를 다시 표시할 수 있는지는 앱과 설정에 따라 다릅니다. 따라서 특정 방식이 모든 소프트웨어 지갑에 보장된다고 전제해서는 안 됩니다.

보내기를 누르면 앱이 거래를 만들고, 기기 안의 개인키로 그 거래에 서명합니다. 정상적인 서명 과정에서는 개인키 자체를 거래에 첨부하거나 네트워크로 보내지 않습니다. 밖으로 전송되는 것은 서명이 붙은 거래입니다. 다만 악성코드가 키를 훔치거나 사용자가 가짜 앱에 문구를 입력하면 개인키가 유출될 수 있습니다.

온라인 기기에 키를 둘 때의 위험

휴대폰이나 컴퓨터는 인터넷에 연결될 수 있습니다. 악성 앱이 설치되거나 화면을 훔쳐보는 환경이 만들어지면 키와 거래 정보가 위험해질 수 있습니다.

특히 복구 문구를 화면에 표시하거나 입력하는 순간을 조심해야 합니다. 가짜 앱이 진짜 앱의 이름과 아이콘을 흉내 내어 복구 문구를 입력하게 만들 수도 있습니다. 따라서 앱은 공식 배포처에서만 내려받고, 기기 잠금과 최신 업데이트를 유지해야 합니다.

복구 문구는 기기 밖의 종이나 금속에 적어 두는 것이 좋습니다. 문구를 사진으로 찍거나 온라인 저장 공간에 보관하면 온라인 노출 위험이 생깁니다. 큰 금액을 소프트웨어 지갑에 오래 두지 않는 것도 중요한 원칙입니다.

기기를 잃어버리면 비트코인도 사라질까

기기를 잃거나 고장 내면 그 안의 비트코인도 사라질 것처럼 느껴질 수 있습니다. 그러나 지갑이 사용하는 복구 문구와 필요한 설정 정보를 보관하고 있다면 다른 호환 기기나 앱에서 지갑을 되살릴 수 있습니다.

앱 자체를 백업하는 것보다 지켜야 할 것은 복구 문구와 지갑별 복구 정보입니다. 앱 비밀번호는 해당 기기의 잠금장치일 뿐이므로 기기를 바꾸면 그대로 사용할 수 없습니다. 반면 복구 문구는 호환되는 환경에서 키를 복구하는 데 사용됩니다.

따라서 기기는 키를 담아 둔 상자에 가깝고, 복구 문구가 실제로 지켜야 할 중요한 정보입니다. 복구 문구를 잃으면 기기를 잃었을 때 지갑을 되살릴 길도 잃을 수 있습니다.

소프트웨어 지갑을 고를 때 확인할 점

소프트웨어 지갑을 고를 때는 다음과 같은 점을 확인할 수 있습니다.

  • 개인키와 복구 문구를 사용자가 직접 보유하는 구조인지 확인합니다.
  • 소스가 공개되어 있다면 공개 범위와 라이선스를 함께 살펴봅니다.
  • 오랫동안 유지되어 온 앱인지 살펴봅니다.
  • 복구 문구와 필요한 지갑 설정을 다른 호환 앱으로 옮길 수 있는지 확인합니다.
  • 앱을 공식 배포처에서 내려받을 수 있는지 확인합니다.

복구 문구를 지갑 서비스가 대신 보관하는 구조라면 사용자가 키를 직접 관리하는 지갑과는 성격이 다릅니다. 무엇을 선택하든 문구와 개인키를 누가 보유하는지부터 이해해야 합니다.

일상용과 보관용을 나누기

일상용 지갑에는 손에 늘 들고 다니며 자주 사용할 며칠 치 금액만 둘 수 있습니다. 오래 보관할 금액은 인터넷과 분리된 다른 방식으로 옮겨 두는 식입니다.

처음에는 소액으로 보내고 받아 보면서 지갑의 복구와 전송 과정을 익히는 편이 안전합니다. 금액이 커지면 일상용과 보관용을 나누고, 필요할 때만 보관용에서 옮기는 습관을 들일 수 있습니다.

소프트웨어 지갑은 편리한 도구입니다. 다만 편리함은 인터넷에 연결될 수 있는 기기에 개인키가 있다는 조건과 함께 옵니다. 자주 쓰는 금액에는 주머니처럼 사용하고, 오래 둘 큰 금액은 다른 자리에 나누어 두는 것이 기본입니다.

관련 개념은 콜드 스토리지와 하드웨어 지갑에서 이어서 볼 수 있습니다.

링크 복사하기X에 공유페이스북에 공유쓰레드에 공유