블록체인

From CS Wiki
Blockchain

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

특징[edit | edit source]

  • 한 번 기록된 내용은 변경이 거의 불가능함
  • 모든 노드가 동일한 트랜잭션에 대한 처리 기록을 가지도록 하여야 함

레이어 구성[edit | edit source]

  • 네트워킹 레이어(Networking Layer): 트랜잭션을 전파하는 역할하는 레이어
  • 컨센서스 레이어(Consensus Layer): 검증 노드들이 다음에 처리할 트랜잭션 목록에 동의하도록 만드는 레이어
  • 어플리케이션 레이어(Application Layer): 검증 노드들이 합의한 트랜잭션에 따라 상태를 업데이트하는 레이어

구분[edit | edit source]

허가/비허가형으로 나누기도 하고, 프라이빗/퍼블릭으로 나누기도 한다. 동일한 구분이다.

비허가형 블록체인[edit | edit source]

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

허가형 블록체인[edit | edit source]

Permissioned Blockchain

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

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

블록체인 보안[edit | edit source]

  • 키 관리: 키 도난 및 분실, 취약한 키 생성
  • 참여자 권한 관리: 개인정보 침해, 권한 오남용
  • 거래검증 및 합의: 함의 가로 채기, 사이드체인 내 비정상 거래 발생
  • 블록체인 SW 보안: 블록체인 SW 취약점, 스마트 컨트랙트 취약점
  • 서비스 보안: 분산 서비스 거부 공격, 가용성 저하, 비정상 거래 탐지 불가, 상호운용성 미제공

블록체인 합의[edit | edit source]

블록체인 포크[edit | edit source]

참고 문헌[edit | edit source]

  • 블록체인과 합의 알고리즘, ETRI
  • 주간기술동향 vol.1912(2019.9.4) - 분산원장기술 시스템을 위한 보안기능 요구사항(박근덕 교수)