Skip to content

기초

블록체인이란 무엇인가요? 쉬운 설명

업데이트:

이 페이지의 내용

블록체인(blockchain)은 많은 컴퓨터가 동기화해서 유지하는, 주인이 따로 없는 공유 장부입니다. 이 글에서는 쉬운 말과 실제 사례로, 블록체인이 어떻게 만들어지는지, 기록을 바꾸기가 왜 매우 어려운지, 스마트 컨트랙트가 무엇인지 설명합니다.

읽으면서 개념이 실제로 작동하는 모습을 볼 수 있습니다. 실시간 이더리움 페이지나 실시간 비트코인 페이지를 열면 새 블록이 하나씩 나타나는 것을 볼 수 있습니다.

기본 개념: 많은 사람이 유지하는 장부

네트워크에서 이루어진 모든 결제를 적어 놓은 공책을 상상해 보세요. 이제 수천 명이 각자 똑같은 사본을 가지고 있고, 대부분이 동의해야만 새 페이지가 추가된다고 생각해 보세요. 이것이 블록체인의 핵심입니다.

기록은 공개되어 있습니다. 누구나 읽고 확인할 수 있습니다. 장부를 지키기 위해 은행이나 회사를 신뢰할 필요가 없습니다. 그 일을 네트워크의 규칙과 많은 참여자가 가진 사본이 해 주기 때문입니다.

블록: 거래가 담긴 페이지

**거래(transaction)**는 "앨리스가 밥에게 20 USDC를 보낸다" 같은 하나의 지시입니다. 거래들은 **블록(block)**이라는 묶음으로 모입니다. 블록은 장부의 한 페이지와 같습니다.

각 블록에는 체인에서의 위치인 **블록 높이(block height)**가 있습니다. 첫 번째 블록의 높이는 0이고, 다음은 1이며, 이런 식으로 이어집니다. 블록은 네트워크에 따라 정해진 일정한 리듬으로 만들어집니다.

  • 비트코인은 약 10분마다 블록을 만듭니다.
  • 이더리움은 12초마다 블록을 만듭니다.
  • 솔라나는 약 400밀리초마다 새 슬롯을 만듭니다.

ChainMonitor에서는 각 블록이 얼마나 찼는지와 얼마의 수수료가 지불되었는지를 알려 주는 타일로 표시됩니다. 타일을 클릭하면 안에 있는 거래를 볼 수 있습니다. 거래 읽는 법 가이드에서 그곳에서 무엇을 보게 되는지 설명합니다.

연결된 해시: 체인이 체인인 이유

**해시(hash)**는 어떤 데이터의 짧은 지문입니다. 해시 함수는 어떤 입력이든 고정된 길이의 문자열로 바꿉니다. 같은 입력은 항상 같은 해시를 줍니다. 입력의 글자 하나만 바꿔도 해시는 완전히 달라 보입니다. 해시에서 거꾸로 데이터를 알아낼 수는 없습니다.

모든 블록에는 바로 앞 블록의 해시가 들어 있습니다. 이 연결이 바로 체인을 만듭니다.

  1. 블록 100에는 자신의 거래와 블록 99의 해시가 들어 있습니다.
  2. 블록 101에는 자신의 거래와 블록 100의 해시가 들어 있습니다.
  3. 블록 102에는 블록 101의 해시가 들어 있고, 이런 식으로 이어집니다.

누군가 블록 100의 거래 하나를 바꾸면 블록 100의 해시가 바뀝니다. 그러면 블록 101은 더 이상 일치하지 않는 해시를 가리키게 됩니다. 불일치는 즉시 드러나고, 그 뒤의 모든 블록도 깨집니다.

노드: 사본을 유지하는 사람들

**노드(node)**는 네트워크 소프트웨어를 실행하고, 블록체인을 저장하며, 규칙을 검증하는 컴퓨터입니다. 새 블록이 도착하면 각 노드가 독립적으로 검증합니다. 존재하지 않는 코인을 쓰는 것처럼 블록이 규칙을 어기면 정직한 노드들이 이를 거부합니다.

일부 노드는 블록을 만드는 데도 참여합니다. 나머지는 읽고 검증만 합니다. 지갑을 쓸 때는 보통 "내 잔액은 얼마인가?" 같은 질문에 답해 주는 웹 주소인 RPC 엔드포인트를 통해 노드와 통신합니다. 공개 엔드포인트는 RPC 상태 페이지에서 비교할 수 있습니다.

합의: 모두가 동의하는 방법

사본이 수천 개이므로 네트워크는 다음 블록이 무엇인지 합의할 방법이 필요합니다. 이 합의 과정을 **합의(consensus)**라고 합니다. 크게 두 종류가 있습니다.

작업증명

**작업증명(proof of work, PoW)**에서는 채굴자라는 참여자들이 어려운 퍼즐을 풀기 위해 경쟁합니다. 퍼즐은 엄청나게 많은 추측을 시도해야만 풀 수 있고, 이는 전기와 컴퓨터 시간이 듭니다. 이긴 사람이 다음 블록을 추가하고 보상을 받습니다. 비트코인이 작업증명을 사용합니다.

부정행위에는 큰 비용이 듭니다. 기록을 다시 쓰려면 공격자는 오래된 블록과 그 뒤의 모든 블록에 대한 작업을 다시 해야 하고, 그것도 나머지 네트워크 전체를 합친 것보다 빨리 해야 합니다.

지분증명

**지분증명(proof of stake, PoS)**에서는 검증자라는 참여자들이 스테이크라는 예치금으로 코인을 잠급니다. 네트워크는 검증자를 골라 블록을 제안하고 승인하게 합니다. 규칙을 따르는 검증자는 보상을 받습니다. 규칙을 어기는 검증자는 스테이크 일부를 잃을 수 있습니다. 이더리움과 솔라나가 지분증명을 사용합니다.

여기서도 부정행위에는 비용이 들지만, 그 비용은 전기가 아니라 예치금입니다.

아무도 조용히 기록을 고칠 수 없는 이유

세 가지가 함께 작동합니다.

  • 해시 연결. 오래된 블록을 바꾸면 그 뒤의 모든 블록이 깨집니다.
  • 많은 사본. 편집하려면 사본 하나가 아니라 대다수의 사본을 바꿔야 합니다.
  • 비용. 작업증명에서는 공격자에게 엄청난 연산 능력이 필요합니다. 지분증명에서는 파괴될 수 있는 막대한 스테이크가 필요합니다.

이것이 시스템이 마법이라는 뜻은 아닙니다. 그 위에 블록이 더 많이 쌓일수록 기록을 바꾸기가 더 어려워진다는 뜻입니다. 거래소와 앱이 결제를 최종으로 여기기 전에 여러 번의 컨펌을 기다리는 이유입니다. 자세한 내용은 최종성과 컨펌을 참고하세요.

잔액을 관리하는 두 가지 방법: 계정과 UTXO

네트워크는 "누가 무엇을 가지고 있는가"를 두 가지 방식 중 하나로 추적합니다.

계정 모델. 이더리움, 아비트럼, 베이스, 옵티미즘, 폴리곤, 솔라나는 은행 장부처럼 작동합니다. 각 주소에 잔액이 있고, 거래는 한 잔액에서 빼서 다른 잔액에 더합니다.

UTXO 모델. 비트코인은 현금에 더 가깝게 작동합니다. UTXO(미사용 거래 출력)는 한 번만 쓸 수 있는 코인 같은 조각입니다. 결제는 하나 이상의 UTXO를 입력으로 쓰고 새 UTXO를 출력으로 만들며, 보통 보낸 사람에게 돌아오는 "잔돈"이 포함됩니다. 내 비트코인 잔액은 내가 쓸 수 있는 UTXO의 합입니다.

어느 모델이 모든 면에서 더 낫지는 않습니다. 서로 다른 장단점을 가진 다른 설계입니다.

스마트 컨트랙트란?

**스마트 컨트랙트(smart contract)**는 블록체인에 저장된 작은 프로그램입니다. 누군가 거래를 보내면 작성된 그대로 실행됩니다. 토큰을 보관하고, 규칙을 따르고, 결과를 다른 컨트랙트에 보낼 수 있습니다. 코드 자체가 업그레이드를 허용하지 않는 한 배포된 컨트랙트의 코드를 누구도 바꿀 수 없습니다.

예를 들면 한 토큰을 다른 토큰으로 바꿔 주는 컨트랙트, 담보를 받고 돈을 빌려 주는 컨트랙트, USDC 토큰을 정의하는 컨트랙트가 있습니다. 이더리움과 그 위에 만들어진 체인들은 EVM(이더리움 가상 머신)으로 컨트랙트를 실행합니다. 솔라나는 프로그램이 다른 설계로 실행되는 자체 컨트랙트 시스템을 가지고 있습니다. 비트코인은 단순한 스크립트만 지원합니다.

컨트랙트를 실행하려면 **가스(gas)**라는 수수료가 듭니다. 계산 방법은 가스와 수수료를 참고하세요.

스마트 컨트랙트는 코드만큼만 좋습니다. 컨트랙트의 버그로 자금을 잃을 수 있고, 거래는 최종 확정되면 취소할 수 없습니다.

다음에 읽을 글

네트워크들이 서로 어떤 관계인지 보려면 레이어 1, 레이어 2, 레이어 3 이해하기를 읽어 보세요. 자신의 자금을 직접 보관하는 방법은 지갑과 키를 읽어 보세요. 짧은 정의는 용어집을 이용하세요.

자주 묻는 질문

블록체인은 비트코인과 같은 것인가요?

아니요. 비트코인은 하나의 블록체인이며 널리 쓰이게 된 최초의 블록체인입니다. 블록체인은 그 기반이 되는 기술입니다. 이더리움, 솔라나 등은 자체 규칙을 가진 별개의 블록체인입니다.

블록체인을 해킹하거나 바꿀 수 있나요?

대형 네트워크의 오래된 블록을 다시 쓰는 데는 극도로 큰 비용이 들며, 가장 큰 네트워크들에서는 일어난 적이 없습니다. 대부분의 손실은 다른 곳에서 발생합니다. 키 도난, 사기, 그 위에 만들어진 스마트 컨트랙트와 앱의 버그입니다.

블록체인은 누가 통제하나요?

공개 블록체인은 단일한 소유자가 통제하지 않습니다. 규칙은 노드가 실행하는 소프트웨어가 정하며, 변경에는 개발자, 검증자나 채굴자, 사용자 사이의 폭넓은 합의가 필요합니다. 이는 일부러 회사의 결정보다 더디게 되어 있습니다.

블록과 거래는 무엇이 다른가요?

거래는 결제 같은 하나의 행위입니다. 블록은 함께 체인에 추가되는 많은 거래의 묶음입니다.

블록체인 거래에는 왜 수수료가 드나요?

수수료는 네트워크를 운영하는 사람들에게 지급되고 스팸을 막습니다. 블록의 공간은 한정되어 있으므로, 네트워크가 붐빌 때 누구의 거래가 먼저 들어갈지도 수수료가 결정합니다.