$ find memo | grep forgotten

블록체인이란?

암호화폐의 핵심 기술로 많이 알려진 블록체인이란 무엇일까? 우선 블록체인 기술의 몇 가지 특징은 아래와 같다.

  1. 누구나 데이터를 추가할 수 있다.
  2. 데이터는 한 번 추가되면, 수정 또는 삭제가 불가능하다.
  3. 특정 개인이나 단체가 데이터를 관리하는 것이 아닌 네트워크의 모든 참여자가 함께 관리한다.

그렇다면 블록(Block)과 체인(Chain)은 각각 무엇을 의미하는 것일까?

블록(Block)

블록은 블록체인 네트워크에서 데이터를 저장하는 공간이다. 자산에 대한 정보를 담거나, 개인정보를 담는 등 다양한 정보를 담을 수 있다.
암호화폐에서는 일반적으로 블록에 거래 기록을 저장하며, 이를 트랜잭션(Transaction) 이라고 한다.
블록은 트랜잭션들을 담은 거래 기록의 집합이라고 볼 수 있다.

체인(Chain)

한 블록에 세상 모든 트랜잭션 정보를 담을 수 없으므로 하나의 블록에는 일정한 갯수의 트랜잭션만 넣는다.
그리고 다음 블록에는 이전 블록을 가리키는 주소값을 넣어 직전 블록을 지칭하고, 다시 트랜잭션 정보를 기록하며 이를 반복한다.
이렇게 각각의 블록에 직전 블록의 정보가 연결되어 있는 구조가 마치 체인 같다고 하여 블록체인이라고 불리는 것이다.

블록의 생성, 채굴

블록체인 네트워크에서 트랜잭션이 발생한 경우, 해당 트랜잭션은 네트워크 내 모든 노드들에게 공유되어 유효성 검사를 받게 된다.
(실제 송금자가 만든 트랜잭션이 맞는지, 악의적인 목적이 있지는 않은지, 트랜잭션 생성 이후 수정되지 않았는지 등)
유효성 검사 이후 트랜잭션이 블록에 담기고 해당 블록이 체인에 추가되면 트랜잭션에 대한 처리가 완료된다.
여기서 트랜잭션을 모아 하나의 블록으로 만드는 과정을 채굴(Mining) 이라고 한다.
채굴은 트랜잭션을 처리하는 작업이므로 송금 처리 작업이라고도 볼 수 있으며 이는 암호화폐 서비스에서 핵심 역할을 한다.
그렇기에 채굴 노드에게는 보상(코인)이 주어지고, 보상을 얻기 위해 채굴은 경쟁적으로 이루어진다.

분산원장과 블록체인

거래 내역의 집합을 원장이라고 하며 블록체인은 원장을 저장하는 유형 중 하나이다.
정확하게는 분산 원장(Distributed Ledger) 시스템의 한 종류라고 볼 수 있다. 이는 데이터를 여러 위치에 두고, 여러 사용자들이 나눠 가지고 있고, 당사자들의 합의를 통해 분산된 데이터들이 일관된 내용을 가진다는 특성이 있다.

그렇지만 분산 원장과 블록체인이 동일한 개념은 아니며 아래와 같은 차이점을 가진다.

  1. 블록구조: 블록체인은 일반적으로 블록 형태로 데이터가 저장되지만 모든 분산 원장이 블록 형태로 데이터를 저장하는 것은 아니다.
  2. 순서: 블록체인은 모든 블록이 직전 블록을 가리킴으로써 순서대로 배열되어 있다. 그러나 모든 분산원장이 데이터를 순서대로 저장하는 것은 아니다.
  3. 블록 생성 매커니즘: 블록체인에서는 보상을 받기 위해서 채굴이라는 행위로 블록을 생성하며, 이는 자원을 소모하게 하는 경쟁적인 방식이다. 그러나 일반적인 분산 원장은 경쟁적이지 않은 매커니즘을 사용하기도 한다.
  4. 코인: 일반적인 분산 원장과는 달리 블록체인에서는 자원을 소모한 노드에게 코인을 보상으로 주며, 이는 화폐의 역할을 한다.