암호화폐 지갑에 대해서

citron03·2022년 3월 14일
1

블록체인

목록 보기
6/19
  • 암호화폐 지갑은 암호화폐를 저장할 수 있는 계정을 의미한다.
  • 지갑, 또는 월렛(wallet)이라고 부른다.

지갑의 유형은 다양하게 나뉜다.

비결정적 지갑

  • 기본적으로 암호화폐를 사용할 때, 개인 정보 보호를 위해 암호화폐 주소는 재사용하지 않는 것이 바람직하다.
  • 매 트랜잭션마다 새로운 비밀키를 생성할 수 있으나, 기존의 지갑은 새로운 비밀키를 무작위로 추출해서 보관해야 한다.
  • 이 경우 지갑 데이터를 분실하는 경우가 발생하면, 해당 비밀키에 저장된 암호화폐와 해당 비밀키로 생성한 스마트 컨트랙트에 접근할 수 없게 된다.
    🍠 이를 방지하기 위해서는 지갑 데이터를 자주 백업해야 하는 불편함이 있다.

이처럼 매번 새로운 비밀키를 무작위로 생성하는 방식의 지갑을 비 결정적 지갑이라고 한다.

결정적 지갑

  • 비결정적 지갑의 불편함을 해소하고자 나온 지갑이 결정적 지갑이다.
  • 결정적 지갑은 하나시드에서 하나시드키를 가진다.
    🍜 이 시드키는 비밀 키를 만들기 위한 난수이다. 비밀키는 시드키를 인덱스나 다른 데이터와 결합하여 만든다.
    🍜 이 시드키는 자신으로부터 만들어진 비밀키를 복구할 수 있다.
  • 위와 같은 특성 때문에 시드 키로부터 만들어지는 모든 비밀 키는 그 값이 미리 정해져 있다고 볼 수 있다. (결정적)
  • 결정적 지갑을 사용하면, 하나의 시드 키만 알고있어도 시드 키에서 파생된 모든 비밀 키를 알 수 있다.
    🍣 따라서, 모든 비밀 키를 관리할 필요가 없고, 시드 키 하나만 잘 관리하면 된다.

HD 지갑

  • HD 지갑(Hierarchical Deterministic Wallet)은 계층적 결정지갑으로, 하나의 Seed key를 사용하여 여러 주소를 생성할 수 있는 암호화폐 지갑이다.

  • HD 지갑은 트리 형태이다.

  • HD 지갑에서는 하나의 부모 키가 여러 개의 연속된 자식 키를 만들고, 이 자식키는 다시 여러 개의 손자 키를 만들어 내는 방식으로 여러 개의 주소를 생성한다.

  • HD지갑은 BIP32에서 처음 제안되었으며, BIP39나 BIP44 등 여러 버전이 존재한다.

니모닉(Mnemonic) 코드 단어

  • 니모닉은 결정적 지갑에서 난수12개의 영단어로 인코딩한 영단어 그룹이다.
    🍇 니모닉 코드 단어 시퀸스에서 시드 키를 생성한다.
  • BIP39에서 제안되었다.
  • 기존의 시드 키는 숫자와 문자로 구성된 난수이기에 사용자가 기억하기 어려웠다.
  • 니모닉 코드 단어는 사용자가 기억하고 사용하기 쉽다.
  • 사용자가 이 단어 시퀸스를 기억하고 있으면, 호환되는 다른 지갑 app에서도 시드 키 및 파생된 모든 비밀 키복구할 수 있다.
  • 또한, 영단어이기에 사용자가 받아적기 쉽다.
    🍇 오타를 찾아내기도 더 쉽다.

브레인 월렛(Brain Wallet)

  • 브레인 월렛은 비밀 키를 랜덤하게 생성하지 않고, 일련의 단어 목록이나 문장을 이용해 비밀 키를 만드는 지갑이다.
  • 비밀 키를 만들 때 사용한 단어 목록이나 문장을 기억하고 있다면, 언제든지 비밀 키를 복구할 수 있기에 저장 방식이 간편하다.
    🍻 사용자에게 익숙한 문장으로 시드를 삼으면, 어딘가에 기록하지 않아도 사용할 수 있기에 안전하다.
  • 하지만, 사용자가 비밀 키를 만드는 데 사용한 단어 목록이나 문장을 잊는다면, 해당 비밀키에 영원히 접근할 수 없다.
  • 또한, 인간이 만드는 문장은 컴퓨터가 만들어낸 난수에 비해 임의성이 떨어지기에 무차별 대입 공격에 비밀 키가 노출될 수도 있다.
    🍺 위와 같은 이유로 브레인 월렛은 요즘에는 잘 사용되지 않는다.

스마트 컨트랙트 월렛

  • 일반적인 이더리움 사용자는 EOA(Externally Owned Accounts)로 자산을 관리한다.

  • 하지만 EOA는 코드, 즉 스마트 컨트랙트를 담을 수 없기에 기능이 제한적이다.

  • CA(Contract Accounts)를 이용하여 자산을 관리하는 경우 CA의 컨트랙트 코드를 이용해 누가 어떤 조건에서 내 자산에 접근할 수 있는지 프로그래밍화 할 수 있고, 이러한 방식의 월렛을 스마트 컨트랙트 월렛이라고 부른다.

  • 스마트 컨트랙트 월렛에서는 개인 키가 아니라, 스마트 컨트랙트를 통해 지갑을 관리한다.
    🍿 따라서, 기존의 단일 키를 사용하는 EOA 기반의 지갑보다 더 높은 수준의 보안과 유연성, 편의성을 제공한다.

  • 스마트 컨트랙트 월렛을 사용하는 사용자는 스마트 컨트랙트 코드를 통해서 여러 추가적인 고급 기능을 이용할 수 있다.
    🍿 멀티 시그 트랜잭션, 일일 송금 제한, 안전한 계정 복구, 긴급 계정 동결 등

  • 많이 사용되는 스마트 컨트랙트 월렛에는 Metamask, InstaDApp, Zerion 등이 있다.

멀티 시그 월렛(Multi-Dignature Wallet)

  • 스마트 컨트랙트 월렛의 한 종류로, 멀티시그(Multi-Sig)를 통해서만 송금이 가능한 월렛이다.
  • 기존의 핫 월렛과 콜드 월렛이 하나의 개인키를 사용하기에 보안에 문제가 있던 점을 해결하기 위해 나온 월렛이다.
  • 멀티 시그 월렛에서는 하나의 지갑에 N명의 사용자가 지갑에 대한 소유권을 가진다.
  • 멀티 시그 월렛에서 트랜잭션을 생성하기 위해서는 N명중에서 k명이 트랜잭션에 서명을 해야 한다.
  • 멀티 시그 월렛은 기존 지갑보다 보안이 우수하며, 송금 실수를 방지할 수 있다.
  • 하지만, 스마트 컨트랙트 상에서 구현되기에 컨트랙트 코드의 오류로 문제가 일어날 수 있고, 사용성이 부족하다.
    🥚 대부분의 암호화폐 거래소는 일반 지갑에서 이루어진 트랜잭션만 처리한다.
    🥚 따라서, 멀티 시그 월렛에서 일어난 트랜잭션을 인식하지 못할 수도 있다.
  • 대표적인 멀티 시그 월렛은 Argent, BitGo, ConsenSys, Gnosis 등이 있다.

다중 서명 월렛 (Multisig Wallet)

  • 다중 서명 월렛은 지갑이 거래를 완료하기 위해서 여러 당사자의 입력이 필요한 암호화폐의 지갑 유형이다.
  • 다중 서명 기술을 사용하는 암호화폐 지갑은 가족이나 기업이 사용하기에 이상적이다.
    🦀 모든 당사자들이 거래를 완료하기 위해서 PIN 입력이나 주문해야 하는 공유 은행 계좌와 유사하다.

다중 통화 월렛(Multi-Currency Wallet)

  • 일부 지갑은 단 한 가지 유형의 암호화폐만 보유할 수 있다.
  • 하지만, 요즘의 많은 지갑은 여러 유형의 암호화폐를 하나의 장소에 저장할 수 있다.
  • 일부 암호화폐 지갑에서는 암호화폐 사이의 변환을 지원하기도 한다.
    🍪 이와 같은 변환을 지원하지 않는다면, 환전을 하기 위해서 온라인에서 추가적인 단계를 수행해야 한다.

Hot Wallet과 Cold Wallet

핫 월렛과 콜드 월렛의 차이점은 단순히 암호화 지갑 유형이 인터넷에 연결되었는지이다.

핫 월렛

  • 핫 월렛은 온라인에 연결된 암호화폐 지갑으로 인터넷상에 연결되었으며 개인 키가 서버에 저장되어 있기에 사용자가 쉽게 접근할 수 있으며, 실시간으로 거래할 수 있다.
  • 핫 월렛은 인터넷에 접속해야지만 사용할 수 있고, 지갑이 인터넷에 연결된 경우 악의적인 해커에 의해 탈취될 가능성이 있어 보안에 취약하다.
  • 일반적으로 거래소에서 우리가 별도의 개인키를 입력하지 않고, 거래소의 아이디와 비밀번호만으로 이용할 수 있는 것은, 암호화폐 거래소가 사용자 정보를 대신 저장하고 관리해주기 때문이다.
  • 일반적으로 암호화폐 거래소는 사용자 지갑에 있는 여러 개인키를 사용해야 출금할 수 있도록 하는 멀티 시그 방식을 이용하여, 개인 키 일부가 유출되어도 출금할 수 없게 하여 비교적 안전하다.

🍅 대표적인 핫 월렛으로 메타마스크(MetaMask)가 있다.
🍅 크롬 브라우저에 설치하는 지갑인 메타마스크는 사용자 정보를 보관하고, 사용자는 비밀번호만 입력하면 암호화폐를 사용할 수 있다.

콜드 월렛

  • 지갑의 개인키를 오프라인으로 보관하는 지갑을 콜드 월렛이라고 한다.
  • 개인키를 카드나 USB에 저장하기에 하드웨어 월렛(Hardware Wallet)이라고도 부른다.
  • 대부분의 거래소에서는 자산의 일부만 핫 월렛에 보관하고, 대부분의 자산은 오프라인 상태의 지갑. 즉 콜드 월렛에 저장한다.
    🧂 거래소는 약 70%의 자산을 콜드 월렛에, 30% 자산을 핫 월렛에 보관한다.
    🧂 해킹의 위험이 발생하면, 자산을 모두 콜드 월렛에 옮겨 보호한다.
  • 콜드 월렛으로 거래하기 위해서는 우선 오프라인 상에서 트랜잭션을 생성한 뒤, 이 트랜잭션을 온라인에 입력해야 한다.
  • 핫 월렛에 비해서 번거롭지만, 트랜잭션을 온라인에 입력할 때를 제외하면 오프라인 상태이기에 해킹 위험이 핫 월렛에 비해서 적다.
  • 하드 월렛은 잃어버리더라도 복구 문서(Recovery Phrase)만 알고있다면, 소유권을 증명할 수 있다.

핫 월렛과 콜드 월렛은 각각의 장단점이 있기에 필요에 따라서 적합한 월렛을 선택하여 사용한다.

🍓 암호화폐 거래를 자주한다면, 접근성이 높은 핫월렛을 사용한다.
🍓 암호화폐를 안전하게 보관하고자 한다면, 콜드 월렛을 사용한다.
🍓 거래소에서 출금을 할 때에는 거래소 데이터베이스에 저장된 개인 키를 이용하여 트랜잭션을 생성하는 방식으로 거래가 이루어 진다.

암호화폐 지갑의 유형들

종이 월렛

  • 하드웨어 월렛 이전의 콜드 월렛의 표준이었다.

  • 일반적인 종이 월렛과 보안에 특화된 종이 월렛이 있다.

  • 해커로부터 안전한 지갑이며 대컴퓨터에 저장되지 않는다.

  • 또한, 타사 서버에 개인키가 저장되지 않는다.

  • 하지만 번거로우며 별도의 사용법을 익혀야 하고, 더 많은 기술적인 이해가 필요한 방법이다.

하드웨어 월렛

  • 하드웨어 월렛은 웹 월렛이나 데스크탑 월렛보다 사용자 친화적이지 않다. 하지만, 종이 월렛보다는 작업하기 쉽다.

  • 대부분의 핫 월렛보다 강력한 보안을 가져 안전하다.

  • 자주 이동할 필요가 없는 많은 양의 암호화폐를 장기간 저장하는 데 적합하다.

  • 또한, 더 많은 제어 기능을 제공한다.

  • 다만, 약간의 번거로움이 있고 별도의 사용법을 익혀야 하는 불편함이 있다.

데스크탑 월렛

  • 데스크탑 월렛은 온라인 보안을 잘 적용한 경우에 웹 지갑이나 모바일 지갑보다 다소 안전하다.

  • 완전 오프라인으로 새로 운영체제를 설치한 오래된 랩탑을 사용하는 경우에 효과적인 콜드 스토리지 방법이 될 수 있다.

  • 데스크탑 월렛은 사용하기 쉬운 암호화 지갑 유형이며 개인 키가 타사 서버에 저장되지 않는다.

  • 하지만, 인터넷에 연결된 경우 보안 및 개인 정보 보호 관련 주의사항들이 있다.
    🧊 컴퓨터 또한 맬웨어(Malware), 키로거(Keylogger) 및 바이러스에 노출되어 있다.
    🧊 컴퓨터가 물리적으로 고장나면, 복구할 방법이 없다.
    🧊 컴퓨터 수리를 맡기는 경우 코인을 빼앗길 수 있다.

웹 월렛

  • 웹 브라우저를 통해서 엑세스하는 암호화폐 지갑이다.

🍰 경우에 따라서, 모든 핫 월렛을 웹 월렛이라 하기도 한다.

  • 모바일이나 데스크탑 월렛과 구분하여 웹 브라우저에서 사용하는 지갑을 특정해 웹 월렛이라고 부른다.

  • 앱과 서버 위치 사이에 지연이 없기에 트랜잭션을 완료하는 가장 빠른 방법이다.

  • 소량의 암호화폐 보유에 적합하다.

  • 일부 웹 월렛은 여러 암호화폐를 관리하거나 둘 사이에서 금액을 전송하거나 거래소에 직접 통합할 수도 있다.

  • 하지만, 사용자는 피싱사기, 내부자 해킹, 맬웨어(Malware), DDos 공격 및 구식 보안 조치에 취약하다.

  • 또한, 웹 월렛의 암호화폐 정보는 제삼자에 저장되기에 개인정보 보안에 문제가 될 수도 있다.

모바일 월렛

  • 모바일 장치가 있는 곳이라면, 암호화폐에 엑세스할 수 있다.
    🍮 다른 암호화폐 지갑보다 더 실용적이고 사용하기 쉽다.
    🍮 또한, 즉시 지불을 수락하거나 송금할 수 있다.

  • 완전히 인터넷 기반인 월렛이나 하드웨어 지갑 이상의 추가기능을 제공한다.
    🍮 ex) QR 코드 스캔

  • 휴대폰은 매우 안전하지 않은 기기이기에 추가 보안 위험이 따른다.
    🍮 휴대폰은 맬웨어(Malware), 키로거(Keylogger) 및 바이러스에 노출되어 있다.

  • 휴대폰이 악의적으로 손상되거나 루팅된 경우, 지갑 앱 암호화도 마찬가지이다.

참고 자료 출처 : 코드 스테이츠

profile
🙌🙌🙌🙌

0개의 댓글