공개키 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
25번째 줄: 25번째 줄:
  
 
=== 비트코인 ===
 
=== 비트코인 ===
모든 비트코인 주소에는 [[공개키]](public key)[[개인키]](private key)가 들어 있다. 공개키는 공개되어 있는 키로, 비트코인을 전송받을 때 사용되며, 개인키는 개인이 소유하고 있어야 하는 키로, 비트코인을 출금할 때 사용한다.  
+
모든 비트코인 주소에는 '''공개키''''''개인키'''가 들어 있다. 컴퓨터와 같은 통신 환경을 허락받지 않은 공격자가 통신 중에 정보를 도청하여 변조하거나 다른 애용을 삽입 또는 삭제할 수 있다. 이처럼 거래 및 블록체인 변조를 방지하는 가장 좋은 방법은 정보를 암호화하는 것이다.
  
#거래를 하려면 한 쌍의 개인키와 공개키가 필요하다. 먼저, 송금자는 한 쌍의 키를 생성한다. 개인키는 [[전자 서명]] 생성 용도이고, 공개키는 전자 서명을 이용한 데이터 검증 용도이다.
+
1. 트랜잭션을 위해 발신자는 개인키와 공개키를 생성한다. 개인키는 서명 생성 용도이고, 공개키는 서명 검증 용도이다.
#송금자는 공개키를 미리 수신자에게 전달한다. 송금자의 전자 서명을 검증하기 위해 수신자는 자신이 받은 공개키로 전자 서명을 검증할 수 있다.
 
#송금자는 데이터의 해시값을 생성하고, 생성된 해시값을 개인키를 이용해 암호화한다. 이 때 만들어진 암호문을 전자 서명 혹은 [[디지털 서명]]이라고 한다. 보낸 사람만 알고 있는 개인키로 암호문을 만들었기 때문에 그 암호문은 전자 서명으로서의 의미를 가진다.
 
#송금자는 생성된 전자 서명을 원래 보내려는 원본 데이터에 붙여서 수신자에게 전달한다.
 
#수신자는 원본 데이터의 해시값을 스스로 계산해 본다. 또, 공개키를 사용해 받은 전자 서명을 복호화하면 데이터가 생성된다.
 
#수신자는 원본 데이터의 해시값과 복호화한 결과를 비교한다. 만약 결과가 일치한다면 데이터는 변조되지 않은 것이다.
 
  
이렇듯 비트코인은 [[비대칭 암호화 기법]]을 사용하여 거래한다. 즉, 비트코인은 암호기술을 거래 확인에 적용한 것이다. 개인키를 사용해 생성된 암호문은 오직 그에 상응하는 공개키로만 복호화된다. 송금자가 수신자의 주소로 비트코인을 보낼 수 있고, 수신자는 거래의 서명을 확인함으로 거래를 마무리할 수 있다. 즉, 공개키의 짝이 되는 비밀키는 비트코인을 전송하는데 필요한 수단으로, 자신의 잔고에 대한 접근 권한을 얻는다.
+
2. 발신자는 생성한 공개키를 미리 수신자에게 전달한다. 발신자의 서명을 검증하기 위해 수신자는 자신이 받은 공개키로 서명을 검증할 수 있다.
이렇듯 공개키를 사용하면 한 사용자가 수신자의 주소로 비트코인을 보낼 수 있고, 거래의 전자서명을 확인하여 거래가 올바른지 여부를 확인하고 거래를 마무리할 수 있다. 반면 비트코인 주소의 개인키를 보유하고 있는 사람은 누구나 그 주소가 보유하고 있는 비트코인을 사용할 수 있기 때문에 개인키는 본질적으로 비트코인을 보관하는 금고 열쇠이다.  
 
  
 +
3. 발신자는 개인키를 이용해 전자 데이터를 암호화한다. 만들어진 암호문을 전자서명이라고 한다. 보낸 사람만 알고 있는 개인키로 암호문을 생성하기 때문에 그 암호문은 서명으로서의 의미를 가진다. 온라인상에서 거래를 실현하기 위해서는 이전 소유자의 본인 인증과 부인 방지를 위해 전자 서명이라는 방법을 사용한다.
 +
 +
4. 발신자는 생성된 전자서명을 원본 전자 데이터에 붙여서 수신자에게 전달한다.
 +
 +
5. 수신자는 공개키를 이용해 받은 전자서명을 복호화한다. 복호화에 성공하면 원본 전자 데이터가 변조되지 않은 것이다.
 +
 +
6. 수신자는 전자 데이터와 복호화한 결과를 비교하여 내용이 같은지 확인한다. 비교 결과가 같다면 전자 데이터는 변조되지 않은 것이다.
 +
 +
'''공개키'''를 사용하면 한 사용자가 다른 사용자의 주소로 비트코인을 보낼 수 있고, 거래의 전자서명을 확인하여 모든 것이 올바른지 확인하고 거래를 마무리할 수 있다. 반면에 '''개인키'''는 비트코인을 받은 사람이 '잠금 해제'하고 비트코인을 사용할 수 있게 한다. 한 당사자가 트랜잭션에 서명한다는 것은 비트코인 네트워크에서 그 사람이 비트코인이 보유된 주소의 소유자이며 거래가 유효하다는 것을 알리는 것이다. 비트코인 주소의 개인키를 보유하고 있는 사람은 누구나 그 주소가 보유하고 있는 비트코인을 사용할 수 있기 때문에 개인키는 본질적으로 비트코인을 보관하는 금고 열쇠이다. 사용자는 역시 한 주소의 개인키를 사용하여 메시지에 서명하거나, 지정된 주소에 보유돼 있는 비트코인의 소유자임을 확인할 수 있다. 이러한 거래의 정확성은 비대칭 암호화를 사용하는 수학을 통해 보증된다.
 
{{각주}}
 
{{각주}}
  

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)