블록체인: Difference between revisions

From CS Wiki
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 31: Line 31:
* 대표적인 알고리즘 : PBFT(Practical Byzantine Fault Tolerant)
* 대표적인 알고리즘 : PBFT(Practical Byzantine Fault Tolerant)


== 블록체인 보안 위협 ==
== [[블록체인 보안]] ==
* 이용자 익명성
* '''키 관리''': 키 도난 및 분실, 취약한 키 생성
** 거래의 당사자인 이용자의 신원 확인(Know Your Customer: KYC)을 이행하지 않아 익명의 이용자 간에 거래가 발생한 경우 해당 거래의 책임성을 보장할 수 없고, 또한 자금 세탁 및 테러자금 조성 등에 악용될 수 있다.
* '''참여자 권한 관리''': 개인정보 침해, 권한 오남용
* 소프트웨어 위·변조
* '''거래검증 및 합의''': 함의 가로 채기, 사이드체인 내 비정상 거래 발생
** 분산원장기술 시스템을 운영하기 위해 각 노드에 설치된 소프트웨어(스마트 계약 포함)가 악의적으로 위·변조되거나 악성 코드에 감염되면 분산원장 파괴, 서비스 지연을 초래하거나 이용자 손실이 발생할 수 있다.
* '''블록체인 SW 보안''': 블록체인 SW 취약점, 스마트 컨트랙트 취약점
* 암호키 유출
* '''서비스 보안''': [[분산 서비스 거부 공격]], 가용성 저하, 비정상 거래 탐지 불가, 상호운용성 미제공
** 거래 당사자인 이용자의 전자서명용 개인키를 유출하게 되면 타인에 의한 무단 거래로 인하여 이용자 손실이 직접적으로 발생하게 되고, 중요 데이터를 암호화한 암호키를 유출하게 되면 중요 데이터 유출에 따라 이용자의 2차 피해가 발생할 수 있다.
* 비인가된 접근
** 분산원장에 대한 무단 접근, 스마트 계약 무단 실행, 분산원장 네트워크에 대한 무단접근 등 비인가된 접근이 허용될 경우 서비스 중단 및 이용자 손실이 발생할 수 있다.
* 데이터 유출 및 위·변조
** 분산원장 네트워크를 통해 노드 간에 거래 데이터, 원장 데이터 등을 전송 시 중간자공격(Man-in-the-middle attack)에 의해 데이터 유출 및 위·변조가 발생할 수 있어 분산원장의 훼손 및 이용자의 2차 피해 등을 초래할 수 있다.
* 시스템 장애
** 분산원장기술 시스템을 운영하기 위한 소프트웨어의 오류, 분산원장 네트워크에 참여하는 노드의 시스템 자원(CPU, 메모리, 네트워크, 스토리지 등) 부족 등에 기인하여 서비스 지연을 초래할 수 있다.
* 감사 기록 손실
** 분산원장기술 시스템 운영에 관한 기록, 이용자 행위에 관한 기록 등이 무단 변경 또는 삭제되어 보안사고 발생 시 책임 추적이 불가능할 수 있다.


== [[블록체인 합의 알고리즘]]
== [[블록체인 합의]] ==
== [[블록체인 포크]] ==


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

Latest revision as of 03:27, 8 March 2020

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) - 분산원장기술 시스템을 위한 보안기능 요구사항(박근덕 교수)