티스토리 뷰

요사이 비트코인을 비롯한 가상화폐 때문에 난리입니다.

저도 사실은 지난해 초에 이 비트코인에 투자하라는 제안을 받은바가 있습니다.

지금생각해보면 그때 조금 해볼껄 그런생각도 안드는것은 아니지만

그때 이 비트코인의 원리에 대해 열심히 공부해보고 이건 아니다 라는 확신에 투자할 생각을 완전히 접었구요.

그 이후 마약거래 등에 비트코인이 사용된다는 기사를 보고 완전히 이건 기술의 문제가 아니다 라는 생각이 들었습니다.

 

그래서 조금은 늦은 감이 있지만 한번 기술적, 경제학적으로 접근해 보겠습니다.

첫번째는 기술적인 측변에서의 접근입니다.

 


 

비트코인을 비롯한 대다수의 가상화폐의 기술, 블럭체인

컴공은 아니지만 나름대로 공돌이 생활을 했고 지금도 관련이 있다면 있는 분야에서 일합니다.

순순히 기술적인 측면에서의 비트코인을 생각해본다면 정말 훌륭한 방법인것만은 분명해 보입니다.

 

지금은 누구나 다 아는 "블럭체인" 기술이 이 비트코인의 핵심적인 기능인데요, 결국 가상화폐의 기술이라는 점은 이 블럭체인기술을 설명해야 하는것으로 귀결 됩니다.

 

일부는 블럭체인과 비트코인이 동일한것으로 아시는 분들도 계시던데요. 정확히 설명하자면 비트코인은 블럭체인이라는 기술을 바탕으로 한 하나의 상품입니다. 비트코인을 이루고 있는 그 기반 기술이 블럭체인인것이죠.

 

그럼블럭체인은 무엇이냐... 이게 한마디로 정의하기가 참 애애합니다. 한마디로 정의 하면, 토렌트처럼 여러사람이 원본을 분산해서 갖고 있는구조다. 이렇게 설명할수 있을텐데 이렇게 설명하면 그럼 이게 어떻게 화폐가 되는데?? 이 질문이 필연적으로 나오건든요

 

아래 초등학생도 이해하는 블록체인이라는 그림을 퍼왔습니다.

그런데 잘 이해가 안갑니다....ㅡ.ㅡ;;;

 

그래서 기본부터 시작하겠습니다.

 

예를 들어 우리가 돈을 송금한다고 하면 은행이나 ATM기기를 이용하여 타인의 계좌로 돈을 송금합니다. 그러면 그 은행의 중앙 컴퓨터는 그것을 잘 처리해서 우리의 계좌에서 다른사람의 계좌로 돈을 옮기거나 또는 화수된 돈의 양만큼을 타인의 계좌에 더해주는 역할을 하죠.

 

그런데 문제가 있습니다. 우리가 돈을 부칠수 있는것은 바로 이 은행과 은행의 시스템에 대한 믿음이 있기 때문인데요. 만약 은행의 컴퓨터가 다운된다면, 해킹이 되었다면 우리는 아마 믿고 돈을 못부칠껍니다.

기술적으로 이것을 해결하는 방법은 가장 간단한것이 바로 이 중앙서버를 여러개 백업으로 만들어 놓아서 이런 다중화를 통해 안정성을 높이는 방법이 있겠죠. 뭐 실제로 이렇게만 하겠습니까? 보안요원도 배치하고, 해킹에 대비해서 방화벽도 만들어 놓고 여러가지 안전대책을 겹겹으로 쌓아 놓았겠죠. 그럼 안전해 집니다.

그런데 이러면 또 문제가 생깁니다. 바로 비용이 증가하게 되고 그 비용은 고스란히 고객에게 전가되겠죠.

 

진퇴양난입니다. 안정성을 위해선 비용이 발생하고 비용이 발생하면 고객이 안좋죠. 돈이 많은 사람이라면 그러겠지만 그냥 편의를 위해 은행을 이용하는 사람은 비용이 아까워요.

 

블럭체인은 이것을 조금 다른 각도에서 생각합니다. 2중 3중으로 하는 정보를 완전히 공개를 해버리고 모든 블럭체인에 연결되어있는 사람들의 정보를 동기화 해버립니다. 만약에 한사람이 뭔가 자료의 변동이 일어나면 이 블럭체인 안에 있는 모든 사람들의 자료가 완전히 동일해 지게 되는겁니다. 그러면 2중3중이 아니라 몇천중, 몇만중으로 자료가 분산되기 때문에 안정성이 올라가는겁니다.

 

그럼 문제가 생기죠. 그 블럭체인에 들어가 있는 어떤사람이 나쁜의도를 갖고 이 자료를 거짓으로 올립니다. 그러면 모든 블럭체인에 거짓 정보가 생성됩니다. 그래서 블럭체인에서는 암호화 기법을 이용해서 이것을 막습니다. 사실 여기서부터가 조금 어려운 내용입니다.

 

디지털 서명이란것이 나오는데요. 아주 간단하게 설명하자면 어떤 문서가 진본이라고 디지털 서명을 하면 거기에 해쉬값을 부여하여 이것을 암호화하여 문서에 첨부합니다. 그러면 그것을 확인하는 입장에서는 그 해쉬값을 다시 복호화하여 원래 해쉬값과 동일하다면 이 문서는 믿을수 있다고 판단하는것이지요. 그림으론 아래와 같습니다.

좌측은 서명하는 것이고, 우측은 서명을 검증하는 과정을 나타냅니다.

 

자 여기까지가 기초입니다. 이제 블럭체인으로 가보죠. 단어 그대로 블럭들이 연결되어있다는것이 블럭체인입니다.

그럼 블럭이 뭔지를 알아야 겠지요.

여기서는 블럭을 비트코인에 적용해서 설명을 이어 가겠습니다. 비트코인 시스템에서의 블럭은 거래 장부의 개념입니다. 아무래도 화폐이다보니 이런 것으로 정해진것 같은데요. 하나의 블록(장부)에는 약 2000여개의 거래정보가 포함된다고 합니다. 이러한 블럭 1개는 각각 헤더와 거래정보로 구성되어있는데요. 헤더는 우리가 흔히 컴퓨터 파일에서 사용하는 그 헤더와 동일합니다.

사실상 이 헤더가 블럭의 핵심이 됩니다. 이 헤더는 총 6개의 정보로 구성이 되어있습니다.

이것이 블럭 하나입니다. 아래 쓰여있는 트랜잭션이 바로 거래 정보입니다. 위의 헤더를 바탕으로 블록해쉬값이 나오는것이지요.

맨 위에 있는 사진에서 이전의 거래들을 사진으로 찍어서 그 다음 블럭에 넣는것이 바로 두번째 헤더값인 PREVIOUS BLOCK HASH입니다.

그래서 계속 이전의 거래들이 해쉬값으로 남는것이지요. 그래서 이전의 모든거래가 계속 남는다는 예기가 나오는 것입니다.

 

사실 비트코인이나 블럭체인이나 이 깊은 기술적인 내용을 알려면 이 헤더에 대한 깊이 있는 이해가 필요하긴 하지만 여기선 그정도까지는 접근 안할껍니다. 결국 헤더는 어떤 한 블록의 거래정보를 압축적으로 담고 있는 것이라고 생각하시면 됩니다. 이런 거래들이 여러개 모여서 한 블럭을 형성한다. 일단을 그렇게 생각하시면 되구요. 이 블럭들이 모여 체일을 형성하는게 블럭체인입니다.

이것이 바로 비트코인의 블럭체인 입니다.

 

이런 블럭들이 생성된는 공간, 계좌가 존재하는 공간을 노드라고 부르고 전세계에 수많은 노드가 존재합니다. 어떤 거래가 발생하면 노드를 통해 모든 거래(블럭이)가 거의 실시간으로 공유가 이루어지는 것입니다.

 

 

 

그래 블럭체인은 뭔지 대충알겠는데 채굴은 뭐고, 코인은 뭐고 거래는 어떻게 하는건데~???

 

이제부터 그것을 알려드립니다.^^

블럭체인에서 가장 중요한것은 하나의 블럭을 생성하는 일일것입니다. 그래야만 거래를 지속적으로 할 수 있죠. 그러면 그 블럭을 생성하려면 어찌해야 하는가. 바로 그것이 채굴 또는 작업증명이라고 부르는 것입니다.

 

기술적으로 표현하자면 위의 블럭헤더에서 NONCE값을 알아 맞추는 수수께끼를 푸는 작업입니다. 근데 이게요... 생각을 해서 푸는게 아니라 일일이 어떤 값을 집어 넣어봐야 맞느지 틀리는지를 알 수 있어요. 그래서 노가다고 그 노가다를 수많은 그래픽카드의 GPU들이 수행하고 있는것이지요.

 

이 채굴을 하는게 점점더 어려워진다 그런이야기 많이 들리지요. 비트코인을 계속 거래 하려면 이 블럭이 계속 생겨나야 하고 그 블럭을 만드는데에는 꽤 많은 노력이 들어갑니다. (비트코인이 뜨면서 점점더 어려워지고 있죠.) 그래서 이렇게 거래를 계속 할 수있도록 블럭을 만드는 사람에게 상으로 비트코인을 지급하는 구조인것입니다.

 

그런데 이게 10분에 하나씩 만들어진다는건 또 뭔가 하실껍니다. 난이도를 조절해 가면서 평균 10분당 하나의 블럭이 생성되도록 비트코인은 설계가 되어있구요, 세계의 어마어마한 인원들이 이 채굴을 하고 있습니다. 엄청난 장비로 문제를 풀고 있죠. 그러니 당연히 점점 내 차례가 어려워지고 있는 구조인것이죠.

 

하나의 블럭을 생성하면 그 사람에게 비트코인을 지급하는데 현재는 12.5개를 지급한다고 합니다. 블럭이 하나 생성되면 가장 맨처음의 트랜젝션은 바로 생성자에게 비트코인 12.5개를 지급하는것이 자동 생성이 됩니다.

대부분 아시다시피 비트코인은 2100만개로 그 갯수가 정해져 있습니다. 현재는 12.5개의 비트코인이 지급된다고 했는데요. 4년동안 10분마다 12.5개의 비트코인이 발행되면 그 갯수는 2,628,000개의 비트코인이 발행되니다. 이것을 비트코인 전체량 2100만으로 나누면 0.125143정도가 됩니다. 그래서 2020년 12월까지 전체코인의 12.5%정도가 발행된다는것을 나타내는 그래프입니다.

 

이게 비트코인 시스템의 대강의 얼개입니다.

 

그러면 거래는 어떻게 이루어 지는것일까요.

가상화폐엔 지갑이란것이 있습니다. 일종의 계좌 입니다. 그 지갑에 비트코인을 얻으면 비트코인의 데이터가 저장이 됩니다. 그 비트코인을 거래한다고 생각해 봅시다.

위와 같은 방식입니다. 지갑에서 어떤 거래를 하면 그 노드에서 거래정보에 추가를 하고 이후 모든 노드에 전달이 되어서 기록이 되는 구조입니다. 그래서 모든거래가 투명하게 거래되기 때문에 해킹의 위험이 거의 없습니다. 뭐하나가 해킹되어더 나머지 전부가 원본자료를 갖고 있기 때문입니다.

 

뭐 이런 구조인데요. 여러가지 문제제기가 있겠죠? 시간이 동시에 일어난다면? 전 지구적인 시스템인데 만약 블럭이 지구 반대편에서 동시에 생성된다면? 등등의 문제점들이 생기는데요. 사실 비트코인이란시스템안에서는 이런 문제점에 대한 거의 확실한 대안이 있는것으로 알고 있습니다. 말하자면 내부 규정 같은 것이지요. 이런것은 한번 찾아보세요~^^

 

이것으로 비트코인의 기술적인 부분에 대해서 알아봤습니다.

 

다음은 경제학적인 접근을 해볼께요.

 


 

여러분의 오류수정과 조언, 첨언 환영합니다.

 

이 글은 제 네이버 포스트(post.naver.com/acekimsm)에서도 보실 수 있습니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함