#wannabeeeeeee the best DataScientist
3. Bitcoin Protocol 본문
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)
- 제안 → 2. 투표 → 3. 다수의 동의
- 예: 블록 크기를 1MB → 8MB로 바꾸자는 논쟁
- 변화는 가능하지만, 절대 쉬운 일이 아님
✅ 정리: 비트코인의 4대 핵심 구조
구성 요소 | 설명 |
분산 저장 | 누구도 데이터의 소유자가 아님 |
분산 인증 | 신뢰 대신 암호학으로 증명 |
분산 검증 | 모두가 데이터를 검증 가능 |
분산 합의 | 다수의 합의 없이는 거래 불 |
728x90
'Master's degree > 블록체인' 카테고리의 다른 글
2. Why Bitcoin? (1) | 2025.03.30 |
---|---|
1. 블록체인 응용 서비스 (0) | 2025.03.30 |