본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Blockchain

많은 노드가 P2P 네트워크로 연결되어 사용자의 트랜잭션을 처리하는 시스템으로서, 트랜잭션에 대한 기록을 순차적으로 저장하는 일종의 분산 원장 시스템

  • 한 번 기록된 내용은 변경이 거의 불가능함
  • 원장은 덧붙이기만 하는(append-only) 구조라 거래 기록을 덮어쓰거나 지우지 않는다. 거래를 바로잡거나 취소하려면 이전 거래를 고치는 새 거래를 추가하며, 원래 거래는 이력으로 남는다[1]
  • 모든 블록은 각 사용자가 독립적으로 검증할 수 있어, 처음 블록부터 차례로 검증하면 누구나 현재 상태에 합의할 수 있다. 거래의 진위는 전자서명(공개키 암호)으로, 블록 사이의 연결은 해시로 보장한다[1]
  • 모든 노드가 동일한 트랜잭션에 대한 처리 기록을 가지도록 하여야 함
특성 뜻
탈중앙화(분산성) 중앙 관리자 없이 P2P 네트워크의 여러 노드가 원장을 나눠 가지고 합의로 운영한다
투명성 참여자가 거래 기록을 열람하고 검증할 수 있다
불변성(무결성) 해시로 이어진 블록은 한번 기록되면 고치기 어렵다
가용성 노드 하나가 멈춰도 다른 노드의 원장으로 서비스가 이어진다
  • 중앙화는 블록체인의 특성이 아니다. 중앙 기관 없이 신뢰를 만드는 것이 블록체인의 목적이다
  • 기밀성도 기본 특성이 아니다. 원장이 공유되므로 민감한 값은 따로 암호화한다(아래 '노드와 공개 범위')
  • 암호 화폐뿐 아니라 주식·채권 같은 증권 거래, 부동산 등기·거래, 공급망 이력, 디지털 신원 등에 적용할 수 있다. 기업용 허가형 플랫폼으로는 하이퍼레저 패브릭이 있다

블록은 블록 헤더와 블록 데이터(본문)로 나뉜다. 구현마다 필드는 다르지만 흔히 쓰는 구성은 다음과 같다.[1]

  • 블록 헤더 - 블록 번호(높이), 이전 블록 헤더의 해시, 블록 데이터를 대표하는 해시(대개 머클 트리의 루트 해시), 타임스탬프, 블록 크기, 논스
  • 블록 데이터 - 검증된 거래 목록과 기타 데이터

비트코인의 헤더는 80바이트로 고정되어 있고 버전, 이전 블록 헤더 해시, 머클 루트 해시, 시각, 난이도 목표(nBits), 논스를 담는다. 머클 루트는 블록에 든 모든 거래의 해시로 만들어지므로 거래 하나를 바꾸면 헤더가 바뀐다.[2] 즉 헤더에는 거래 원본이 아니라 거래들의 해시 요약(머클 루트)만 들어가고, 거래 원본은 블록 본문에 있다.

노드와 공개 범위

편집 원본 편집
  • 풀 노드 - 블록체인 전체를 저장하고 모든 거래를 검증한다. 새 블록을 만드는 풀 노드를 발행 노드(채굴자)라 한다
  • 경량 노드 - 블록체인 사본을 저장·유지하지 않고 거래를 풀 노드에 넘긴다[1]
  • 비허가형(퍼블릭) 블록체인은 누구나 읽고 쓸 수 있다.[1] 원장이 모두에게 보이므로 무결성과 투명성은 주지만 기밀성은 주지 않는다. 민감한 값은 따로 암호화하거나 해시만 올리고 원본은 체인 밖에 둔다

IoT 에 적용할 때

편집 원본 편집
  • 기기 인증·접근 제어 규칙을 스마트 계약으로 여러 노드에 분산하면 중앙 인증 서버 하나에 모든 것이 달린 단일 장애점 문제를 줄일 수 있다[3]
  • 저전력·저용량 IoT 기기는 전체 원장을 저장·검증하는 풀 노드를 감당하기 어렵다. 보통 경량 노드나 게이트웨이가 대신 참여한다. 합의 과정 때문에 지연과 에너지 소모는 오히려 늘어난다
  • 기기 고유 신원의 뿌리는 칩의 물리적 특성에서 나오는 PUF 같은 하드웨어 장치가 맡는다. 합의 알고리즘은 원장의 일치를 정할 뿐 하드웨어 복제를 막지 못한다
  • 네트워킹 레이어(Networking Layer): 트랜잭션을 전파하는 역할하는 레이어
  • 컨센서스 레이어(Consensus Layer): 검증 노드들이 다음에 처리할 트랜잭션 목록에 동의하도록 만드는 레이어
  • 어플리케이션 레이어(Application Layer): 검증 노드들이 합의한 트랜잭션에 따라 상태를 업데이트하는 레이어
허가/비허가형으로 나누기도 하고, 프라이빗/퍼블릭으로 나누기도 한다. 동일한 구분이다.

비허가형 블록체인

편집 원본 편집
Permissionless Blockchain
  • 블록체인에 참여하는 노드의 참여가 제한되지 않음
  • 대부분 작업 증명(PoW) 기반의 합의 알고리즘 사용

허가형 블록체인

편집 원본 편집
Permissioned Blockchain

a.k.a. 프라이빗(Private) 블록체인, 컨소시엄(Consortium) 블록체인

  • 블록체인 노드를 일정 부분 신뢰할 수 있음
  • 참여하는 노드가 제한되므로 그 점을 활용할 수 있는 알고리즘의 적용이 가능
  • 블록을 생성할 수 있는 자격을 가진 노드를 미리 정하여 놓고, 그 노드들로 구성된 위원회(Committee)를 구성하여 그 위원회에서 멤버들 간 합의를 통해 하나의 합의된 블록을 생성하고, 이를 다른 노드들에게 전파하는 방식을 사용
  • 대표적인 알고리즘 : PBFT(Practical Byzantine Fault Tolerant)

퍼블릭과 프라이빗 비교

편집 원본 편집
구분 퍼블릭 블록체인 프라이빗 블록체인
참여 누구나 허가받은 기관·노드
투명성 거래 기록이 모두에게 공개된다 참여자에게만 공개된다
합의 작업 증명 등 경쟁형, 블록 발행이 느리다 PBFT 등 위원회형, 빠르다
확장성·속도 노드가 많고 합의가 무거워 거래 속도가 느리고 확장이 어렵다 상대적으로 빠르다
  • NIST 는 많은 비허가형 블록체인의 거래가 블록 발행 시간(수 초에서 수 분) 때문에 다른 IT 시스템만큼 빨리 처리되지 않는다고 지적한다[1]
  • 키 관리: 키 도난 및 분실, 취약한 키 생성
  • 참여자 권한 관리: 개인정보 침해, 권한 오남용
  • 거래검증 및 합의: 함의 가로 채기, 사이드체인 내 비정상 거래 발생
  • 블록체인 SW 보안: 블록체인 SW 취약점, 스마트 컨트랙트 취약점
  • 서비스 보안: 분산 서비스 거부 공격, 가용성 저하, 비정상 거래 탐지 불가, 상호운용성 미제공
  1. ↑ 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.
  2. ↑ 「Block Chain - Bitcoin Developer Reference」, Bitcoin Project, https://developer.bitcoin.org/reference/block_chain.html, 확인일: 2026-11-04.
  3. ↑ 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) - 분산원장기술 시스템을 위한 보안기능 요구사항(박근덕 교수)