본문 바로가기

이론/보안

[컴퓨터보안] 비트코인암호,디지털 서명 암호

목차

1) 비트코인 암호

2) 비트코인 발행량

3) 디지털 서명 

4) P2P 서버 (비트코인과 관련한)

 

1) 비트코인 암호  
블록체인 기술 기반으로 만들어진 온라인 암호 화폐이다. 

비트코인의 화폐 단위는 BTC 또는 XBT로 표기한다.
중앙에서 거래내역 사실의 증명을 책임지는 은행이 없이,

사용자들끼리 자유롭게 송금하는 방식인 P2P 구조로 설계되어있다. 
거래 장부는 블록체인 기술(MerkleTree, Hash 등)을 바탕으로 

전세계적으로 여러 사용자들의 서버에 분산되어있어 해킹이 어렵다.  
거래내역이 chained-hash상태로 전세계 네트워크에 퍼져있기 때문에 어렵기도 하고, 
해커가 현재 거래 내역을 위조하고 싶을 경우 위조하고 싶은 시점의 과거 거래내역의 블록으로부터 
현재 블록을 포함한 모든 블록의 증명을 위조해야하기 때문에 시간이 매우 오래걸려, 해킹이 어렵다. 
SHA-256기반의 암호 해시함수를 사용하여 거래내역을 암호화한다.    

 

2) 비트코인 발행량 
2009년 만들어진 비트코인은 2100만의 총 발행량을 가지고 있다. 
2017년 6월 기준 1650만 비트코인이 발행되었다.  
비트코인은 4년마다 반감기(Block Halving Event)를 가지고 있어,  

최초 50코인에서 현재 한 블록을 채굴할 때 12.5코인을 보상한다.  
(비트코인은 채굴시, Incentive를 지급한다.) 


3) 디지털 서명 (digital signature)

서명은, 이 문서의 내용 변경 및 부인을 방지하는 문서에 하는 인감 날인이나 사인이다.  
오늘날의 컴퓨터 네트워크에서 그냥 문서를 보내면, 

해커(공격자)가네트워크 상에서 패킷을 훔쳐 위변조가 일어날 수 있다. 
이때 등장한 개념이 디지털 서명이다.  

디지털 서명은 네트워크에서 송신자의 신원을 증명하는 방법이다. 
송신자가 자신의 비밀키로 암호화(encrypt)한 메시지를 수신자는 공용키로 암호화한 메시지를 해독한다. 
비대칭키 방식, 해쉬 함수를 이용하여 다음과 같은 방식으로 데이터의 진위여부를 확인할 수 있다. 
비트코인은 이 디지털서명을 P2P서버에서 누구든지 서명할 수 있도록 설계되었다. 
그러나 누구든지 서명을 시도할 수 있지만, 서명(블럭에 Sign)이 쉽지 않다. 
비트코인 채굴은 이 디지털 서명으로 거래내역을 증명하는 과정을 누구보다 먼저 끝내는것이다. 
(계산량이 굉장히 많다. 하나의 블럭 서명을 완료한 경우 위에서 설명한 Incentive를 지급한다.)  
하나의 블록(거래내역의 집합, 이전블록의 해시값, NONCE)이 보통 P2P 서버에서  10분마다 생성되는데, 
10분안에 이 디지털 서명을 완료해야한다. 이 디지털 서명은 10분만에 증명하는것만으로 시간이 타이트하기 때문에, 위변조가 쉽지 않다. (위변조가 불가능한 점은 작업 증명 개념으로도 설명할 수 있다.) 

 

4) P2P 서버 
보통의 클라이언트-서버 모델과 달리 각 단말들이 동등한 위치에서 통신하는 네트워크를 말한다.  (제일 유명한 P2P서버는 Torrent이다.) 각 단말은 서버이면서 동시에 클라이언트 역할을 한다. 블록체인은 이 P2P 형태로 이루어진 탈중앙화방식을 이용하였다.