블록체인
IT위키
더 많은 작업
- Blockchain
많은 노드가 P2P 네트워크로 연결되어 사용자의 트랜잭션을 처리하는 시스템으로서, 트랜잭션에 대한 기록을 순차적으로 저장하는 일종의 분산 원장 시스템
- 한 번 기록된 내용은 변경이 거의 불가능함
- 원장은 덧붙이기만 하는(append-only) 구조라 거래 기록을 덮어쓰거나 지우지 않는다. 거래를 바로잡거나 취소하려면 이전 거래를 고치는 새 거래를 추가하며, 원래 거래는 이력으로 남는다[1]
- 모든 블록은 각 사용자가 독립적으로 검증할 수 있어, 처음 블록부터 차례로 검증하면 누구나 현재 상태에 합의할 수 있다. 거래의 진위는 전자서명(공개키 암호)으로, 블록 사이의 연결은 해시로 보장한다[1]
- 모든 노드가 동일한 트랜잭션에 대한 처리 기록을 가지도록 하여야 함
| 특성 | 뜻 |
|---|---|
| 탈중앙화(분산성) | 중앙 관리자 없이 P2P 네트워크의 여러 노드가 원장을 나눠 가지고 합의로 운영한다 |
| 투명성 | 참여자가 거래 기록을 열람하고 검증할 수 있다 |
| 불변성(무결성) | 해시로 이어진 블록은 한번 기록되면 고치기 어렵다 |
| 가용성 | 노드 하나가 멈춰도 다른 노드의 원장으로 서비스가 이어진다 |
- 중앙화는 블록체인의 특성이 아니다. 중앙 기관 없이 신뢰를 만드는 것이 블록체인의 목적이다
- 기밀성도 기본 특성이 아니다. 원장이 공유되므로 민감한 값은 따로 암호화한다(아래 '노드와 공개 범위')
- 암호 화폐뿐 아니라 주식·채권 같은 증권 거래, 부동산 등기·거래, 공급망 이력, 디지털 신원 등에 적용할 수 있다. 기업용 허가형 플랫폼으로는 하이퍼레저 패브릭이 있다
블록은 블록 헤더와 블록 데이터(본문)로 나뉜다. 구현마다 필드는 다르지만 흔히 쓰는 구성은 다음과 같다.[1]
- 블록 헤더 - 블록 번호(높이), 이전 블록 헤더의 해시, 블록 데이터를 대표하는 해시(대개 머클 트리의 루트 해시), 타임스탬프, 블록 크기, 논스
- 블록 데이터 - 검증된 거래 목록과 기타 데이터
비트코인의 헤더는 80바이트로 고정되어 있고 버전, 이전 블록 헤더 해시, 머클 루트 해시, 시각, 난이도 목표(nBits), 논스를 담는다. 머클 루트는 블록에 든 모든 거래의 해시로 만들어지므로 거래 하나를 바꾸면 헤더가 바뀐다.[2] 즉 헤더에는 거래 원본이 아니라 거래들의 해시 요약(머클 루트)만 들어가고, 거래 원본은 블록 본문에 있다.
- 네트워킹 레이어(Networking Layer): 트랜잭션을 전파하는 역할하는 레이어
- 컨센서스 레이어(Consensus Layer): 검증 노드들이 다음에 처리할 트랜잭션 목록에 동의하도록 만드는 레이어
- 어플리케이션 레이어(Application Layer): 검증 노드들이 합의한 트랜잭션에 따라 상태를 업데이트하는 레이어
- 허가/비허가형으로 나누기도 하고, 프라이빗/퍼블릭으로 나누기도 한다. 동일한 구분이다.
- Permissionless Blockchain
- 블록체인에 참여하는 노드의 참여가 제한되지 않음
- 대부분 작업 증명(PoW) 기반의 합의 알고리즘 사용
- Permissioned Blockchain
a.k.a. 프라이빗(Private) 블록체인, 컨소시엄(Consortium) 블록체인
- 블록체인 노드를 일정 부분 신뢰할 수 있음
- 참여하는 노드가 제한되므로 그 점을 활용할 수 있는 알고리즘의 적용이 가능
- 블록을 생성할 수 있는 자격을 가진 노드를 미리 정하여 놓고, 그 노드들로 구성된 위원회(Committee)를 구성하여 그 위원회에서 멤버들 간 합의를 통해 하나의 합의된 블록을 생성하고, 이를 다른 노드들에게 전파하는 방식을 사용
- 대표적인 알고리즘 : PBFT(Practical Byzantine Fault Tolerant)
- 키 관리: 키 도난 및 분실, 취약한 키 생성
- 참여자 권한 관리: 개인정보 침해, 권한 오남용
- 거래검증 및 합의: 함의 가로 채기, 사이드체인 내 비정상 거래 발생
- 블록체인 SW 보안: 블록체인 SW 취약점, 스마트 컨트랙트 취약점
- 서비스 보안: 분산 서비스 거부 공격, 가용성 저하, 비정상 거래 탐지 불가, 상호운용성 미제공
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 「Blockchain Technology Overview」(NISTIR 8202), NIST, https://nvlpubs.nist.gov/nistpubs/ir/2018/NIST.IR.8202.pdf, 확인일: 2026-11-04.
- ↑ 「Block Chain - Bitcoin Developer Reference」, Bitcoin Project, https://developer.bitcoin.org/reference/block_chain.html, 확인일: 2026-11-04.
- ↑ Konstantinos Christidis, Michael Devetsikiotis, 「Blockchains and Smart Contracts for the Internet of Things」, IEEE Access 4, 2016, https://doi.org/10.1109/ACCESS.2016.2566339, 확인일: 2026-11-04.
- 블록체인과 합의 알고리즘, ETRI
- 주간기술동향 vol.1912(2019.9.4) - 분산원장기술 시스템을 위한 보안기능 요구사항(박근덕 교수)