블록체인

블록체인이란 무엇인지, 블록에는 무엇이 담기는지, 네트워크가 어떻게 하나의 기록에 합의하는지, 과거 기록은 왜 바꾸기 어려운지 설명합니다.

3 분 · 535 단어업데이트: #기초#블록체인#기술

블록체인은 서로 독립적인 여러 참여자가 동시에 저장하고 검증하는 공유 데이터베이스를 운영하는 방식입니다. 기록은 블록 단위로 묶이고, 블록들은 차례로 이어져 사슬(체인)을 이룹니다. 이름도 여기서 나왔습니다. 핵심은 기록을 믿기 위해 중앙 관리자가 필요 없다는 점입니다. 모두가 같은 검증 규칙을 따르고, 그 규칙은 소프트웨어 안에 들어 있습니다.

쉬운 비유

장부 한 권이 있고, 모임의 모든 구성원이 각자 사본을 갖고 있다고 상상해 보세요. 누군가 새 항목을 추가하면 다른 사람들은 공통 규칙에 비춰 이를 확인하고 자기 장부에도 똑같이 적습니다. 누군가 자기 사본의 오래된 줄을 몰래 고치면 곧바로 드러납니다. 그 사람의 장부만 다른 모두의 장부와 일치하지 않기 때문입니다.

블록체인도 비슷하게 작동합니다. 장부 역할을 하는 것은 노드라고 부르는 컴퓨터들이고, 확인 작업은 손이 아니라 암호학과 수학으로 이뤄집니다.

블록 안에는 무엇이 있나

블록에는 일반적으로 다음이 담깁니다.

  • 트랜잭션 목록. 예를 들어 주소 간 코인 전송 내역입니다.
  • 타임스탬프. 블록이 대략 언제 만들어졌는지 보여 줍니다.
  • 이전 블록의 해시. 바로 앞 블록의 일종의 지문입니다.
  • 기술 데이터. 합의 메커니즘에 쓰이는 정보입니다.

해시는 어떤 입력이든 고정된 길이의 문자열로 바꾸는 특수한 수학 함수의 결과값입니다. 입력에서 글자 하나만 바꿔도 해시값은 완전히 달라집니다. 해시값을 미리 예측하는 것은 사실상 불가능합니다.

과거 기록을 바꾸기 어려운 이유

모든 블록이 바로 앞 블록의 해시를 저장하기 때문에 블록들은 서로 단단히 묶여 있습니다. 누군가 오래된 블록의 트랜잭션을 고치면 그 블록의 해시가 바뀝니다. 그러면 다음 블록이 가리키는 해시와 더는 맞지 않게 되고, 체인이 끊어집니다. 위조를 정상처럼 보이게 하려면 공격자는 그 뒤의 모든 블록을 다시 만들어야 하고, 그것도 나머지 네트워크가 새 블록을 추가하는 속도보다 빨라야 합니다.

대형 네트워크에서는 여기에 막대한 자원이 필요합니다. 그래서 체인 깊숙이 묻힌 기록은 사실상 영구적인 것으로 간주됩니다.

네트워크는 어떻게 합의에 이르나

수천 명의 독립적인 참여자가 결국 같은 기록에 도달해야 합니다. 이들이 합의하는 데 쓰는 규칙을 합의 메커니즘이라고 합니다. 가장 잘 알려진 두 가지는 다음과 같습니다.

  • 작업증명(Proof of Work). 채굴자라고 부르는 참여자들이 무거운 연산을 수행하고, 유효한 답을 가장 먼저 찾은 사람이 다음 블록을 추가합니다. 비트코인이 이 방식을 씁니다.
  • 지분증명(Proof of Stake). 자기 코인을 담보로 예치한 검증인이 블록을 제안하고 확정합니다. 부정행위를 하면 예치한 지분의 일부를 잃을 수 있습니다. 이더리움이 이 모델로 전환했습니다.

두 방식 모두 목표는 같습니다. 규칙을 지키는 것보다 속이는 쪽이 더 비싸게 만드는 것입니다.

퍼블릭 블록체인과 프라이빗 블록체인

  • 퍼블릭 블록체인은 비트코인이나 이더리움처럼 누구에게나 열려 있습니다. 노드를 운영하거나, 트랜잭션을 보내거나, 전체 기록을 열람할 수 있습니다.
  • 프라이빗 블록체인 또는 허가형 블록체인은 특정 조직이 승인한 참여자만 이용할 수 있습니다. 기록 관리에 추가적인 보장이 붙은 기존 데이터베이스에 더 가깝습니다.

사람들이 암호화폐를 이야기할 때는 보통 퍼블릭 블록체인을 가리킵니다.

블록체인 위에서 돌아가는 것들

첫 번째 활용 사례는 디지털 화폐였습니다. 이후 스마트 컨트랙트를 실행할 수 있는 네트워크가 등장했습니다. 스마트 컨트랙트는 미리 정해진 규칙에 따라 자동으로 실행되는 프로그램입니다. 탈중앙화 금융(DeFi), NFT, 스테이블코인을 비롯한 수많은 서비스가 스마트 컨트랙트를 기반으로 움직입니다.

한계

블록체인에도 감수해야 할 점이 있습니다.

  • 속도와 처리 용량. 퍼블릭 네트워크는 중앙화된 결제 시스템보다 처리하는 트랜잭션 수가 적습니다. 레이어 2(Layer 2) 솔루션은 업계가 이 문제를 풀기 위해 시도하는 방법 중 하나입니다.
  • 수수료. 네트워크가 붐비면 트랜잭션 비용이 눈에 띄게 오를 수 있습니다.
  • 되돌릴 수 없음. 실수로 보낸 트랜잭션은 보통 취소할 수 없습니다.
  • 투명성. 모든 것이 모두에게 공개되므로 프라이버시 측면에서는 늘 좋은 것만은 아닙니다.
  • 쓰레기가 들어가면 쓰레기가 나온다. 블록체인이 보장하는 것은 기록이 변경되지 않았다는 사실이지, 원래 정보가 사실이라는 점이 아닙니다.

핵심 정리

  • 블록체인은 여러 독립적인 참여자가 유지하고 검증하는 공유 데이터베이스입니다.
  • 블록은 해시로 연결되어 있어 과거 기록을 바꾸기가 매우 어렵습니다.
  • 네트워크는 작업증명이나 지분증명 같은 합의 메커니즘으로 하나의 기록에 합의합니다.
  • 블록체인은 암호화폐뿐 아니라 스마트 컨트랙트와 그 위에 구축된 애플리케이션도 뒷받침합니다.