블록체인

Public, Private key , 그리고 Wallet

이지호_tech 2022. 11. 4. 01:33

1. UTXO
UTXO란 Unspent Transaction Output의 약자로, 비트코인에서 트랜잭션에 의한 결과물들의 합을 잔액이라는 개념으로 사용할때 쓰인다.
이 트랜잭션들은 공개 키 암호화를 사용하여 공개/ 개인 키 쌍의 소유자를 식별하고 소유권을 이전하게 된다.

 

2. 지갑

메타마스크 / 카이카스 등의 전자 지갑의 원리는 위에 말한 키들의 저장소인데,

여기서 공개키란 지갑에서의 계좌번호 , 개인키는 비밀번호로 이해할 수 있다. 

공개키로 해당 사람의 거래가 참인지 거짓인지 정도만 확인이 가능하고, 개인키로는 직접 거래를 발생시킬 수 있고 비트코인에 대한 소유권을 가지므로, 보호가 필수적이다.

다시 설명하자면,

 

모든 비트코인 주소에는 공개키(public key) 개인키(private key)가 들어 있다. 공개키는 공개되어 있는 키로, 비트코인을 전송받을 때 사용되며, 개인키는 개인이 소유하고 있어야 하는 키로, 비트코인을 출금할 때 사용한다.

 

1.    거래를 하려면 한 쌍의 개인키와 공개키가 필요하다. 먼저, 송금자는 한 쌍의 키를 생성한다. 개인키는 전자 서명 생성 용도이고, 공개키는 전자 서명을 이용한 데이터 검증 용도이다.

2.    송금자는 공개키를 미리 수신자에게 전달한다. 송금자의 전자 서명을 검증하기 위해 수신자는 자신이 받은 공개키로 전자 서명을 검증할 수 있다.

3.    송금자는 데이터의 해시값을 생성하고, 생성된 해시값을 개인키를 이용해 암호화한다. 이 때 만들어진 암호문을 전자 서명 혹은 디지털 서명이라고 한다. 보낸 사람만 알고 있는 개인키로 암호문을 만들었기 때문에 그 암호문은 전자 서명으로서의 의미를 가진다.

4.    송금자는 생성된 전자 서명을 원래 보내려는 원본 데이터에 붙여서 수신자에게 전달한다.

5.    수신자는 원본 데이터의 해시값을 스스로 계산해 본다. , 공개키를 사용해 받은 전자 서명을 복호화하면 데이터가 생성된다.

6.    수신자는 원본 데이터의 해시값과 복호화한 결과를 비교한다. 만약 결과가 일치한다면 데이터는 변조되지 않은 것이다.

 

3. 정리

이렇듯 비트코인은 비대칭 암호화 기법을 사용하여 거래한다. , 비트코인은 암호기술을 거래 확인에 적용한 것이다. 개인키를 사용해 생성된 암호문은 오직 그에 상응하는 공개키로만 복호화된다. 송금자가 수신자의 주소로 비트코인을 보낼 수 있고, 수신자는 거래의 서명을 확인함으로 거래를 마무리할 수 있다. , 공개키의 짝이 되는 비밀키는 비트코인을 전송하는데 필요한 수단으로, 자신의 잔고에 대한 접근 권한을 얻는다. 이렇듯 공개키를 사용하면 한 사용자가 수신자의 주소로 비트코인을 보낼 수 있고, 거래의 전자서명을 확인하여 거래가 올바른지 여부를 확인하고 거래를 마무리할 수 있다. 반면 비트코인 주소의 개인키를 보유하고 있는 사람은 누구나 그 주소가 보유하고 있는 비트코인을 사용할 수 있기 때문에 개인키는 본질적으로 비트코인을 보관하는 금고 열쇠이다.

 

 

'블록체인' 카테고리의 다른 글

비트코인의 난이도 구하는 방법  (0) 2022.11.02
블록체인(BlockChain) 이란?  (0) 2022.09.18