티스토리 뷰

글을 쓰는 이유와 대상


많은 분들이 거래소에서 개인지갑으로 옮기려고 준비하시는 것을 봅니다. 저도 다양한 텔레그램 방에 들어가 있는데 다양한 질문들이 있더라구요.

문제는 컴퓨터에 익숙치 않은 분들이 많은데 최근 해킹으로 인해 소중한 자산을 잃어버리시는 분들이 종종 나오다 보니 걱정이 많으신것 같습니다. 그리고 많은 종류의 월렛이 있는데 월렛의 개념에 혼란이 있으신 것 같아 짧은 지식을 나누어 보려고 합니다.

미리 말씀드리자면, 앞으로 기술할 비유는 설명과 이해의 편의상 큰 개념으로 유사함을 설명하고자 함이지 동일하다는 것을 의미하지 않습니다. 더불어, 혹여나 제 짧은 지식으로 잘못 기술한 부분이 있어서 수정해 주신다면 감사하겠습니다.

그리고 이 글은 철저히 코린이(분)들을 위한 글이니 고수분들은 크게 도움이 되지 않을 수 있습니다. 제가 고수가 아니라.. ;ㅁ;

월렛(지갑)의 이해


블록체인에서 월렛을 제대로 이해하기 위해서는 우리가 알고 있는 월렛(지갑)에 대한 패러다임을 바꾸셔야 합니다. 간혹 하드월렛에 넣으면 인터넷과 완전 분리된 오프라인 개념으로 생각하셔서 에어드랍이 안되는 것으로 오해하시는데, 그것은 아마 은행에서 돈을 인출해서 지갑에 넣는다는 개념으로 생각하기에 그렇게 말씀하시는 것 같습니다.

암호화폐로서의 이더리움과 그 표준을 따르는 토큰들은 모두 이더리움 주소(계정)에 넣을 수가 있습니다. 여기서 주소에 넣을 수 있다고 하는 표현은 월렛과 구별하기 위함입니다. 우리가 코인이나 토큰을 MEW 혹은 메타마스크로 보낸다고 하는 것은 그것과 연계된 주소(계정)로 보낸다는 의미이지 그 월렛 자체에 보낸다는 의미가 아닙니다. 따라서 계정은 늘 블록체인 위에서 연결되어 있기에 에어드랍과 같은 이벤트 참여에 전혀 문제가 없는 것입니다.


하드월렛에 많은 양의 토큰을 보낸다고 하여 용량을 차지한다거나 하는 개념이 아닙니다

이더리움 블록체인에서의 지갑은 보관의 용도가 아닌 소유권 인증을 위한 하나의 툴 정도로 이해하시는게 좀 더 이해하기 편할 것 같습니다.

예를들면, 우리가 은행 계좌에 돈을 넣어두고 그 계좌에서 인출하기 위해서는 내가 그 계좌의 적법한 소유자인지를 확인하는 과정이 필요합니다. 그것을 위해 공인인증서를 사용하기도 하고 OTP를 사용하기도 하며 보안카드의 특정 위치 숫자를 사용하기도 합니다. 이와 유사한 개념으로 이더리움 주소는 계좌, 월렛은 인증을 위한 툴 이라고 본다면 주소에 있는 코인 혹은 토큰을 인출하기 위해 다양한 방식의 월렛을 통해 내가 적법한 소유자임을 증명하는 것입니다.

따라서, Private Key(개인키)만 있다면 혹은 월렛 간 연동이 가능하다면 이더월렛, MEW, 메타마스크, 하드월렛 등 어떤 것을 사용하더라도 그 주소에 접근이 가능합니다. 차이가 있다면 그 인증방식이 취약한지 덜 취약한지 그 정도의 차이입니다.

월렛의 차이


그렇다면 각각의 방식이 왜 차이가 나는걸까요?

이더리움 주소는 기본적으로 0x로 시작하는 42자리 문자열로 구성되어 있습니다. 그리고 이 주소에 속한 자산의 소유권을 주장하기 위해서는 개인키(혹은 Keystore 파일)가 필요합니다. 문제는 이 개인키 혹은 Keystore 파일을 소유자가 얼마나 안전하게 보관하냐가 관건입니다. 이것을 안전하게 지킬 때 내 계정에 있는 자산을 안전하게 보관할 수 있는 것이죠.

우리가 인터넷에 연결된 모든 순간이 해커의 위협에 노출되어 있다고 가정해야 합니다.

따라서 우리가 월렛을 만드는 순간부터 위험에 노출된 것이죠. 누군가가 내 개인키가 적혀있는 화면을 보고있을 수도 있고, 내가 개인키를 USB에 넣기 위해 복사하는 그 순간에 복사된 키를 누군가 탈취할 수 있는 위험이 없다고 할 수 없습니다. DNS를 건드려서 MEW 주소를 입력했음에도 피싱사이트로 보내버릴 수도 있습니다.

그런데 문제는 모든 사람이 컴퓨터와 보안에 전문가일 수 없고, 전문가라고 하더라도 사람은 누구나 실수를 합니다. 따라서 인증방식을 가급적 Fool-proof(사람이 만들 수 있는 실수 자체를 일어나지 않도록 설계하는 방식) 하도록 만드는 것이 중요합니다.

1. 마이이더월렛 (MEW) 
그런 측면에서, MEW는 사람들이 실수하기 쉬운 구조를 가지고 있습니다. 기본적으로 MEW는 개인키와 Keystore파일을 이용하는 방식입니다 (물론 하드웨어 월렛이나 메타마스크를 연동시킬 수는 있지만 이 글에서는 따로 구분합니다).

mew.PNG

이는 매번 개인키를 복사, 붙여넣기를 반복해야 한다는 의미이며(아마 일일이 외워서 치는 분은 없을테니까요), 자연스럽게 노출이 빈번하게 되고 실수도 발생하기 쉬워집니다. MEW 스스로도 개인키 방식과 Keystore방식은 아래와 같이 권장하지 않는다고 하고 있습니다.

mew2.PNG

얼마전에는 MEW에 대한 DNS Server를 Hijacked하는 바람에 한바탕 소동이 벌어지기도 했습니다.
참고 기사

2. 메타마스크 (Metamask) 
그래서 Chrome 확장기능인 메타마스크(a.k.a 여우지갑)를 좀 더 권장하고 있습니다. 메타마스크는 초기 설정 시 한번만 개인키를 입력하면 그 이후로는 자신이 설정한 비밀번호로 계정에 접근이 가능하므로 그 개인키를 사용하는 빈도에 있어서 MEW보다 훨씬 안전하다고 할 수 있습니다. 



당연히 사이트를 방문하는 방식이 아니기에 Hijacking 당할일도 없죠. 이 방식을 사용할 경우 조심해야 할 것은 초기 설정 시 Wallet Seed Phrase를 안전하게 지켜야 한다는 것과 기존 주소를 연결할 때는 개인키가 노출되지 않도록 하는 것입니다. 그것만 조심한다면 아직 크게 문제되는 경우는 없었던 것으로 압니다.

3. 하드웨어 월렛 (Hardware Wallet) 
마지막으로 하드웨어 월렛입니다. 앞서 계정에 있는 자산에 접근하기 위해서는 개인키가 필요하다고 했는데, 이 하드웨어 월렛의 경우는 이 개인키 자체를 소유자 스스로도 알수 없게 한 것입니다. 안전할 수 밖에 없는게 노출하고 싶어도 개인키를 알려줄 방법이 없기 때문입니다 -_-;;

하드웨어 월렛을 연결한 그 시점에만 계정에 접근할 수 있도록 하여 개인키의 분실 위험을 원천적으로 차단한 것입니다. 개인키를 실수로 노출할 위험도 없고, 사이트를 방문하는 방식도 아니기에 하드웨어 월렛 자체를 잃어버리지 않는 한 해킹의 위험으로 부터 매우 안전한 편이며, 잃어버리더라도 Seed Phrase를 보관하고 있다면 다시 복원이 가능합니다. 따라서 현재까지는 가장 안전한 방법으로 생각됩니다 (물론 해커는 어떻게든 방법을 찾겠지만요 ㅜㅡㅜ)

개인적으로는 Ledger Nano S를 사용하고 있는데 현재까지는 가성비 측면에서 만족스럽게 사용하고 있습니다. 가격은 10만원 정도 배송은 1주일 정도 걸린 것 같네요.

마지막으로..


따라서, 비교적 큰 금액을 운용하시는 분들께서는 가급적 하드웨어 월렛을 사용하시길 권장드립니다. 간혹 보안을 위해 컴퓨터를 새로 구입하시는 경우도 보았고, 윈도우를 정품으로 바꾸시는 분도 보았는데, 가장 가성비 좋은 방법은 하드웨어 월렛을 이용하는 것입니다. 제 아무리 오프라인으로 운영을 하려고 해도 초기에는 반드시 인터넷에 연결될 수 밖에 없는 구조이기 때문입니다.

만약 운용하시는 금액이 그렇게 크지 않아서 애매하다면, 가급적 믿을 수 있는 거래소에 넣어두시고 이중인증(2FA)을 사용하는 것이 안전하다고 생각됩니다. 그리고 혹시나 에어드랍을 위해서라면 메타마스크를 사용하세요.

'Review > Blockchain' 카테고리의 다른 글

블록체인의 개략적인 역사  (0) 2017.08.17
공지사항