크립토 뉴비를 위한 팁 #1] Cold Storage 와 Hot Storage란 무엇일까?

tabris(62)
Published in
#kr-tip
Words
578
Reading
3 min
9y
Listen to this post
~4 min

스팀잇을 시작하면서 블락체인과 Crypto Currency에 대해서도 관심이 커져서 제대로 배워보려고 요즘 Cousera에서 프린스턴 Crypto Currency 강의를 듣고 있습니다.

강의를 보다보니 블락체인에 대한 기술적인 내용 말고도 일반적인 상식중에도 제가 잘못 알고 있던것들이 많았고, 아마도 스팀잇을 하고 코인 투자를 하고 계신 투자자 분들중에서도 지금까지 정확한 개념을 모르고 계셨던 분들이 많을것 같아서 강의 내용에서 일부를 발췌, 요약하여 연재를 시작해보려고 합니다.

첫번째 시리즈는 Cold Storage와 Hot Storage에 관한 내용입니다.

비트코인을 "저장" 한다는 개념을 정확하게 설명하실 수 있으신가요?

정확히 말하자면 비트코인을 저장하는것이 아니라 프라이빗키 (=패스워드)를 저장하는것입니다.

모든 비트코인의 거래기록 (트랜젝션)은 블락체인에 저장되며 블락체인은 마이너들이 운영하는 노드 서버에 분산저장되고 이 정보는 누구나 접근가능하도록 공개되어있습니다.

"특정 지갑 주소의 현재 잔액이 10BTC이다" 라는 말은 블락체인의 해당 지갑 주소 (wallet address)의 거래기록을 보면 증명 가능하죠. 지갑 주소를 알고 있다면 내 현재 잔액은 물론 내 과거의 모든 거래 기록까지 누구나 조회 가능합니다. 하지만 지갑주소 (퍼블릭키)만 안다고 하면 조회는 가능하지만 금액을 인출 할수는 없습니다.

"내가 10BTC를 가지고 있다" 라는 말은 "특정 지갑 주소의 쓰기 권한 (인출권한)을 가지고있는 프라이빗 키를 알고 있다" 라는 말과 동치입니다.

우리에게 더 익숙한 개념으로 비교를 하자면

  • 지갑주소 (퍼블릭키) = 아이디
  • 프라이빗키 = 패스워드

라고 할 수 있는데요, 내 계정 (지갑)에 얼마가 들어있는지는 누구나 조회할 수 있지만 그 돈을 사용하는건 패스워드 (프라이빗키)를 알고있는 나만 가능합니다.

프라이빗키를 잃어버린다면?

계정과 잔고는 그대로 있지만 패스워드를 모르니 코인을 잃어버린것과 마찬가지인거죠. "패스워드 찾기"같은 복구는 불가능합니다.

고로, "내 비트코인을 잃어버리거나 도난당하지 않도록 안전하게 보관한다" 라는 말은
"내 프라이빗키를 잃어버리거나 도난당하지 않다록 안전하게 저장해놓는다" 라는 말과 같은 말입니다.

그렇다면,

비트코인을 안전하게 보관 (프라이빗키를 안전하게 저장) 하는 방법에 대해 알아봅시다.

프라이빗키를 저장하는 방법은 크게 두가지로 나뉘는데요

Screen Shot 2017-08-09 at 15.03.46.png

Hot Storage란 온라인에 연결된 Storage로

  • 거래소에 있는 내 지갑 (프라이빗키는 거래소에 저장되어 있습니다)
  • 온라인 지갑
  • 오프라인 지갑이지만 내 컴퓨터가 온라인에 연결되어있는 경우

를 모두 포함합니다.

"온라인에 연결되어있다"라는 말은 지갑에 돈을 넣어 다니는것과 비슷하게
언제든지 빠르게 접근 할 수 있다는 장점이 있지만, 서버나 컴퓨터가 해킹당했을때 프라이빗키의 도난 위험 (= 비트코인의 도난위험) 이 있습니다.

내 전재산을 지갑에 현금으로 넣고 다니는 사람은 없듯이 많은 양의 비트코인을 Hot Storage에 보관하는건 바람직하지 않습니다.

그렇다면 더 안전하게 내 비트코인을 저장하는 방법은 어떤게 있을까요?

온라인에 연결되지 않은 "Cold Storage"를 이용하는 방법입니다.

  1. 가장 대표적인 예로 프라이빗키를 파일에 저장하여 USB에 넣어놓는경우 가 있는데요,
    인터넷에 연결되어있지 않기때문에 해킹등에는 안전하지만 물리적으로 도난당하거나 잃어버리는 경우가 있을 수 있습니다. 저가 불량 USB의 경우에는 수명이 짧아서 몇년후에는 파일이 손상되어 엑세스를 할 수 없는 경우도 발생할 수 있습니다.

  2. 다른 방법으로는 내 "머리"에 저장할 수도 있습니다.
    비트코인 프라이빗키는 Base58 방식의 문자열로 인코딩할경우 약 50글자정도의 알파벳 대소문자 및 숫자로 구성되는데요, 저같은 보통 사람들이 외울 수 있는 길이는 아니기때문에 이 프라이빗키를 다시한번 암호화하고 그 패스워드를 기억하는 방식으로 이루어집니다. 역시나 암호화된 패스워드를 저장해논 파일이 없어지거나 패스워드를 잃어버리는 경우에는 코인을 날리게 되죠.

  3. 마지막으로 종이에 프린트하는 방식인데요
    내 지갑주소와 프라이빗키를 문자열 또는 QR코드의 형태로 종이에 출력해서 저장해 놓을수도 있습니다.
    USB등 디지털 장치보다 보존성에서 더 안정적일수 있으며, 물리적인 도난이나 유실 케이스를 제외하면 가장 안전하다고 할 수 있습니다.

Screen Shot 2017-08-09 at 15.14.00.png

위와 같이 내용이 비치거나 유출되지 않도록 seal이 되어있는 전용 프린트 용지(?) 도 있습니다 ㅎ
(참고로 저 위에 있는 지갑주소에는 잔액이 하나도 없기때문에 굳이 확인해보지 않으셔도 됩니다 ㅋㅋ)

그렇다면 Hot Storage와 Cold Storage는 어떻게 사용하면 좋을까요?

가장 좋은 방법은 적당량의 금액을 Hot Storage에 저장하시고, 장기적으로 묻어둘 금액은 Cold Storage로 이체 해 놓는 방법입니다.

Cold Storage가 온라인에 연결되어있지 않다고 돈을 보내지 못하는건 아닙니다. 어차피 거래기록은 노드들의 블락체인에 기록되는것이기때문에 Cold Storage의 지갑주소만 알면 언제든지 돈을 송금하실 수 있습니다. 물론 인출의 경우에는파일이든 종이든 있는 프라이빗키를 다시 온라인에 연결되어있는 컴퓨터로 옮겨와야하기때문에 번거로울 수 있습니다.

여기까지 크립토 뉴비를 위한 팁 첫번째 시리즈였습니다.
잘못된 내용이 있으면 지적해주시고요, 저도 공부하다가 또 공유하고 싶은 내용이 있으면 다음 시리즈도 써보겠습니다 :)


wanna see more like this?

❤️

follow me!

크립토 뉴비를 위한 팁 #1] Cold Storage 와 Hot Storage란 무엇일까? | Ecency