Topic 04. Blockchain

2025. 6. 6. 13:33·컴퓨터 보안

비트코인의 개요

  • 비트코인의 등장
    • 2008년 사토시 나카모토의 백서 공개
    • 2009년 소스코드 공개 (C++ 기반)
  • 특징
    • 중앙 기관 없이 P2P(피어 투 피어) 방식
    • 중앙서버 없음, 참가자들이 거래 기록을 공유하고 저장 (분산원장)
    • 실제로 '코인'은 존재하지 않음, 거래 내역만 존재
    • 동일 거래 내역을 블록체인(blockchain) 이라는 방식으로 다수의 노드에 분산 저장

중앙형 vs 분산형 원장

  • 중앙형 데이터베이스
    • 은행 등 중앙 기관이 통제, 기밀성과 무결성 보장
    • 해킹 위험이 중앙 집중됨
  • 분산 원장 (Distributed Ledger)
    • 모든 참여자가 거래 내역을 복사하고 저장
    • 하나가 해킹되어도 전체 시스템은 무너지지 않음
    • 무결성은 있지만 기밀성은 없음 (공개 거래)

비트코인의 주요 개념

  • 거래(Transaction)
  • 주소(Bitcoin address)
  • 지갑(Bitcoin wallet)
  • 블록(Block), 블록체인(Blockchain)
  • 채굴(Mining)과 보상
  • 작업증명(Proof of Work, PoW)

거래와 주소의 개념

  • 거래(Transaction) = 비트코인의 흐름
  • 주소(Bitcoin Address) = 익명 ID (실명 대신 사용), 공개키를 사용
  • 거래는 체인 형태로 연결됨
    • UTXO(미사용 잔액)를 기반으로 누가 얼마를 어디로 보냈는지 파악 가능

주소 개념 요약

  • 주소는 가명이며, 공개키로 생성됨
  • 송신자는 개인키로 서명 → 누구에게 얼마 보냈는지 증명

비트코인 지갑(wallet)

  • 개인키를 저장하는 장치 또는 프로그램
  • 종류: 소프트웨어 지갑, 하드웨어 지갑, 종이 지갑
  • 지갑 = 소유 증명 도구 + 거래 기록 추적 도구

블록(Block)

  • 여러 개의 트랜잭션을 모아 순서대로 기록
  • 블록에는 트랜잭션들의 모음이 포함됨
  • 블록이 연결되어 블록체인 형성

블록체인 구조와 원리

  • 블록은 이전 블록의 해시(hash) 값을 포함
  • 조작 방지 기능:
    • 변경 시 이후 블록의 해시도 바뀌므로 감지 가능
  • 많은 노드가 동일한 사본을 보유 → 조작이 어려움

비트코인 네트워크와 노드

  • 비트코인은 P2P 네트워크
  • 노드 종류:
    • Full Node: 전체 블록 저장
    • Lightweight Node: 전체 블록 미보유, 일부만 저장

거래 및 블록 생성

  • 거래를 만들고 주변 노드에 전파 (broadcast)
  • 각 노드는 받은 거래를 transaction pool에 저장
  • 이 거래들을 모아 블록으로 만들고 블록체인에 추가

거래 처리 및 블록 생성

🔸 블록 생성 과정

  1. 거래 발생 → 각 노드의 트랜잭션 풀에 대기
  2. 각 노드가 일부 트랜잭션을 선택하여 블록 생성 시도
  3. 여러 노드가 동시에 블록 생성 경쟁 → 누가 먼저 성공하느냐에 따라 체인에 연결됨
  4. 먼저 생성된 블록만 인정, 나머지 블록은 무효(취소됨)

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

🔸작업증명(채굴)의 개념

  • SHA-256 해시 함수를 사용하여 새 블록의 해시 값을 만듦
  • 이 해시 값이 목표 값 이하(difficulty target)일 때 유효
  • 이걸 맞추기 위해서 nonce 값을 계속 바꾸며 시도 (무작위 시도, brute force)
  • 성공하면 블록체인에 추가됨

🔸 예시

  • 해시 값의 앞부분에 0이 많이 나와야 함 (ex: 앞 20비트 이상이 0일 확률)

난이도(Difficulty)와 해시 타겟 변화

  • 난이도 계산 공식:
  • Difficulty = Max Target / Current Target
  • 난이도가 높을수록 블록 생성이 어려워짐 (성공 확률 낮음)

연도별 예시 (블록 높이)

  • 2025년 5월 기준 난이도: 1.21 × 2⁶⁶
  • 2024년 5월: 8.38 × 2⁶⁶ -> 가장 높은해
  • 2023년 5월: 4.95 × 2⁶⁵
  • 2022년 5월: 1.0 × 2⁶⁴
    -> 시간이 갈수록 난이도 상승 중!

채굴에 필요한 작업(Work)

  • PoW는 '유효한 nonce 값을 찾는 것'
  • 많은 연산을 필요로 하므로 전문 장비(CPU, GPU, ASIC) 필요
  • 운(무작위성) + 계산 능력(자원)의 경쟁

채굴 보상

🔸채굴 보상의 종류:

  1. 코인베이스 트랜잭션: 새 비트코인 생성 (기본 보상)
  2. 거래 수수료(Transaction Fee): 블록 안의 거래에서 나오는 수수료

🔸예시:

  • 현재 보상: 3.125 BTC (2024년 반감기 이후)
  • 과거에는 6.25 → 12.5 → 25 → 50 BTC → 점점 반감됨
  • 채굴자는 수수료가 높은 거래를 선호

블록 생성 경쟁과 취소

  • 여러 노드가 블록을 동시에 만들 수 있음
  • 하지만 가장 먼저 만들어진 블록만 인정
  • 다른 블록은 취소되고, 그 안에 있던 거래는 다시 대기

반감기와 비트코인 총 발행량

  • PoW 난이도 조절: 10분당 블록 생성 유지
  • 보상 반감기(Halving): 약 4년마다 보상량 반으로 줄음
  • 총 발행량:→ 수학적 수렴으로 인해 발행량은 약 2100만 개로 제한
  • 50 × (1 + 1/2 + 1/4 + ...) ≈ 21,000,000 BTC

Bitcoin: Issues

⚠️ 확장성 문제 (Scalability Issue)

  • 블록 크기 제한: 1MiB (약 100만 바이트)
  • 하나의 블록에 들어갈 수 있는 트랜잭션 수가 제한적
  • 약 10분에 하나의 블록 → 초당 처리 가능 거래 수는 10건 이하
  • 해결방안: 오프체인 거래(off-chain transactions)

⚠️ 마이닝 풀 집중 문제

  • 소수의 마이닝 풀이 전체 해시파워를 차지하면 중앙화 위험

⚠️ 노드 종류 이슈

  • Full node는 전체 블록체인 저장
  • Thin client는 Merkle Tree 활용하여 일부 데이터만 저장

Merkle Tree 구조

Merkle Tree란?

  • 모든 트랜잭션의 해시를 트리 구조로 만들어, 하나의 **루트 해시(root hash)**로 요약
  • 블록헤더에 루트 해시만 저장
  • 어떤 트랜잭션이 블록에 있는지 부분 정보만으로 증명 가능
  • 일부 트랜잭션을 제거해도 블록 구조는 유지됨 (공간 절약)

Other Blockchains

블록체인 원리 복습

  • 중앙 없이 참여자가 거래 기록을 나누어 저장
  • 위조 방지, 무결성 유지, 탈중앙화

블록체인의 개념 확장

  • 단순한 거래 기록 → 분산 컴퓨팅 플랫폼
  • 예: 블록체인 위에서 스마트 계약 프로그램 실행

Ethereum 개요

  • EVM (Ethereum Virtual Machine): 이더리움의 가상 컴퓨터
  • 스마트 컨트랙트: 조건 충족 시 자동 실행되는 코드
  • 언어: Solidity
  • 가스(gas): 스마트 계약 실행 비용
  • PoW → PoS로 전환 (The Merge, 2022)

Ethereum yellow paper 요약

🔸이더리움 구조

  • 상태 기반 머신 (state machine)
  • 트랜잭션을 처리하며 상태 변화 저장

🔸Block

  • 블록은 일련의 트랜잭션을 저장하는 저널
  • 상태 자체는 저장하지 않고 변화만 기록

🔸World State

  • 주소와 상태를 매핑하는 데이터 구조 (Merkle Patricia Tree 사용)

🔸주요 필드

  • gasPrice, gasLimit, to, value, data 등

이더리움의 PoS 전환

PoS (Proof of Stake) 작동 방식

  • 검증자(validator)가 블록 생성
  • 최소 32 ETH 스테이킹 필요
  • 보상과 패널티 존재 (오프라인이면 패널티)
  • 이점: 속도, 보안, 확장성 개선

Hyperledger

하이퍼레저 개요

  • 비공개/허가형 블록체인
  • 기업 간 협업 목적
  • 공개 블록체인의 자원 낭비, 속도 문제 극복
  • 대표 플랫폼: Hyperledger Fabric

NFT

  • 대체 불가능한 토큰 (Non-Fungible Token)
  • 고유한 메타데이터와 소유권을 블록체인에 기록

🔸NFT 구성 요소

  • 대부분 ERC-721 또는 ERC-1155 표준 사용
  • 콘텐츠 자체가 아니라 참조(reference)만 기록 (off-chain)
  • 스마트 컨트랙트로 민팅, 전송, 소각 가능

'컴퓨터 보안' 카테고리의 다른 글

Topic 05. Artificial Intelligence and Security  (2) 2025.06.06
13장-Digital Signature  (0) 2025.05.30
10장-기타 공개키 암호 시스템  (1) 2025.05.27
9장-공개키 암호 & RSA  (0) 2025.05.13
12장-MAC  (0) 2025.05.11
'컴퓨터 보안' 카테고리의 다른 글
  • Topic 05. Artificial Intelligence and Security
  • 13장-Digital Signature
  • 10장-기타 공개키 암호 시스템
  • 9장-공개키 암호 & RSA
samsam031
samsam031
samsam031 님의 블로그 입니다.
  • samsam031
    samsam031 님의 블로그
    samsam031
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 디지털포렌식
      • 드림핵 문제풀이
      • 대외활동
      • 개발 실습
      • 컴퓨터 보안
      • 클라우드
      • 자격증
      • 자연어처리
      • 백엔드
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
samsam031
Topic 04. Blockchain
상단으로

티스토리툴바