- Blockchain
많은 노드가 P2P 네트워크로 연결되어 사용자의 트랜잭션을 처리하는 시스템으로서, 트랜잭션에 대한 기록을 순차적으로 저장하는 일종의 분산 원장 시스템
특징
- 한 번 기록된 내용은 변경이 거의 불가능함
- 모든 노드가 동일한 트랜잭션에 대한 처리 기록을 가지도록 하여야 함
레이어 구성
- 네트워킹 레이어(Networking Layer): 트랜잭션을 전파하는 역할하는 레이어
- 컨센서스 레이어(Consensus Layer): 검증 노드들이 다음에 처리할 트랜잭션 목록에 동의하도록 만드는 레이어
- 어플리케이션 레이어(Application Layer): 검증 노드들이 합의한 트랜잭션에 따라 상태를 업데이트하는 레이어
구분
- 허가/비허가형으로 나누기도 하고, 프라이빗/퍼블릭으로 나누기도 한다. 동일한 구분이다.
비허가형 블록체인
- Permissionless Blockchain
- 블록체인에 참여하는 노드의 참여가 제한되지 않음
- 대부분 작업 증명(PoW) 기반의 합의 알고리즘 사용
허가형 블록체인
- Permissioned Blockchain
a.k.a. 프라이빗(Private) 블록체인, 컨소시엄(Consortium) 블록체인
- 블록체인 노드를 일정 부분 신뢰할 수 있음
- 참여하는 노드가 제한되므로 그 점을 활용할 수 있는 알고리즘의 적용이 가능
- 블록을 생성할 수 있는 자격을 가진 노드를 미리 정하여 놓고, 그 노드들로 구성된 위원회(Committee)를 구성하여 그 위원회에서 멤버들 간 합의를 통해 하나의 합의된 블록을 생성하고, 이를 다른 노드들에게 전파하는 방식을 사용
- 대표적인 알고리즘 : PBFT(Practical Byzantine Fault Tolerant)
블록체인 보안
- 키 관리: 키 도난 및 분실, 취약한 키 생성
- 참여자 권한 관리: 개인정보 침해, 권한 오남용
- 거래검증 및 합의: 함의 가로 채기, 사이드체인 내 비정상 거래 발생
- 블록체인 SW 보안: 블록체인 SW 취약점, 스마트 컨트랙트 취약점
- 서비스 보안: 분산 서비스 거부 공격, 가용성 저하, 비정상 거래 탐지 불가, 상호운용성 미제공
블록체인 합의
블록체인 포크
참고 문헌
- 블록체인과 합의 알고리즘, ETRI
- 주간기술동향 vol.1912(2019.9.4) - 분산원장기술 시스템을 위한 보안기능 요구사항(박근덕 교수)