brunch

You can make anything
by writing

C.S.Lewis

by HANNS Jul 13. 2016

블록체인 이론(1)

일곱번째 이야기


이번화는 블록체인의 이론에 대해 알아보도록 하겠습니다. 본격적으로 핀테크 읽어주는 공대생이라는 매거진의 이야기가 시작하는 화이기도 합니다. 총 3화에 걸쳐 핀테크의 핵심 축으로 자리잡고 있는 블록체인 기술에 대한 이론을 살펴보도록 하겠습니다.


기존 은행의 거래내역  보관 vs 블록체인의 거래내역 보관


비트코인은 죽어도 블록체인은 살아남을것

가상화페(비트코인)의 거래내역을 보존하는 기술인 블록체인은 핀테크 시장에서 비트코인보다 더욱 중요시 여겨지는 기술입니다. 거래내역을 담은 거래장부가 왜 금융거래에서 중요한것인지는 본 매거진 1화 : 핀테크 보안의 혁명, 블록체인 편을 보시면 되겠습니다 :)


비트코인 : 지폐나 동전과 달리 물리적인 형태가 없는 온라인 가상화폐
블록체인 : 모든 비트코인 거래 내역이 기록된 공개 장부




블록체인은 Hash 함수에서 비롯


블록체인 기술을 이해하기 위해서는 우선 Hash 함수에 대해 알아야 해요. Hash 함수는 한방향 계산은 쉬우나 역방향 계산은 매우 어려운 수식을 말해요. 예를 들어보자면,


ex) 5로 나눈 나머지 함수를 MOD5 이라고 명칭하면

X = 19일때,

Y = MOD5(19) = 4


여러분, 이해 되시나요? 19를 5로 나누면 나머지가 4이기 때문에 결과값 Y가 4가 되는것입니다. 그런데, 반대로 5로 나눴을때 나머지가 4가 되는 X값을 찾으라 하면 무수히 많게 되겠죠? 이처럼 X를 대입해서 Y라는 결과를 내는건 쉽지만, Y라는 결과를 통해 X를 구해내는것은 어렵게 되죠. 이런것을 바로 Hash 함수라고 하는것이이에요.


하지만 이때, Y라는 결과와 약간의 조건이 주어지면 X를 구해내는 것은 조금 쉬어집니다. 예를 들어 위의 예시에서 5로 나눳을때 4가 되는 X값은 20보다 작아야한다 라는 조건을 알려준다면, 원래값(X)를 쉽게 구할 수 있게 되겠죠? 이런 방식을 바로 해쉬 제약 완화라고 해요.


위와같이 20보다 작아야한다는 것을 컴퓨터는 비트로 이해해야 하기 때문에 앞의 몇자리가 0이어야 하는지를 파악해야 합니다. 갑자기 어려워졌죠? 조금 쉽게 설명해줄게요 :)


아래는 1~8까지 컴퓨터가 인식하는 비트를 적어봤습니다.


0001 = 1

0010 = 2

0011 = 3

0100 = 4

0101 = 5

0110 = 6

0111 = 7

1000 = 8


여기서, Y는 8보다 작아야 한다 라는 조건을 주기위해서는 위에서 비트의 맨 앞자리가 반드시 0이어야 한다는 것을 알 수 있죠. 언제부터 맨 앞자리가 0이 아닌 1이 되는지를 체크하는 것이 Hash 함수에서 counter 값 또는 Nonce 값 이라고 합니다. 그리고 여기의 Y를 해쉬값이라고 합니다. 그리고 블록체인에서 블록들은 자신들의 Nonce값을 찾고, 이전 블록들의 해쉬값 Y를 보관하게 됩니다.


전 블록의 해쉬값을 다음 블록이 갖게 됩니다


음, 여기까지 잘 따라오셨나요? 다음 시간에 이어서 더 알아보도록 하겠습니다. 감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari