블록체인
From IT Wiki
- Blockchain
많은 노드가 P2P 네트워크로 연결되어 사용자의 트랜잭션을 처리하는 시스템으로서, 트랜잭션에 대한 기록을 순차적으로 저장하는 일종의 분산 원장 시스템
특징
- 한 번 기록된 내용은 변경이 거의 불가능함
- 모든 노드가 동일한 트랜잭션에 대한 처리 기록을 가지도록 하여야 함
레이어 구성
- 네트워킹 레이어(Networking Layer): 트랜잭션을 전파하는 역할하는 레이어
- 컨센서스 레이어(Consensus Layer): 검증 노드들이 다음에 처리할 트랜잭션 목록에 동의하도록 만드는 레이어
- 어플리케이션 레이어(Application Layer): 검증 노드들이 합의한 트랜잭션에 따라 상태를 업데이트하는 레이어
구분
- 허가/비허가형으로 나누기도 하고, 프라이빗/퍼블릭으로 나누기도 한다. 동일한 구분이다.
비허가형 블록체인
- Permissionless Blockchain
- 블록체인에 참여하는 노드의 참여가 제한되지 않음
- 대부분 작업 증명(PoW) 기반의 합의 알고리즘 사용
허가형 블록체인
- Permissioned Blockchain
a.k.a. 프라이빗(Private) 블록체인, 컨소시엄(Consortium) 블록체인
- 블록체인 노드를 일정 부분 신뢰할 수 있음
- 참여하는 노드가 제한되므로 그 점을 활용할 수 있는 알고리즘의 적용이 가능
- 블록을 생성할 수 있는 자격을 가진 노드를 미리 정하여 놓고, 그 노드들로 구성된 위원회(Committee)를 구성하여 그 위원회에서 멤버들 간 합의를 통해 하나의 합의된 블록을 생성하고, 이를 다른 노드들에게 전파하는 방식을 사용
- 대표적인 알고리즘 : PBFT(Practical Byzantine Fault Tolerant)
블록체인 보안 위협
- 이용자 익명성
- 거래의 당사자인 이용자의 신원 확인(Know Your Customer: KYC)을 이행하지 않아 익명의 이용자 간에 거래가 발생한 경우 해당 거래의 책임성을 보장할 수 없고, 또한 자금 세탁 및 테러자금 조성 등에 악용될 수 있다.
- 소프트웨어 위·변조
- 분산원장기술 시스템을 운영하기 위해 각 노드에 설치된 소프트웨어(스마트 계약 포함)가 악의적으로 위·변조되거나 악성 코드에 감염되면 분산원장 파괴, 서비스 지연을 초래하거나 이용자 손실이 발생할 수 있다.
- 암호키 유출
- 거래 당사자인 이용자의 전자서명용 개인키를 유출하게 되면 타인에 의한 무단 거래로 인하여 이용자 손실이 직접적으로 발생하게 되고, 중요 데이터를 암호화한 암호키를 유출하게 되면 중요 데이터 유출에 따라 이용자의 2차 피해가 발생할 수 있다.
- 비인가된 접근
- 분산원장에 대한 무단 접근, 스마트 계약 무단 실행, 분산원장 네트워크에 대한 무단접근 등 비인가된 접근이 허용될 경우 서비스 중단 및 이용자 손실이 발생할 수 있다.
- 데이터 유출 및 위·변조
- 분산원장 네트워크를 통해 노드 간에 거래 데이터, 원장 데이터 등을 전송 시 중간자공격(Man-in-the-middle attack)에 의해 데이터 유출 및 위·변조가 발생할 수 있어 분산원장의 훼손 및 이용자의 2차 피해 등을 초래할 수 있다.
- 시스템 장애
- 분산원장기술 시스템을 운영하기 위한 소프트웨어의 오류, 분산원장 네트워크에 참여하는 노드의 시스템 자원(CPU, 메모리, 네트워크, 스토리지 등) 부족 등에 기인하여 서비스 지연을 초래할 수 있다.
- 감사 기록 손실
- 분산원장기술 시스템 운영에 관한 기록, 이용자 행위에 관한 기록 등이 무단 변경 또는 삭제되어 보안사고 발생 시 책임 추적이 불가능할 수 있다.
블록체인 합의
블록체인 포크
참고 문헌
- 블록체인과 합의 알고리즘, ETRI
- 주간기술동향 vol.1912(2019.9.4) - 분산원장기술 시스템을 위한 보안기능 요구사항(박근덕 교수)