티스토리 뷰

  이전 글에서는 거래의 기록 및 거래가 이루어지는 방법에 대해서 알아 보았다.

  이번 글에서는 비트코인에서 거래가 안전하게 이루어질 수 있도록 사용하고 있는 암호화 기술에 대하여 설명하겠다.

 

  암호화 기술은 다른 SW 분야에서도 다양하게 이용되고 있는데 크게 대칭 키 암호화방식과 비대칭 키 암호화방식이 있다. 비트코인에서는 비대칭 키 암호화방식을 사용 중이다.

 

그러면 이러한 암호화 방식의 차이점을 알아보자.

대칭 키 암호는 키가 하나라고 생각하면 된다. 암호화를 할 때와 암호를 풀 때 동일한 키를 사용하는 것이다.

비대칭 암호화 방법은 암호화할 때 사용하는 키와 암호를 풀 때 사용하는 키가 서로 완전히 다른 것이다. 따라서 대칭 키 암호화 방식은 키를 알게 되면 역으로 쉽게 풀 수가 있다. 하지만 비대칭 암호화 방식은 어느 한쪽의 키를 안다고 해도 다른 쪽 키를 유추하기가 아주 어렵다.

 예를 들어서 금고를 생각해보자. 우리가 평소에 사용하는 금고는 키가 하나가 있어서 금고를 열 때와 금고를 잠글 때 동일한 키를 사용한다. 하지만 이 금고를 비대칭 키의 개념으로 생각해보면, 금고를 열 때 사용하는 키로는 금고를 잠글 수가 없고 금고를 잠글 때 사용하는 키로는 금고를 열 수가 없다. 금고를 열 때와 잠글 때 두 가지의 키가 있는 것이다.

 

 비대칭 키 암호화 방식에서는 이처럼 두 가지의 키를 사용하는데 개인 키공개 키를 한 쌍으로 한다. 개인 키는 자신만 알고 있는 것이고 공개 키는 말 그대로 외부로 공개 하는 키이다. 이 한 쌍의 키에 의해서 암호화와 복호화가 이루어지는 것이다. 전달하는 메시지를 개인 키로 암호화 하면 이와 한 쌍을 이루는 공개 키에 의해서만 복호화가 가능하다. 반대로 메시지를 공개 키에 의해서 암호화 하면 이와 한 쌍을 이루는 개인 키에 의해서만 복호화가 가능하다. 암호화와 복호화 하는 키가 다르다는 점이 조금 이상하게 들릴 수도 있지만 이 방식이 비대칭 암호화 방식이며 대칭 암호화 방식보다 보안성에서 우수하다. 그리고 이미 공인인증서나 암호화 웹 페이지 등에서도 다양하게 사용하고 있다.

 

 공개 키와 개인 키에 대해서 조금 더 자세히 설명하자면 공개키로 암호화 한 내용은 이와 한 쌍을 이루는 개인 키를 가진 사람만 복호화 하여 내용을 볼 수 있고, 개인 키로 암호화 한 내용은 공개 키를 가진 사람 전부 볼 수 있으므로 이는 서명(Signature) 행위 라고 한다. 서명에 의해서 이 메시지는 개인 키를 가진 사람이 썼다는 것을 보증하고 공개 키에 의해서 해석이 되면 검증되는 것이다. 모든 사용자는 자신만의 비대칭 키가 있다. 한 쌍으로 이루어진 개인 키와 공개 키를 모든 이용자가 가지고 있는 것이다. 여기서 개인 키는 자신만 가지고 있고 공개 키는 네트워크에 공유를 하여 다른 네트워크 이용자들이 사용할 수 있도록 한다.

 

그러면 이제 비트코인 관점에서 보면 거래 시 어떻게 비대칭 키가 사용되는지 보자.

위 그림의 예를 통해서 살펴 보겠다. 소유자 1이 소유자 2에게 10 비트코인을 준다고 가정해보자. 여기서 거래 메시지는 소유자 1이 소유자 2에게 10 비트코인을 준다.”에 해당할 것이다. 이렇게 소유자 2에게 전달되는 새로운 거래 기록을 생성할 때는 소유자 2의 공개 키를 사용하게 된다. 소유자 1에게 전달되었던 모든 거래기록과 새로 생성된 거래 메시지는 소유자 2의 공개 키를 이용하여 암호화를 거치게 된다. 그리고 소유자 1의 개인 키를 통해서 이 새로운 메시지가 자신에 의해서 생성되었음을 서명하게 된다. 이때 소유자 2는 소유자 1의 공개 키를 이용하여 소유자 1의 서명이 맞는 것인지 검증할 수 있다. 소유자 2의 공개 키를 사용하여 암호화 한 것이기 때문에 소유자 2인 경우에만 자신의 개인 키를 가지고 이 메시지의 암호화를 풀 수가 있다. 검증 확인 후 복호화가 되면 메시지 내용에 따라서 소유자 2 10 비트코인의 소유자가 되는 것이고 이후 소유자 2인 경우에만 소유자 3에게 비트코인을 전달 할 수 있는 자격이 주어진다

 

 정리하자면 공개 키를 통해서 비트코인을 사용할 수 있도록 암호화 하면 이와 한 쌍을 이루는 개인 키를 가진 사용자만 비트코인을 사용할 수 있게 되는 것이다. 공개 키를 비트코인 거래의 목적지 주소로 사용하고 개인 키로 만든 디지털 서명을 비트코인 소유의 증거로 사용하는 것이다.

현재 은행 시스템과 비교해 보면 공개 키는 계좌 번호에 해당한다고 보고 개인 키는 비밀번호에 해당한다고 보면 조금 더 쉽게 생각할 수 있을 것이다.

 

 지금까지 비대칭 키 암호화 방식을 통해 비트코인의 거래 방식을 알아 보았다. 이러한 비대칭 키 암호화 방식을 통해서 비트코인의 거래는 다른 사용자가 주소를 알아도 무분별하게 사용할 수 없도록 기술적으로 보증하는 것이다. 여기까지 블록체인 기술에서 핵심적으로 사용되는 기술 내용들 위주로 소개를 하였다. 블록체인은 이렇게 다양한 기술들이 조합되어 제 3자 보증없이도 신뢰성과 효율성을 확보할 수 있는 새로운 시스템으로 주목 받고 있다. 가상화폐 뿐만 아니라 앞으로도 충분히 다양한 분야에서 활용이 가능할 것으로 보인다. 블록체인에서 사용되는 기술은 이정도로 마치고 다음 글에서는 블록체인의 활용 분야에 대해서 설명하겠다.

 

2018/01/30 - [과학 트렌트] - 블록체인 활용 분야 및 향후 전망

댓글
글 보관함
최근에 올라온 글