2일차: 블록체인 기초 | 중앙 집중식 DB에서 분산 상태 머신으로

발행: (2026년 1월 14일 오후 04:48 GMT+9)
9 min read
원문: Dev.to

Source: Dev.to

소개

백엔드 엔지니어로서 거의 10년의 경력을 가지고 있어 분산 시스템, 마이크로‑서비스, 그리고 ACID 트랜잭션에 익숙합니다. Web3에 첫 발을 디뎠을 때, 핵심 변화는 언어(Solidity vs. Go/Java)가 아니라 데이터 저장 및 신뢰의 근본적인 패러다임 변화라는 것을 깨달았습니다.

Web2 vs. Web3: 백엔드 관점

차원Web2Web3
데이터 일관성Raft/Paxos 또는 중앙 집중식 마스터‑슬레이브 동기화에 의존합의 메커니즘(PoW / PoS)에 의존
신뢰의 근원DBA 또는 클라우드 제공업체에 대한 신뢰수학, 알고리즘 및 오픈‑소스 코드에 대한 신뢰
쓰기 작업낮은 지연시간, 거의 무료높은 지연시간, 가스 수수료 필요(노드에 인센티브 제공)
투명성내부 가시성; 데이터 수정/롤백 가능전 세계적으로 투명; 데이터는 불변

내 이해: Web2 데이터베이스가 회사 내부의 사적인 엑셀 스프레드시트와 같다며, 블록체인은 번화한 광장에 놓인 거대한 원장과 같다—모두가 볼 수 있고, 영구적인 펜으로만 기록할 수 있다. 절대 지워질 수 없다.

Web2의 문제점

백엔드 개발자는 종종 타사 통합조정 문제를 다룬다. 두 시스템(예: 은행 A와 은행 B)이 상호 작용할 때, 각각 자체 데이터베이스를 유지하고 데이터 일관성을 보장하기 위해 번거로운 조정 프로세스를 실행한다.

Web3 솔루션

모두가 동일한 상태 머신에 직접 작동한다. 원장이 고유하고 투명하며 불변하기 때문에, 이제 비싼 “신뢰 비용”이나 “조정 비용”이 필요하지 않다.

핵심 과제 — 신뢰와 합의

Web2 시스템에서는 신뢰가 일반적으로 중앙집중식입니다. 데이터베이스의 데이터를 신뢰하는 이유는 이를 운영하는 회사, 숙련된 DBA, 그리고 방화벽을 신뢰하기 때문입니다.

Web3의 허가 없는 환경에서는 참여자들이 서로에게 익명입니다. 어떻게 합의를 이룰 수 있을까요?

분산 시스템에서의 합의

관점일반적인 알고리즘가정
Web2Raft, Paxos노드가 오프라인될 수는 있지만 악의적으로 행동한다는 가정은 하지 않습니다.
Web3PoW, PoS, BFT 변형비잔틴 장군 문제를 처리해야 합니다 – 노드가 손상되어 악의적으로 행동할 수 있습니다(예: 이중 지불 공격).

합의 메커니즘은 게임 이론 규칙의 집합으로, 다수의 참여자가 규칙을 따르는 한, 악의적인 행위자가 존재하더라도 원장은 안전하게 유지됩니다.

신뢰 모델

모델비유신뢰가 형성되는 방식
전통적 신뢰 (Proof of Authority)은행 서비스 – 공식 인장을 신뢰합니다.중개자(은행)가 거래의 진위를 보증합니다.
Web3 신뢰 – 작업 증명 (PoW)물리적 에너지 – 전체 컴퓨팅 파워의 > 51 %를 제어해야 합니다.공격 비용(전기, 하드웨어)이 잠재 이익을 크게 초과합니다.
Web3 신뢰 – 지분 증명 (PoS)경제적 이해관계 – 대량의 토큰을 스테이킹해야 합니다.부정 행위 시 슬래싱(스테이킹된 토큰 몰수)됩니다.

내 이해: 블록체인은 신뢰를 없애는 것이 아니라 “사람/기관”에서 “경제적 비용 및 수학적 알고리즘”으로 신뢰를 이동시킵니다.

51 % 공격

엔터티가 네트워크의 해시 파워(PoW) 또는 스테이크(PoS)의 절반 이상을 장악하면, 확인되지 않은 거래를 수정하고 롤백을 일으킬 수 있습니다. 비트코인이나 이더리움 같은 대규모 네트워크에서는 이러한 공격을 실행하는 비용이 수십억 달러에 달해 원장을 논리적으로 불변하게 만듭니다.

해결된 문제: 불확실성 및 마찰 (“멈춤 해소” 순간)

  1. 정산 지연 제거 – 전통적인 금융의 국경 간 이체는 수많은 중개인이 수동으로 “신뢰 조정”을 수행하기 때문에 3‑5 일이 걸립니다.
  2. 취소 불가능한 계약 – 합의가 이루어지면 거래는 영구 원장에 기록됩니다. CEO나 정부가 확인된 온‑체인 거래를 일방적으로 철회할 수 없습니다.

내가 혼란스러웠던 부분과 문제를 해결한 방법

나의 혼란

누가 이 모든 노드를 배포하나요? 모두 다운되면 어떡하죠?
백엔드 엔지니어로서 나는 서버가 중앙 집중식 DevOps 팀에 의해 관리되는 것에 익숙합니다. 수천 개의 노드가 있는 블록체인에서는 실제로 누가 노드를 배포하나요? 중앙 권한이 없으면 네트워크가 집단적으로 다운되는 것을 어떻게 방지할 수 있을까요?

문제를 해결한 방법

  1. 분산된 운영자 – 노드는 독립적인 개인이나 조직(채굴자 또는 검증인)에 의해 배포됩니다. 적절한 하드웨어와 소프트웨어만 갖추면 누구든지 네트워크에 참여할 수 있습니다.
  2. 인센티브 기반 유지보수 – 순수한 친절함 때문에 네트워크를 유지하는 사람은 없습니다; 토큰 보상을 위해서 합니다. 네트워크가 거래를 처리하고 보상을 지급하는 한, 참여자는 경제적 동기로 자신의 노드를 온라인 및 정상 상태로 유지합니다.

노드 인센티브

노드는 가스 수수료와 새로 발행된 토큰을 획득합니다.

“단일 장애 지점”보다 중복성

블록체인은 단일 노드가 실패하지 않을 것을 보장하는 것이 아니라 전체 네트워크의 높은 가용성을 보장합니다. 특정 AWS 리전이 장애를 겪어 Web2 서비스가 다운될 수 있지만, 블록체인은 전 세계 어디선가 몇 대의 노드만이라도 실행되고 있으면 살아 있습니다.

좋은 학습 자료

  • Cyfrin – 웹3에 관한 모든 지식을 갖춘 좋은 웹사이트이며, 초보자에게 적합합니다.
Back to Blog

관련 글

더 보기 »