블록체인 개발 - 2

김성진·2021년 9월 16일
0
post-custom-banner

가상화폐 & 블록체인의 이해

가상화폐라는 것을 이해하기 전에 가장 먼저 화폐라는 것을 이해해야 한다. 그렇다면 화폐란 무엇인가?

화폐란 "신뢰"다

단순한 종이 쪼가리 하나를 우리는 왜 그렇게 가치를 높게 판단할까? 그 근본적 이유부터 고려해 볼 필요가 있다. 그 종이가 빳빳하고 깨끗해서? 유니크해서? 전혀 아니다. 그 이유는 "모든 사람들이 그 종이에 1만원의 가치가 있다." 고 믿기 때문이다. 즉, 화폐는 그 자체로서가 아닌, 내가 속한 공동체가 그것이 가치가 있다고 '신뢰'하고 '보증' 해주기 때문에 가치가 있다.

중앙 집중화

현재 우리가 살고 있는 사회는 모든 것이 중앙화 되어있다. 예를들어 A가 B라는 사람에게 100만원을 줄때도 '은행'이라는 기관을 통해서, 혹은 A가 B에게 자신의 집을 팔때도 중간의 '중개인'이라는 기관이 필요하다. 심지어는 화폐의 흐름과 통제권까지 특정 기관에 집중되는 중앙집중적 구조 속에서 우리는 살고 있다.

중앙 집중화의 문제점

  1. 중개 비용
    실제로 이 중개자들은 장부의 신뢰성을 보증하기 위해서 한 둘이 아닌 복잡한 프로세스를 거치게 되고 필연적으로 중개 비용이 생긴다.
  2. 중앙 기관의 무능이나 부패
    정말 그 제 3자가 믿을만 한지도 문제가 된다. 나라나 국가 기관이 화폐의 통제권을 가지고 있기 때문에 부패하거나 무능한 집단이 화폐를 마구 찍어내서 국가의 경제를 망친 사례도 많다.
  3. 해킹의 타깃이 된다.
    장부가 한 곳에 집중되어 있으므로, 해커들이 노리기가 쉬워진다.

여기서!!! 이 문제점들을 해결하기 위해 "블록체인"이라는 기술이 도입된다!!!

장부만들기

준비물: 빈 종이, 펜, 특수기계(중요함)

먼저, 10명의 사람들이 모여서 네트워크를 만든다. 그리고 그 10명의 사람들은 각각 빈 종이, 펜, 특수기계를 받게 된다.

1. 받아쓰기

10명의 사람들을 편의상 1번부터 10번이라고 이름을 붙이자. 10명의 사람들은 주고 서로 주고 받을 때마다, 그 내용을 다른 사람들에게 알린다.

위의 그림처럼 2번이 7번에게 만원을 주었다를 10명 모두에게 공지하고 받아 적게 한다. 이런 식으로 종이 한 장이 꽉 찰 때까지 거래를 받아 적고, 파일철에 끼워 '봉인'을 한다.

2. 봉인

우선 아까 준비물 중 '특수 기계'의 특징부터 이해하자.

a. 입력값을 넣으면 출력값이 나온다
b. 입력값을 가지고는 출력값을 쉽게 확인할 수 있다.
c. 출력 값을 가지고는 입력값을 알 수가 없다.

이 기계를 '해쉬함수'라고 한다.

이 기계를 어떻게 사용하여 봉인할까? 먼저, 네트워크는 다음과 같은 규칙을 정한다. "봉인된 숫자 '20113'에 어떤 숫자를 더해서 기계에 입력하면, 반드시 '000'으로 시작하는 출력 값이 나와야 한다".

규칙으로 정해진 이 출력 값을 '논스값'이라고 한다.

즉, 20113을 봉인하려면 '20113에 더해서 000으로 시작하는 출력 값이 나오게 하는 특정 숫자'를 찾아야 한다. 이제 출력값으로부터 입력값을 알 수 없기에 모든 참여자들은 열심히 노력을 투자해 하나씩 더해봐야 한다. 그러다 누군가가 '40372'를 더해서 입력하면 출력값 '00087'이 나온다는 것을 알아냈다.

찾아낸 사람은 이 비밀번호를 모두에게 알리고, 모든 사람들은 기계에 넣어보고 40372를 더해서 000으로 시작하는 숫자가 나오는지 확인한다. 그리고 다수의 사람들이 40372를 맞는 숫자로 인정하면 40372는 20113을 봉인하는 번호가 된다. 만약 누가 내용 20113을 20114로 바꾸면 그 즉시 기계에 넣었을때 000으로 시작하는 출력값이 나오지 않기 때문에 거짓인 것을 알게 된다.

3. 거래기록 봉인하기

다시 돌아와, 아까 빈 종이가 꽉 차게 되어 봉인을 해야한다.

4. 종이를 파일철에 끼우기

이제 모든 사람은 봉인 번호가 적힌 진본 종이를 복사 후, 자신의 파일철에 넣는다. 10명의 사람들은 또 새로운 종이를 받고 다음 거래 기록들을 받았 적는다. 이 과정을 반복하면 모든 사람이 같은 내용의 파일철을 갖게 되고, 내용이 '진봄'임을 신뢰할 수 있다. 거래 기록을 수정하더라도 언제든지 기계에 넣어서 이 맞는지 여부 확인이 가능하다.


여기까지 진행하면 다음과 같은 특징을 가지는 장부를 만드는데 성공한 것이다.

  1. 이 장부에 한 번 쓰여진 내용은 수정되거나 지워지지 않으며 영구적으로 저장됨
  2. 어떤 사람이나 기관도 이 장부에 대한 권한을 가지고 있지 않음.
  3. 모든 사람은 이 장부의 사본을 가지고 있으며 언제든지 꺼내볼 수 있음.
  • 정의: 거래 내역이 담딘 종이 한 장을 블록(block)이라 하고, 이 블록(block)이 엮여서(chain) 하나의 파일을 구성하기 때문에, 이 파일을 '블록체인'이라고 부른다.

참고자료:
https://brunch.co.kr/@bumgeunsong/41

profile
multi-national communicator with programming (back-end)
post-custom-banner

0개의 댓글