본문 바로가기

Programming/블록체인

[블록체인-7] 암호화폐 지갑 유형(콜드월렛, 핫월렛) / 공개키 암호화 방식

 

📍 암호화폐 지갑이란?

 

- 블록체인 네트워크와 상호작용하는 수단 중 하나이다.

 

- 지갑의 종류는 (1) 소프트웨어, (2) 하드웨어, (3) 종이지갑으로 나뉜다.

 

- 암호화폐 지갑은 '지갑 주소'와 '암호(개인키)'로 구성되어 있다.

지갑의 주소는 다른 사람들이 암호화폐를 송금할 수 있도록 공개해도 되지만, 

개인키는 오직 지갑 소유자 본인만 알고 있어야 한다.

 

- 암호화폐 지갑은 비트코인 지갑, 이더리움 지갑 등 각각의 암호화폐 종류별로 따로 가지고 있어야 한다.

 

- 작동 메커니즘에 따라 (1) 콜드월렛과 (2) 핫월렛 으로 구분된다.

 


📍 콜드 월렛이란?

 

- 코인 지갑은 크게 콜드월렛과 핫월렛으로 나뉜다. 이를 나누는 기준은 '인터넷 연결 유무'이다.

 

- 콜드월렛은 인터넷에 연결되어 있지 않고 오프라인 상태에 있기 때문에

거래가 안 되어 '오프라인 지갑' 또는 '하드웨어 지갑' 이라고 부른다.

 

- 콜드월렛은 고액투자나 코인을 안전하게 보관하기 위한 목적으로 쓰인다.

 

- 콜드월렛을 통한 암호화폐 전송은 아래와 같이 3가지 순서로 진행된다.

1) 거래내역 생성

2) 개인키로 서명

3) 전송

 

- 1) 거래내역 생성과 2) 개인키로 서명 단계는 콜드월렛에서 자체적으로 처리하며, 

최종 전송에서만 별도의 키를 만들어 전송한다.

 

- 콜드월렛을 통한 전송은 개인키가 온라인에 노출되지 않기 때문에 보안성이 높은 것이다.

 

- 인터넷이 차단된 하드웨어 장치에 암호화페를 보관하고, 

개인키를 오프라인에서 처리하여 보내기 때문에 보안 측면에서 안전하나

실시간 거래가 불가능하여 불편하다는 단점이 있다.

 


📍 핫월렛이란?

 

- 핫월렛은 온라인으로 연결되는 모든 지갑을 의미한다.

 

- 일반적인 사람들이 사용하는 지갑이며 예금계좌, 단기투자용으로 사용된다. 

 

- 실시간으로 편리하게 사용할 수 있지만 해킹의 위험에 노출될 가능성이 높다.

해커는 네트워크 연결 상태에서 실시간 거래가 이뤄지는 이 핫월렛을 공격해 이용자의 개인키를 탈취하는 것이다. 

 


📍 암호화폐 관리

 

- 암호화폐 지갑은 개인 PC에서 직접 만들 수도 있지만

관리가 불편하기 때문에 보통 암호화폐 거래소에서 제공하는 웹 지갑을 사용한다.

 

- 암호화폐 지갑의 주소는 길고 복잡하기 때문에, 지갑의 주소를 표시한 QR코드를 스마트폰으로 촬영하여 인식할 수 있는 기능을 제공한다.


📍 암호화폐는 어떻게 작동할까?

 

- 암호화폐 지갑은 실제로 암호화폐를 저장하지 않고, 블록체인과 상호작용할 수 있는 수단을 제공한다.

 

- 암호화폐 지갑은 블록체인 트랜잭션을 통해 암호화폐를 주고받을 때 필요한 '공개키'와 '개인키'를 생성한다.

 

- 지갑에는 '공개키'와 '개인키'를 기반으로 생성되는 공개주소가 포함되어 있다. 

이 주소는 코인이 전송될 수 있는 블록체인상의 특정한 위치이다.

자금을 전달받기 위해 공개 주소는 공유해도 되지만 개인키는 누구에게도 공개해서는 안 된다.

 

- 어떤 지갑을 사용하던지 개인키를 통해 암호화폐에 접근할 수 있다.

 

- 코인들이 실제로 블록체인을 빠져나가는 것이 아니라, 한 주소에서 다른 주소로 전송되는 것이다. 

 


📍 공개키 암호화 방식이란?

 

- 공개키 암호화 방식(Public Key Cryptography, PKC)은 

'공개키'와 '비밀키'로 구성된 한 쌍의 키를 사용하는 암호화 방식이다.( = 비대칭 암호 방식 )

 

이미지 출처 : https://blog.lgcns.com/1230

 

 

- 위 이미지와 같이 '공개키'는 데이터를 암호화 하는데 사용하며

'비밀키'는 암호를 해독하는데 사용한다. 

 

- 두 키가 서로 다르기 때문에 공용키는 개인키의 보안에 영향을 주지 않는다.

 

- '비밀키'를 소유한 사람만이 '공개키'를 통해 암호화된 데이터를 읽을 수 있다. 

 

 

- 비대칭 암호화 방식 알고리즘은 수학적으로 연결된 키 쌍을 생성한다.

1,024 ~ 2,048 비트 사이의 길이이기 때문에 공용키를 통해 개인키를 계산해 내기가 어렵다.

- 비대칭 암호화 방식의 가장 일반적인 공개 알고리즘은 'RSA'이다.

 

- 공개키 암호화 방식은 암호화폐 네트워크를 뒷받침한다.

- 새로운 암호화폐 지갑이 설정될 때, 한 쌍의 키(공개키, 개인키)가 생성된다.

공개 주소는 공용키를 통해 생성되며 다른 이들과 안전하게 공유될 수 있다.

- 개인키는 디지털 서명을 생성하고 트랜잭션을 검증한다.

디지털 서명에 포함된 서명을 확인하여 트랜잭션이 검증된 다음에 블록체인 원장에 트랜잭션이 추가될 수 있다.

- 이러한 디지털 서명 확인 시스템은, 해당 암호 화폐 지갑과 상응하는 개인 키를 가진 사람만이 자금을 사용할 수 있게 한다.

 


📍 공개키 암호화 방식의 단점

 

- 암호화 및 복호화의 수학적 계산이 매우 복잡하기 때문에,

대량의 데이터를 처리할 경우 오버헤드가 발생하여 속도가 느려질 수 있다.

 

- 개인키가 안전하지 않은 공간에 노출되는 경우 대응하는 공개키로 암호화된 모든 데이터의 보안이 위협받게 된다.

 


 

 

 

* 참고 자료

https://academy.binance.com/ko/articles/crypto-wallet-types-explained

https://academy.binance.com/ko/articles/what-is-public-key-cryptography