2. 코인 주소란?

in KOREAN Society2 years ago

@luciferjin.png


개인키는 지갑 주소의 시작점이다. 개인키를 생성하고, 이어 개인키로부터 공개키를 만들고, 공개키로부터 지갑 주소를 만든다. 코인을 받으려면 주소가 있어야 한다.

송금된 현금을 받으려면 은행 계좌번호가 필요하듯 코인 세계에서는 지갑 주소가 필요하다.

​현금을 찾을 때는 계좌 주인임을 입증하기 위해 신분증과 미리 등록해 둔 도장 또는 서명을 직원에게 보여줘야 한다.

코인을 찾을 때는 은행에 가는 게 아니다. 은행을 배제하자고 만든 게 코인이다. 그래서 본인임을 입증할 수학적 방법이 필요하다.

​코인의 주인임을 입증하기 위해 개인키가 사용된다. 개인키를 지닌 사람이 지갑 주소의 주인이란 걸 보여야 한다. 지갑 주소는 개인키로부터 만들어졌으니 개인키를 들이대면 지갑 주인인게 증명된다.

​그렇다면 두 가지 질문이 가능할 것 같다. 지갑 주소로부터 개인키를 만드는 게 쉽지 않을까? 쉬웠다면 비트코인이 존재할 수 없다.

지갑 주소와 쌍을 이루는 개인키가 여러 개 존재하지 않을까? 그렇지 않다. 오로지 하나만 유일하게 존재한다는 게 수학적으로 증명되었다.

​개인키나 공개키는 길이가 모두 256비트이다. 공개키는 누구나 다 알 수 있게 공개한다. 그런데 공개키를 공개해도 되지만 공개키 대신으로 160비트로 줄인 지갑 주소를 공개한다. 그래서 공개키를 기억하고 있는 사람들이 거의 없다.

​코인 세계에서는 개인키와 지갑 주소만 알면 된다. 그리고 이 둘은 잘 기억하고 있어야 한다.

개인키는 코인을 꺼낼 때, 지갑 주소는 코인을 받을 때 써야 하기 때문이다. 개인키와 지갑 주소 사이에 존재하는 공개키는 굳이 알 필요가 없다.

​지갑 주소를 망각했다 해도 비밀키를 알고 있으면 지갑 주소를 만들 수 있다. 그런데 개인키를 분실하면 모든 것을 잃게 된다. 지갑 주소로 받은 코인을 꺼낼 수 없게 된다.

​다시 한 번 강조하거니와 지갑에는 코인이 들어있지 않다. 그런데 계속 지갑으로 코인을 받는다고 쓰니 혼란스러울 것이다.

지갑 주소는 은행 계좌번호와 같다고 앞에서 설명했다. 코인 세계에는 은행 역할을 블록체인이 대신한다. 블록체인에서 코인 받을 주소가 필요한데 그게 지갑 주소인 것이다.

비밀키의 생성 과정을 보면 ① 128비트의 난수 생성 ② 132비트의 니모닉(mnemonic) 생성 ③ 512비트짜리 시드 구문(seed phrase) 생성 ④ 256비트 짜리의 개인키 생성 ⑥ 256비트의 공개키 생성 ⑦ 160비트의 지갑 주소 생성의 과정을 거친다.

​이 가운데서 보통사람들은 132비트의 니모닉, 256비트짜리 개인키, 160비트의 지갑 주소를 기억해야 한다. 지갑 주소는 문자 형태 또는 QR 코드 형태로 제공된다.

​코인이라는 재산을 안전하게 관리하려면 비밀키와 니모닉을 잘 관리해야 한다. 이것들은 가능하면 콜드 월렛에 저장하는 게 좋다. 재산이 아주 많은 법인이라면 시중은행이 투자해서 만든 커스터디(수탁) 업체에 보관하는 게 좋다.

​은행에 권총 강도들이 들끓던 시대가 있었다. 코인이 쌓여 있는 암호화폐(가상자산) 거래소에 해커들이 몰리는 게 이상하지 않다.

엄밀히 말하면 거래소에 코인이 쌓여 있는데 아니고 개인키들이 엄청나게 모여 있다. 암호화폐 거래소가 특별히 키 관리에 더 만전을 기해야 하는 이유다.

Sort:  

Upvoted! Thank you for supporting witness @jswit.
default.jpg

Vote weight boost from @jsup (+5.0%p)

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 64222.08
ETH 3135.29
USDT 1.00
SBD 3.99