[공부&정리] 블록체인 네트워크 개념
데이터 분야에서 일하는 사람이라면 몰라서는 안 되는 개념 '블록체인(Blockchain)'
블록체인은 가상화폐의 기본이 되는 개념이다.
블록체인에 대해서 정확하게 이해하면, 과연 가상화폐가 투자 자산으로 가치가 있는지를 스스로 고민해볼 수 있다.
내 스스로 판단해서 투자한 자산과 다른 사람의 말을 믿고 투자한 자산은 하늘과 땅 차이다.
그런 의미로 오늘은 블록체인 네트워크에 대해 알아보려 한다.
[ 블록체인 개념 ]
블록체인은 말 그대로 블록들이 체인처럼 얽혀있는 구조를 뜻한다.
각 블록들은 정보들을 가지고 있고, 그 블록들이 서로 이어져 체인을 이룬다.
가상화폐에 대입해보면 블록에는 거래 내역들이 들어있고, 블록 용량이 가득차면 기존의 블록체인에 블록을 추가하게 된다.
다시 정리하면 하나의 블록에 다수의 거래 내역이 있고, 블록 체인은 그러한 거래 내역들이 모여 모든 거래 내역을 저장하고 있는 장부라고 볼 수 있다.
이렇게 구성되는 블록체인은 중앙집권화된 하나의 서버에서 운영되지 않고, P2P(Peer-to-Peer) 네트워크로 운영된다.
위의 그림처럼 모든 거래내역을 저장하고 있는 장부를 여러 노드(Node) 에 분산/저장하는 데이터베이스 일환인 것이다.
블록이 하나씩 추가될 때마다 모든 노드에 동일한 정보를 분산하여 저장한다.
만일 각 노드들이 가지고 있는 정보들이 서로 다르다면, 가장 긴 체인을 채택하여 나머지 노드들에게 전달한다.
사실상 블록체인은 조작되기 어려운 구조이기 때문에 길이가 길면 길 수록 신뢰도가 높아지기 때문이다.
그렇다면 왜 체인의 길이가 길 수록 신뢰도가 높다고 평가되는 걸까?
[ 블록이 연결되는 과정 ]
각 블록은 해시(Hash) 라는 식별자를 가지고 있다.
블록은 거래내역과 함께 헤더 정보를 포함하고 있는데, 이 헤더를 해시한 값이라고 보면 된다.
현 블록 해시는 다음 블록에도 저장된다. 따라서 현 블록의 정보를 변경한다면 블록 해시값도 변하게 되고, 연쇄적으로 다음 블록들의 해시값에도 영향을 미친다.
아래 그림처럼 이전 블록과 다음 블록이 해시로 짜맞춰지는 것이다.
이렇게 블록을 기존의 블록체인에 추가하는 과정을 우리는 채굴(Mining) 이라고 한다.
블록이 가득 차 하나의 새로운 블록이 생성되면, 블록체인 네트워크에 참여하는 노드들은 자신이 먼저 새로운 블록을 기존 블록체인에 연결하려고 새로운 블록의 해시를 찾으려 한다.
전공 수업에서 해시 문제를 푸는 건 사실상 불가능하다고 배웠다.
A 라는 값이 해시 함수를 통하게 되면 B 로 바뀌게 되고, 우리는 B 를 A 로 바꾸지는 못한다고.
그만큼 어려운 문제라는 뜻이다.
하나의 해시 문제를 푸는 데 일반적으로 10분이라는 시간이 소요된다고 생각해보자.
그렇다면 블록체인에 저장된 하나의 거래내역을 조작하고자 한다면, 연쇄적으로 변화하는 블록들의 해시 문제를 모두 풀어야 완벽하게 조작이 가능해진다.
사실상 조작이 불가능하다는 이야기이고, 체인의 길이가 긴 노드는 그만큼 조작이 어렵기 때문에 신뢰도가 높다고 볼 수 있다.
그리고 이렇게 어려운 문제를 자발적으로 노드들이 참여하여 풀도록 장려하기 위해 채굴에 대한 보상(Reward) 이 주어지게 되는데,
그게 바로 해당 네트워크에서 발행하는 가상화폐이다. 비트코인이 대표적인 예이다.
* 이게 우리가 블록체인과 가상화폐를 분리해서 생각할 수 없는 이유
오늘은 간략하게 블록체인에 대한 개념을 알아보았고, 다음에는 블록체인과 가상화폐의 관계에 대해서 다뤄볼까 한다.
정말로 가상화폐가 투자자산으로서의 가치가 있는지 차근차근 함께 같이 공부해보자! :)