📚 Study

쉽게 이해하는 블록체인 1-1. 간단한 비유를 들어보자

date
Jun 6, 2022
slug
understanding-blockchain
author
status
Public
category
📚 Study
tags
BlockChain
summary
블록체인 후려치기
type
Post
thumbnail
다운로드.png
 
다니엘 드레셔 저 <블록체인 무엇인가?> 를 1회독 하고 느낌상 블록체인을 10%정도 이해한 후 적어보는 의식의 흐름 블록체인 정리 글.
우선 내가 이해한 대로 이런 저런 비유를 들이대며 후려쳐 설명해 보았으나 아마(99.9%) 잘못된 비유일 가능성이 농후하다. 어차피 내가 제대로 이해했는지 확인해보고자 쓰는 글이니 잘못된 비유라면 어느 순간 알아서 깨닫게 되지 않을까... 나중에 블록체인과 암호화폐에 대한 개념이 좀 더 정확하게 정립되었을 때 다시 수정, 보완하도록 해보자.
 
notion image
1. 블록체인이란 무엇인가
- 간단한 비유(현 게시글)
- 구조
- 기능
2. 블록체인 응용사례
3. 블록체인의 장단점
4. 블록체인의 미래
- 기술적 한계와 극복 방안
- 미래 전망

1. 블록체인이란 무엇인가

1) 간단한 비유 - 구슬치기 체육대회

당신이 체육대회에 참가했다고 가정하자. 종목은 구슬치기. 참가자 모두 본인 소유의 대회용 승인된 구슬을 갖고 있고, 다른 참가자와의 게임을 통해 구슬을 뺏거나 뺏길 수 있다. 이 체육대회에서 구슬은 화폐의 기능을 대신하는데, 구슬을 이용해 음식을 사 먹거나 바자회 물건을 사고 팔 수 있다.
 

이 체육대회에는 2개의 특이점이 있다.

  • 첫째, 이 대회는 최후의 1인, 우승자를 가리는 대회가 아니다. 그저 구슬치기 게임을 통해 참가자끼리 구슬을 계속해서 교환할 수 있도록 하는 데에 목적을 둔다.
  • 둘째, 이 대회에는 주최자, 즉 대회의 운영진이 존재하지 않는다. 따라서 참가자 사이에서 벌어지는 구슬치기 게임의 결과를 관장하는 중앙 기구가 없다.
 
이 두 번째 특징은 대회 진행에 문제가 될 수 있는 몇 가지 경우를 야기할 수 있다. 만일 참가자가 대회에서 승인되지 않은 개인 구슬을 가지고 참여한다면, 이 행위는 대회의 안정성을 위협할 수 있게 된다. 화폐의 기능을 수행하는 구슬의 가치가 훼손될 수 있는 것이다(마치 실생활에서 위조 지폐를 사용하는 것과 같은 맥락으로 이해할 수 있다). 또한 특정 참가자가 정당한 게임 절차를 거치지 않고 부당한 방법으로 구슬을 획득한다면 이 행위 또한 대회의 안정성을 위협하는 요소로 작용할 것이다. 뿐만 아니라 대회 참가자가 아닌 외부인이 난입하여 참가자들의 구슬을 모조리 앗아가 버린다면 이 또한 대회가 안정적으로 진행되는 데에 큰 문제를 일으킬 것이다.
 
여기까지 상상했다면 당신은 아마 이런 생각이 들 것이다.

'그럼 굳이 운영진 없이 운영하는 이유가 뭐지? 예측 가능한 문제점만해도 이렇게 많은데'

 
옳은 말이다. 그러나 대회에서 과감하게 운영진을 빼버린 이유 또한 명확하다.
요즘 성행하는 아이스크림가게를 무인으로 운영하는 이유가 무엇이겠는가? 인건비 절감이다. 소비자가 각자의 양심에 따라 행동하도록 방치하여 항상 상주해야 하는 캐셔의 인건비를 절약한다.
이 대회도 비슷한 전략을 취한 것이다. 수십, 수백 명 사이에서 벌어지는 모든 구슬치기 게임을 관전하며 결과를 기록하고 감시하는 운영진이 필요하다면, 그들에게 들어가는 인건비는 이루 말할 수 없이 클 것이다.
대회는 이 비용을 절약하고 싶다. 따라서 운영진을 없애 버리기로 결정했다.
 

결단을 내렸으니 이제 위에서 기술한 문제점들을 해결할 일이 남았다.

여러 문제가 있겠지만 큰 문제점들만 대충 정리해보자면 다음과 같다.
1. 승인되지 않은 비허가 구슬의 유입
2. 부당한 방법의 구슬 교환
3. 외부인의 불법적 구슬 갈취
 

대회는 이 문제들을 어떻게 해결했을까?

핵심은 이거다. '감시의 주체를 운영진에서 참가자로 옮겨가기'.
대회는 참가자 모두가 서로의 게임과 구슬 교환을 감시하도록 하여 중간에 불법적이거나 부당한 방식의 거래가 이루어지지 않도록 하기로 했다. 모든 구슬 교환 행위가 특정다수(여기서는 참가자 전원)에 의해 감시된다면 그 누구라도 쉽게 부도덕한 거래 행위를 벌이려 시도하지 않을 것이다. 각자 본인이 가진 구슬의 가치가 훼손되지 않길 원하므로 대회의 안정성이 지켜지길 원할 것이고, 따라서 대회가 안정적으로 진행될 수 있도록 스스로 감시에 열정적으로 참여할 것이다. 결과적으로 대회는 운영진을 배치하지 않고도 대회가 원활히 진행될 수 있도록 할 수 있게 되었다.
 
그렇다면 각 참가자는 어떻게 감시를 할 수 있는가? 당장 내가 참여한 게임의 결과는 알 수 있지만, 저 멀리 떨어진 반대편 운동장에서 벌어지는 게임의 결과는 어떻게 감시해야할까?
 
참가자 간 구슬치기 게임이 끝나고 나면 대회 참가자 모두가 볼 수 있는 커다란 전광판에 각 게임의 결과(승리자와 패배자, 그들 간 교환되는 구슬의 개수)가 전광판에 표시된다. 참가자들은 전광판을 보고 노트에 결과를 기록한다. 이렇게 되면 너도, 나도, 저 멀리 있는 이름 모를 참가자도 모두 각자의 노트에 같은 기록을 공유한다. 이는 곧 각 게임 결과의 신뢰성을 보증하며, 부도덕한 참가자가 중간에 부당한 게임 이력을 위조하여 추가할 수 없도록 한다. 또한 승인되지 않은 구슬이 유입되거나 게임에 참가하지 않은 외부인이 구슬을 갈취하는 것도 허용되지 않는다. 장부에 기록되지 않은 거래는 무효이기 때문이다. 이렇게 대회는 각 참가자들의 상호 감시를 통해 대회 진행(구슬치기 게임)이 원활히 진행될 수 있도록 함과 동시에, 구슬이라는 대회 전용 화폐가 가치를 유지할 수 있도록 하였다. 운영진을 두지 않고도 대회가 안정적으로 유지되는 목적을 달성한 것이다.
 

…이것이 블록체인 개념의 등장이다. (사실 지금도 맞는 비유인지는 모르겠다^^;;)

기존의 중앙통제시스템을 벗어나(=탈중앙화) 분산시스템으로 운영하고자 할 때, 이 분산시스템이 가진 본질적인 취약점을 보완 및 개선하기 위해 그 시스템 구현 방식으로 채택한 것이 바로 블록체인이다.
 
'블록체인' 이란 용어가 하도 여기저기 쓰이다 보니 다양한 의미로 쓰이곤 하는데, 대충 데이터구조라고 보면 이해가 쉽다.
블록Block + 체인Chain 의 합성어로서, 각 블록이 체인처럼 연결되어 있음을 뜻하는 단어인데
위의 예시에서 블록은 '구슬치기 게임의 결과' 라고 생각하면 된다.
 

<김아무개의 노트>

100008회차 게임 - 승리: 갑 - 패배: 을 - 교환 구슬 개수: 5개 - ------------------- 100009회차 게임 - 승리: 병 - 패배: 정 - 교환 구슬 개수: 8개
 
각 참가자의 노트에 공통적으로 이렇게 적혀있다고 했을 때, 각 게임의 결과가 블록이다.
그리고 이 결과들이 정렬되어 연결되어 있으므로 체인으로 연결되어 있다고 하여 블록체인이라고 부른다.
즉, 각 게임의 결과의 신뢰성을 유지, 강화하며 대회를 운영하기 위한 게임 결과 관리 데이터 구조를 '블록체인'이라고 칭하며,
경우에 따라서 이 대회 자체를 '블록체인'이라고 부르기도 한다(블록체인으로 구현된 분산시스템).
 

정리해보자.

참가자 간 구슬치기 게임을 통해 구슬을 교환하는 체육대회가 있다. 구슬은 대회 안에서 화폐로서 기능한다.
대회는 운영비 절감을 위해 중앙통제방식을 포기했다. (사실 '포기'가 아니라 분산시스템을 '선택'했다고 보는 것이 맞지만)
그로 인해 발생하는 다양한 문제점들(불법적 구슬 거래, 비허가 사설 구슬의 유입 등)을 방지하기 위해
대회는 참가자 개인이 대회에서 벌어지는 모든 게임 결과를 스스로 감시하도록 했다.
참가자들은 자신이 가진 구슬의 가치가 훼손되는 것을 원하지 않으므로 기꺼이 대회의 감시 요청에 응했다.
각 참가자 사이에 벌어지는 모든 구슬치기 게임 결과는 모든 대회 참가자들에게 공지되며 이 결과는 각 참가자들의 장부에 기록된다.
보다 많은 사람들이 목격하고 보다 많은 사람의 장부에 적혀 있을 수록 해당 게임 결과는 믿을 만한 정보가 된다.
공식 공지 절차를 밟지 않거나 부당한 방식으로 공지된 게임 결과는 자동으로 신뢰성을 잃는다.
이 방식을 통해 대회는 각 참가자들 스스로 대회 참가자이자 감시자가 될 수 있도록 하여 대회가 원활히 진행되도록 한다.
 
이러한 운영 방식을 '분산P2P시스템'이라고 하며, 이 시스템의 무결성을 확보하고 유지하기 위하여 채택한 구현 방식을 '블록체인'이라고 한다. 블록체인은 데이터구조를 의미하는 동시에 알고리즘을 의미하기도 하고, 순수분산P2P시스템을 포괄하여 의미하기도 한다.
 
그러나 여전히 해결해야 할 문제점들은 존재한다.
목격자가 많을 수록 정보의 신뢰도가 높아지므로 대회는 보다 많은 참가자를 확보하여야 한다.
다수의 참가자들이 부도덕한 목적을 갖고 결집하여 장부를 조작하도록 해선 안된다.
전광판에 올라오는 게임 결과가 잘못된 정보이거나 부당한 경로로 제출된 정보여선 안된다.
전광판에 제출되는 게임 결과의 순서가 뒤섞이면 안된다.
익명의 누군가가 참가자들의 노트에 적힌 게임 결과를 함부로 수정, 변조하도록 해선 안된다.
참가자들이 적극적으로 감시에 나서도록 충분한 동기부여를 제공해야 한다.
등등...
 
블록체인 기술은 이러한 취약점들을 개선하기 위해 계속해서 발전해오고 있다.
이와 관련하여 디지털 서명, 암호화 기술, 해싱, 보상, 암호화폐 등 블록체인 관련 개념, 기술 등이 존재한다.
앞으로 진행될 포스트에서는 블록체인의 실제 구조, 기술적 과제, 작동 원리와 기능요소 등을 통해 블록체인에 대해 개략적으로 알아보고, 실제로 오늘날 블록체인이 응용되고 있는 분야와 블록체인이 가진 장단점, 기술적 한계와 극복 방안, 미래 전망에 대해 정리해보도록 하겠다.
 
 
~ 피드백 환영 ~