#wannabeeeeeee the best DataScientist

3. Bitcoin Protocol 본문

Master's degree/블록체인

3. Bitcoin Protocol

맨사설 2025. 4. 4. 20:29
728x90

비트코인을 검증하기 위해서는 "프로토콜"을 공부해야 합니다.

프로토콜(protocol)은 컴퓨터나 기기 간에 데이터를 주고받는 방식을 정의하는 규칙 체계

(1) 기존 금융 시스템의 문제점

  • 달러 시스템은 중앙정부, 조폐국, 은행 등 복잡한 구조와 높은 비용(연간 약 34조 원)으로 운영됨
  • 위조, 부정 사용을 막기 위해 강력한 법적 제재 필요
  • 디지털 전환이 되었지만 여전히 중앙 집중형 구조

📌 달러 시스템의 운영 비용

  • 연방준비제도 : 화폐의 발행과 통화 정책을 담당
  • 조폐국 : 화폐 제작을 담당
  • 재무부 : 재정을 관리하고 국채를 발행
  • 입법부 : 화폐 시스템의 입법을 담당
  • 시중은행 : 화폐 유동화와 지불 결제
  • 국제은행 : 국가의 화폐 간의 청산을 담당

👉 연간 약 34조원의 운영 비용이 발생, 달러 시스템을 운영하기 위한 힘 필요

(2) 비트코인은 어떻게 다른가?

항목 기존 시스템(달러) 비트코인
발행 주체 중앙정부, 중앙은행 없음 (코드로 운영)
거래 승인 은행 등 중개기관 P2P 네트워크 (탈중앙)
위조 방지 법, 보안 인프라 암호화 + 블록체인
신뢰 기반 제3자 신뢰 수학적 검증

(3) 비트코인이 안전한 이유

✅ 분산 장부 & P2P 네트워크

  • 거래 정보는 약 20,000개 이상의 노드에 동시에 기록
  • 누군가 거래를 조작하려면 모든 노드에 접근해야 함 (현실적 불가능)

✅ 디지털 서명 & 개인키

  • 거래는 개인키로 서명, 공개키로 검증
  • 나만의 개인키 = 은행 없이도 내 소유 증명

🔑 참고: 가능한 비트코인 개인키 조합은 약 2^256개 → 은하계의 원자 수보다 많음

✅ 무결성 보장 - 해시와 머클루트

  • 블록의 연결고리인 해시머클루트는 모든 거래 기록의 정합성을 보장
  • 하나의 거래만 조작해도 전체 블록체인을 바꿔야

비트코인의 거래는 블록체인이라는 이름처럼, ‘블록’ 단위로 묶여서 체인처럼 연결되어 저장됩니다.
각 블록(Block)은 아래와 같은 정보들로 구성되어 있으며, 이들이 비트코인의 무결성과 보안의 핵심이 됩니다.


🔑 블록의 핵심 구성 요소

1. 이전 블록의 해시 (Previous Block Hash)

  • 이전 블록의 고유값을 담고 있음 (SHA-256 해시)
  • 현재 블록이 어느 블록 뒤에 이어지는지를 명확히 해줌
  • 블록을 연결하는 체인의 역할을 함

📌 이 값을 바꾸면 이후 모든 블록의 해시값도 바뀌므로, 기록 위조가 매우 어려움

 

2. 머클루트 (Merkle Root)

  • 블록 안의 모든 트랜잭션들을 요약해서 만든 하나의 해시값
  • ‘머클 트리’라는 구조로 만들어짐 (쌍으로 해시 → 다시 쌍으로 해시 → 최종 하나의 해시)

📌 블록 내 거래 하나라도 바뀌면 머클루트도 바뀌므로, 데이터 무결성 검증에 필수적

 

3. 타임스탬프 (Timestamp)

  • 해당 블록이 언제 생성되었는지를 기록
  • 블록 간 시간 간격, 블록 생성 속도 조절 등에 활용됨
  • PoW 난이도 조정에도 참고됨

4. 난이도 목표 (Difficulty Target)

  • 블록을 생성할 때 필요한 정답(해시)의 조건
  • 예: "해시값이 0000으로 시작해야 한다" 같은 조건

📌 블록 생성이 너무 빠르거나 느려지지 않도록, 2016블록마다 난이도가 자동 조정됨

 

5. 논스 (Nonce)

  • 정답을 찾기 위해 계속 바꿔보는 숫자값
  • 이 값을 조합하여 정답 조건을 만족하는 해시를 찾는 것이 채굴자의 역할

📌 수천만 번의 시도 끝에 '정답 해시값'을 찾아야만 블록이 유효하게 채굴됨

 

6. 트랜잭션 리스트

  • 블록 안에 담긴 실제 비트코인 거래 데이터
  • 보통 수백 개의 트랜잭션이 포함됨
  • 첫 번째 트랜잭션은 ‘코인베이스 트랜잭션’으로, 채굴자에게 보상을 지급함

🧠 블록은 이런 구조를 가진다

+---------------------------+
| Previous Block Hash      | ← 체인을 연결
+---------------------------+
| Merkle Root              | ← 거래 데이터 요약
+---------------------------+
| Timestamp                | ← 생성 시간
+---------------------------+
| Difficulty Target        | ← 정답 조건
+---------------------------+
| Nonce                    | ← 정답을 찾기 위한 값
+---------------------------+
| Transactions (List)      | ← 실제 비트코인 거래들
+---------------------------+

 

✍️ 정리

구성 요소 역할
이전 블록 해시 블록 간 연결 유지
머클루트 트랜잭션 무결성 검증
타임스탬프 시간 기록 및 난이도 조정 기준
난이도 타겟 채굴 난이도 조절 지표
논스 정답 찾기 위한 반복 시도값
트랜잭션 리스트 실제 송금·거래 데이터 포함

🪙 비트코인 vs 이더리움, 무엇이 다를까?

a. 목적의 차이

항목 비트코인(Bitcoin) 이더리움(Ethereum)
핵심 목적 디지털 화폐 분산 애플리케이션 플랫폼
주요 기능 가치 저장, 송금 스마트 계약, 디앱 실행
창시자 사토시 나카모토 비탈릭 부테린

b. 트랜잭션 처리 방식

🟧 비트코인: UTXO 모델

  • Unspent Transaction Output 구조
  • 잔액 개념이 아닌, 동전을 사용하고 거스름돈 받는 방식
  • 병렬 거래에 강함, 하지만 잔고 추적은 다소 복잡

🟦 이더리움: Account 모델

  • 은행 계좌처럼 계좌 잔고를 직접 조절
  • 트랜잭션이 직관적이고 간단함
  • 하지만 동시에 여러 거래 처리에 제약이 있음

c. 스마트 계약 지원

항목 비트코인 이더리움
스마트 계약 제한적 지원 (Script 언어) 완전한 지원 (Solidity 등)
유즈케이스 주로 송금 게임, NFT, 디파이 등 다양
  • 비트코인의 스크립트는 보안상 매우 제한적
  • 이더리움은 스마트 계약을 중심으로 설계됨

d. 확장성과 발전 방향

  • 비트코인
    • 기본적으로 보수적 업데이트
    • Layer 2 (ex. 라이트닝 네트워크)를 통한 확장 지향
    • "가장 안전한 가치 저장 수단"이라는 정체성을 지킴
  • 이더리움
    • 지속적인 변화와 업그레이드 (예: Merge, Sharding)
    • PoW → PoS 전환 완료 (환경 부담 줄임)
    • 다양한 앱과 서비스가 활발히 실행 중

(4) 작업증명(Proof of Work)과 채굴

  • 블록을 만들기 위해선 정답을 찾는 계산(PoW) 필요
  • 수천 수만 번 해시를 계산해야 하므로 자원이 많이 소모됨
  • 보상으로 비트코인 지급 (처음 50BTC → 현재 3.125BTC / 4년마다 반감)

🤯 “이중지불을 위해 공격하는 것보다, 채굴하는 것이 더 이익이다.”

 

(5) 합의와 네트워크의 힘

이중지불(Double Spend)? 걱정 없음!

  • 네트워크는 항상 가장 긴 체인을 ‘진짜’로 간주
  • 소수의 공격자가 거래를 바꿔치기 하려면 51% 이상의 연산력 필요
  • 현실적으로 엄청난 비용이 들기 때문에 경제적 유인이 공격을 막음

(6) 비트코인의 약속(프로토콜)은 어떻게 바뀌나?

BIP (Bitcoin Improvement Proposal)

  1. 제안 → 2. 투표 → 3. 다수의 동의
  • 예: 블록 크기를 1MB → 8MB로 바꾸자는 논쟁
  • 변화는 가능하지만, 절대 쉬운 일이 아님

✅ 정리: 비트코인의 4대 핵심 구조

구성 요소 설명
분산 저장 누구도 데이터의 소유자가 아님
분산 인증 신뢰 대신 암호학으로 증명
분산 검증 모두가 데이터를 검증 가능
분산 합의 다수의 합의 없이는 거래 불

 

728x90

'Master's degree > 블록체인' 카테고리의 다른 글

2. Why Bitcoin?  (1) 2025.03.30
1. 블록체인 응용 서비스  (0) 2025.03.30