블록체인에서 지갑(Address) 생성 시, PKI방식의 암호화 기법?을 이용해서 Address(지갑의 주소) 생성과 Tx(Transaction)에 Sign할 때도 사용한다. 그래서 PKI에 대해서 한번 정리해보자.

1. 전자서명이란?

전자 서명은 전자 데이터의 무결성을 증명하는 것이 목적이다. 전자 데이터를 보내는 사람이 서명을 생성하고 받는 사람은 그 서명을 검증해 타인에 의한 위조나 변조가 이루어졌는지 확인할 수 있다.그렇다면 어떻게 전자서명이라는 것을 이용해서 위/변조의 유무를 판단할 수 있지??

2. 공개키(Public Key)/비밀키(Private Key)

여기서 공개키(Public Key)/비밀키(Private Key) 개념이 나온다.
첫번째, 데이터를 받는 사람에게 보내는 사람의 공개키를 전달한다.
두번째, 보내는 사람은 송신할 데이터를 자신의 비밀키(Private Key)로 암호화 후, 송신한다.
세번째, 받는 사람은 과거에 전달 받은 공개키(Public Key)로 암호화된 데이터를 복호화하여 데이터를 확인하다.

여기서 가장 중요한 점! 비밀키(Private Key)로는 공개키(Public Key)를 생성할 수 있다. 하지만, 공개키로 비밀키를 생성할 수 없다. 그렇기 때문에 비밀키(Private Key)를 제 3자에게 노출 또는 전달을 하면 절대적으로 안된다.
그리고 암호화 시, 사용된 비밀키로 만들어진 공개키가 아닌 이상 비밀키로 암호화된 파일을 복호화 할 수 없다. 이러한 원리를 이용하여 암호화폐, 우리가 흔히 말하는 코인의 지갑을 생성하고 거래 시, 비밀키로 Tx(Transcation)을 암호화 하여 온체인 상에 Broadcasting을 한다.

3. 암호화폐 지갑이란? - Crypto Wallet

암호화폐 지갑 안에는 암호화폐가 없다. 암호화폐 지갑은 블록체인 분산원장에 기록되는 거래(트랜잭션) 데이터를 생성하고 서명(Sign)하는 일에 사용되는 비공개키를 보관하기 위한 도구이다.

암호화폐는 지갑이 아니라, 블록체인(온체인) 상에 존재한다. 그래서 지갑 안에 보관하는 비밀키(Private Key)를 잃어버리면 암호화폐가 사라지는 것이 아니라, 온체인 상에 있는 암호화폐의 소유권을 증명할 수 없게 되는 것이다.

암호화폐 거래, 즉 모든 트랜잭션은 모두 공개키 암호화 방식을 이용해 서명해야만 유효한 것으로 인정된다. 암호화화폐 거래 시 비밀키(or 개인키)로 서명한 트랜잭션을 각각의 채굴자(Miner)들이 공개키로 검증함으로써 거래의 주체가 확실하다는 사실을 검증한다.

참조: https://www.pentasecurity.co.kr/column/%EC%95%94%ED%98%B8%ED%99%94%ED%8F%90-%EC%A7%80%EA%B0%91%EC%9D%B4%EB%9E%80/#:~:text=%EB%B9%84%ED%8A%B8%EC%BD%94%EC%9D%B8%EC%9D%B4%EB%82%98%20%EC%9D%B4%EB%8D%94%EB%A6%AC%EC%9B%80,%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%9C%20%EB%8F%84%EA%B5%AC%EC%9D%BC%20%EB%BF%90%EC%9D%B4%EB%8B%A4.

profile
블록체인 개발자

0개의 댓글