블록체인

From CS Wiki
Revision as of 03:12, 10 January 2019 by 128.199.81.128 (talk)
Blockchain

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

특징

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

3 Layer

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

구분

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

비허가형 블록체인

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

허가형 블록체인

Permissioned Blockchain

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

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

참조

  • 블록체인과 합의 알고리즘, ETRI