본문 바로가기

블록체인/블록체인(박승철)

블록체인 - (5) 비트코인 블록체인 개요

블록체인 - (5) 비트코인 블록체인 개요

비트코인 블록체인의 역할
- 비트코인 발행을 포함한 모든 비트코인 지불 거래 정보를 기록한 장부(ledger)
- 네트워크상의 비트코인 발행 내역과 이동 내역을 보여주는 장부
- 비트코인의 P2P 거래를 가능하게 하는 원천(누구나 정상 지불 확인 가능)

비트코인 블록체인의 목표

완전성(Complete blockchain)
- 모든 거래 내역을 일관성 있게 기록
- 발행되어 현재 사용되고 있는 모든 비트코인 현황을 일관성 있게 확인

안전성(Secure blockchain)
- 비정상 거래 기록 승인불가
- 승인된 거래를 변경, 교체하는 것이 불가
- 장부(블록체인) 파괴 불가

분산성(distributed blockchain)
- 누구나 블록체인 생성에 참여가능
- 특정 참여자에 의존되지 않는 블록체인 유지
- 그렇지만 일관성이 보장되는 블록체인

투명성(transparent blockchain)
- 누구나 블록체인에 접근, 검증, 사용 가능
- 블록체인을 유지하고 있지 않은 참여자도 블록체인 접근 보장(SPV 노드)

비트코인 네트워크 참여자
- 풀 노드(Full Node) : 비트코인 네트워크 블록 정보(장부)를 모두 소유한 노드
- 채굴 노드(Mining Node) : 풀노드이면서 블록 생성에 참여하는 노드
- SPV 노드(Simple payment verification node) : 비트코인 네트워크 블록 정보(장부)를 소유하고 있지 않고 단순히 거래의 유효성만 체크하는 노드 ex. 스마트폰

비트코인 블록
- 채굴자가 일정 시간동안 비트코인 네트워크를 통해 교환되는 모든 거래를 검증한 후 모아서 만든 자료구조(장부)
- 생성 후 모든 네트워크 참여자에게 전달(broadcasting)
- 블록체인을 유지하는 참여자는 자신의 블록체인에 수신된 블록을 연결

블록 생성 간격
- 시간 간격 : 약 10분마다 한개의 블록이 생성
- 비트코인 네트워크는 10분이 되도록 채굴 난이도를 조정(해시 난이도를 조정함)
- 10분동안 발행된 전세계 비트코인 거래를 블록에 기록

블록 크기
- 1M byte로 블록크기가 제한
- 한개의 거래는 약 250B의 크기를 가짐.
- 즉, 1M byte는 최대 4,000개의 거래정보를 포함할 수 있으므로 10분동안 최대 4,000개의 거래만 가능한 한계를 지님
- 블록크기가 1M byte보다 커지면 비트코인 네트워크에서 블록정보를 broadcasting하는 데 블록전달시간이 증가하여 블록체인 분기(Blockchain forking) 문제가 발생할 가능성이 커짐

블록 채굴자 결정
- 작업 증명(PoW, Proof of Work)에 가장 먼저 성공한 채굴자
- 작업 증명 문제는 ...(추후 업데이트)

채굴자의 작업 증명 성공 확률 = 채굴자의 해시 파워 / 비트코인 네트워크 전체 채굴자의 해시 파워 총합

블록 연결
- 비트코인 네트워크에서 각 블록은 이전 블록의 해시값을 지님
- 즉, 해시값으로 연결된 체인구조
- 체인구조이므로 이전 블록의 값이 변경되면(거래내역이 위조되면) 이전 블록의 해시값이 변경되므로 연결된 블록간 해시값이 서로 달라 비트코인 네트워크에서 인정받을 수 없음

<그림 1: 비트코인 네트워크 블록>

- 블록을 조작하려면 비트코인 전체 네트워크의 51%이상의 해시파워를 가지고 있어야 함
- 또한, 생성된 블록 이후에 생성되는 블록이 많아질수록 해당 블록이 소유한 거래 데이터 위조가 점점 어려워짐(체인 구조이므로)

SPV 노드
- 블록 헤더 정보만 유지하는 노드
- 블록 헤더 : 해시 포인터, 난이도 목표, 넌스, 머클 루트

머클 트리
- 머클 루트 : 블록의 모든 거래에 대한 지문 정보 요약
- SPV 노드는 자신이 확인하고자 하는 거래가 승인되었는 지 여부를 확인하기 위해 머클 루트 계산을 위한 정보만을 풀 노드에 요청하고 계산된 머클 루트값과 새로 생성된 블록의 블록헤더에 저장된 머클루트값이 서로 일치하는지 확인함

<그림 2: 머클 트리>

Reference
1. 

제5강+비트코인블록체인개요.pdf
0.58MB

2. 박승철블록체인과비트코인제5강 비트코인블록체인개요