[INBEX BLOCKBUSTERS][중앙대 C-Link : 박민서] 블록체인의 데이터 구조 (Data Structure in Blockchain)
2018년 블록체인 씬은 ‘버라이어티’했다. 많은 프로젝트들이 기획, 개발되며 다양한 시도들이 일어났다. 하지만 폰지 사기, 프로젝트 중단, 가짜 코인 성행 등 부정적인 일들도 많았다. 그래서 최고의 이슈를 고르라고 한다면, 특정 사건보다는 ‘블록체인’ 키워드 자체가 전 국민에게 알려진 점을 꼽고 싶다. ‘블록체인’ 이라는 키워드는 이제 대중에게 친숙해졌다. 그러나 아쉽게도 그 개념은 아직 친숙하지 않다. 그래서 블록체인에 대한 이해를 높일 수 있는 정보를 살펴보고 그 정보에서 나타나는 구조적 특징, 블록체인이 관심을 받는 이유, 그것이 불러올 변화상을 4주에 걸쳐 살펴본다.
블록체인 & 블록의 기본 구조
블록체인이란 단어 그대로, 블록들이 체인으로 연결된 것을 의미한다. 더 정확한 정의를 내리자면 ‘탈중앙화된 네트워크에서 작동하는 분산원장기술’이라고 할 수 있다.
그림 1. 블록체인의 구조 <출처 : 중앙대학교 블록체인 학회>
각 블록은 이전 블록에 대한 정보를 갖고 있어 체인으로 존재한다. 블록은 채굴자에 의해서 생성되고 블록 안에는 블록에 대한 데이터들(헤더)과 사용자들의 거래 내역(바디)을 포함한 다양한 정보들이 담겨 있다.
그림 2. 블록의 정보 변화에 따른 해시값 변화
위 그림에서 중요한 부분은 블록 헤더 해시와 머클 해시이다. 각각은 블록 헤더에 있는 값들, 바디에 있는 거래내역들을 재료로 만들어진 값이다. 이들을 토대로 만들어졌기 때문에, 이 중 하나라도 변화가 일어난다면 해시값이 변하게 된다.
이 부분이 블록체인의 변경 불가능성의 근거가 되는 곳이다.
그림 3. 해시값 변화에 따른 결과 <출처 : 중앙대학교 블록체인 학회>
한 부분의 값이 달라지면 해시값이 변하게 되고, 다음 블록의 이전 블록 헤더 해시와 불일치하게 되어 결국 체인이 유효하지 않게 된다. 물론 체인을 따로 만들어 나가는 방법도 있다. 하지만, (비트코인 기준) 가장 긴 체인만 유효한 체인으로 인정받는다. 특정 블록의 정보를 변형시킨 상황이면 그 뒤의 모든 블록을 다 바꿔서 더 긴 체인을 만들어야 하기에 쉽지 않을 것이다.
그러면 어떻게 하면 바뀔까? 나의 혹은 나와 뜻을 같이하는 집단의 연산력이 네트워크 내 다른 자들의 연산력보다 커야 한다. 이것이 51% 공격이다. 특정 집단이 네트워크 내 전체 연산력의 절반 이상을 보유하고 있다면 정보가 변할 수 있다. 이에 대해선 다음 글에서 더 자세하게 설명하겠다.
채굴은 어떻게 되는 것인가?
과연 채굴(mining)과 관련 있는 부분은 어디일까? 비트코인 기준으로 논스값이다. 논스값에 지속적으로 다른 값을 대입하면 해시값이 변할 것이다. 그 해시값이 특정 목표치보다 낮은 값이 나오게 하는 것이 채굴의 조건이고 그 조건을 만족하면 채굴이 되는 것이다. 채굴을 하면 블록이 생성되고 채굴자는 보상을 받게 된다.
채굴은 앞서 말했듯, 블록을 생성하는 행위이다. 블록을 생성하는 것과 채굴자가 보상을 얻는 것은 모두 중요하지만 그에 못지않게 채굴된 블록에 담겨있는 거래들이 유효한 것으로 인정받는 것도 중요하다. 즉, 채굴이라는 행위는 채굴자에게는 채굴 성공 후 주어지는 보상을, 사용자에게는 나의 거래에 유효성을, 시스템 전체에는 유지 및 발전을 할 수 있는 원동력을 제공한다.
그림 4. 채굴 과정 <출처 : 중앙대학교 블록체인 학회>
일반인과 투자자들은 블록체인에 대해서 큰 이해도를 가질 필요도 강제성도 없다. 그럼에도 이들이 블록체인에 대해서 더 많이 이해하는 것이 중요한 이유는 블록체인을, 암호화폐를 단지 투자의 관점에서 보는 것보다는 블록체인이 탄생한 배경과 그 구조적 특징을 이해하는 사람이 늘어나는 것이 블록체인 씬을 발전시키는 가장 효율적이고 유일한 길이기 때문이다.
‘암호화폐 투자 광풍’을 제외하고 블록체인이 이렇게 관심받고 핫한 기술로 인정받는 근본적인 이유는 첫째, 기존 시스템에 대한 문제의식과 대안으로 선택받았다는 점이고 둘째, ‘나’의 의사와 행동이 정확하게 반영되고 기록된다는 점이다. 작업증명 과정에서 내가 연산력을 제공하여 블록을 채굴할 수도 있고, 지분증명, 위임된 지분증명 등에서 지분 소유를 통해 영향력을 행사하는 등 여러 형태로 의사를 반영할 수 있다.
개인의 행동과 의사가 이전의 다른 시스템보다 큰 비중을 차지하고 반영되는 블록체인에서 결국 개개인의 시스템에 대한 이해도가 높다면 씬은 더 빠른 속도로 다채롭게 발전할 수 있을 것이다.