• 검색

3-③비트코인의 시작과 끝인 마이닝

  • 2014.01.17(금) 15:10

‘신뢰’를 위한 나카모토의 아이디어ⅱ

<글 싣는 순서>
3부 : 비잔틴의 딜레마를 풀다
①순수(Bit) 그리고 공유(P2P)와 나눔(Open)
②정부의 보증 대신 ‘다수의 선택’으로
③비트코인의 시작과 끝인 마이닝
④거래 명세를 공개해 고리를 만들다
⑤정직한 다수가 항상 이긴다



비트코인의 이런 익명성은 현존하는 지폐와 가장 근접한 특징을 가지고 있긴 하지만, 일부 오해도 있는 듯하다. 마치 모든 거래가 비밀 거래인 것처럼 생각하는 것이다. 그러나 디지털 세계에서 완벽한 익명성이란 존재하지 않는다. 특히 비트코인은 디지털 통화여서 어떤 식으로든 디지털 기기를 통해 이뤄진다.

비트코인을 여러 디지털 통화 분류법에서 전자지갑으로 해석하는 이유가 그렇다. 전자지갑은 내 컴퓨터나 스마트폰에 앱을 설치해야 하는 이상, 해당 기기를 소유한 사람의 거래로 확인할 수 있다. 이런 측면에서 익명성이 비밀 거래를 의미하지는 않는다. 물론 대포폰을 사용한다면 그건 다른 문제다.

즉 나카모토가 제시한 비트코인의 익명성은 그 어떤 비밀 거래여서가 아니라 현존하는 화폐의 쓰임새와 가장 가깝다는 측면에서 높은 평가를 받는다. 화폐론에서 가장 기본적인 교환가치의 기능에 충실한 디지털 가상통화를 가능하게 함으로써 거부감을 덜어주는 것이다.

비트코인 관련 자료를 찾아본 독자들이라면 이미 몇 가지 용어를 알고 있다. 채굴(Mining)이다. 이 채굴이 비트코인 거래 메커니즘의 핵심이다. 마이닝은 보통 새 비트코인을 얻는 것이다. 금광을 캐듯 채굴이라고 한다.

그런데 이 마이닝은 단순히 비트코인을 획득하는 방법만이 아니라 거래를 마무리해주는 인증•확증(verification)의 기능을 한다. 마이닝을 통해 비트코인을 얻는 동시에 거래를 인증해주는 것이다. 거래 인증에 자발적으로 참여할 다수의 네트워크가 필요한데, 이를 위해 이들에게 인센티브로 비트코인을 주는 방식이다.



◇ 비트코인=디지털 사인의 연결 고리

나카모토는 그의 논문에서 비트코인을 디지털 사인의 연결 고리(a chain of digital signature)라고 했다. 거래의 한 단위를 블록(Block or Box)이라 하는데, 이 블록들이 끊임없이 이어지고 쌓여간다. 마치 거래의 마지막 과정이 새 거래의 시작점으로 계속 뻗어 나가는 줄기 같은 것으로 보면 크게 틀리지 않다.

#A가 B에게 1 비트코인을 보냈다. B가 다시 C에게 1 비트코인을 준다. C의 입장에서 이 거래가 정상적인지 확인하는 방법은 B에게 1 비트코인을 보낸 것이 A라는 것을 확인하면 된다. A로부터 B에게 1 비트코인이 넘어갔으니 B가 C에게 준 1 비트코인은 정상이다. 이것이 하나의 블록이다.

A가 B에게 1 비트코인을 줬다는 사실을 확인(인증)하는 것은 네트워크에 참여하는 노드(Node)들이다. 노드는 비트코인을 캐기 위해 마이닝에 참여한 네트워크들이기도 하다. 여기서 중요한 특징이 있다. 모든 노드에 모두 같은 블록이 제시된다. B가 C에게 1 비트코인을 보냈다는 것을 모든 네트워크 참여자들에게 ‘공개한다(Broadcast, 전파)’는 것이다.

현재 존재하는 보통의 금융 거래에선 B가 C에게 1만 원을 준 사실을 다른 사람들은 알 수 없다. B와 C가 거래 사실을 공개하지 않는 이상 그렇다. 그런데도 그 둘은 믿고 거래한다. ‘정부와 중앙은행이 보증한 화폐’기 때문이다. 비트코인은 애초에 이런 정부의 권한과 권위를 폐기했기 때문에 어떤 형식으로든 거래가 정상적이라는 일종의 인증 툴이 필요하다.


암호화한 거래 내용을 노드들에 공개하고 노드들이 자발적으로 이 거래가 정상적이라는 것을 인증하도록 하는 것이 비트코인의 거래 메커니즘인 셈이다. 노드들의 자발적 참여를 위해선 인센티브가 필요하다. 채굴(Mining)에 성공하면 일정 수량의 비트코인을 주는 것이다.

결국, 채굴은 뒤집어 보면 거래 과정에서 A가 B에게 1 비트코인을 보냈다는 사실을 확증(거래 클리어링, Clearing)해주는 것이다. 채굴이 작동하는 방식은 거래 내용을 암호화(해시)하는 과정과 거의 같다. 다만, 이 과정에선 특정 조건(Target)을 제시해 거래에서 사용하는 해시 값과는 다른 형태를 띤다.

이 특정 조건은 해당 블록의 256bit 해시 값이 0보다는 크고 타깃보다는 작아야 한다는 것이다. 거래가 이뤄졌으니 0보다는 커야 하고 A와 B의 거래금액은 B와 C의 거래 금액보다는 적어야 거래가 정상이라는 것을 인정하는 방식이다. 이 조건을 만족하는 임시값(Nonce)을 찾는 문제다.
naver daum
SNS 로그인
naver
facebook
google