X

블록체인 합의 알고리즘 (Blockchain Consensus Algorithm)

I. 블록체인 합의 알고리즘의 개요

가. 블록체인 합의 알고리즘 (Blockchain Consensus Algorithm)의 개념

  • 블록체인 네트워크 상에서 데이터(블록)의 무결성 검증 및 생성을 위한 노드 간 미리 정의된 절차 기반 의사결정 알고리즘

나. 분산 네트워크에서 신뢰성 문제점에 따른 합의 알고리즘의 필요성

분산 네트워크에서의 신뢰성 문제점 합의 알고리즘의 필요성

문제점1. Double Spending

  • 블록생성 시간 차에 따른 이중 지불 문제

단일 입력값에 대하여 분산된 각 시스템이 동일한 결과 값을 결정해야 함

문제점2. Byzantine General Problem

  • 일부 노드의 악의적 변경에 따른 오류 발생 문제

분산 시스템상에 악의적 노드가 참여하여도 전체 시스템의 신뢰도를 제공하여야 함

 

II. 블록체인 합의 알고리즘의 유형

가. 공개 블록체인(Public Blockchain) 합의 알고리즘의 유형

합의 알고리즘 알고리즘 설명 대표 플랫폼
PoW
(Proof of Work)
마이닝 증명으로 블록생성, 보상
– 컴퓨팅 파워기반 해시값 계산 경쟁
– 비트코인(Bitcoin)
– 이더리움(Ethereum)
PoS
(Proof of Stake)
– 지분 크기와 생성 날짜 기반 블록 생성
– PoW에너지낭비, Nothing at Stake 해결
– 퀀텀(Qtum)
– 네오(NEO)
– 스트라티스(Stratis)
DPoS
(Delegated PoS)
– 대표 노드에 검증 역할 위임
– 다른 검증 노드가 대표 노드를 감시
– 이오스(EOS)
PoI
(Proof of Importance)
– 네트워크 참여도에 따른 보상 지급
– 블록체인에 기여한 노드 보상
– 넴(NEM)
Casfer – 예치금을 걸고 Finality 투표 참여
– 악의적 행동 시 예치금 몰수
– 이더리움(Ethereum)
(이더리움 하드포크 예정)

나. 사설 블록체인(Private Blockchain) 합의 알고리즘의 유형

합의 알고리즘 알고리즘 설명 대표 플랫폼
PBFT
(Practical Byzantine Fault Tolerance)
– 참여노드의 다수결 투표기반 합의
– Request → Pre-Prepare → Prepare → Commit → Reply
하이퍼레저(Hyperledger)
– R3 코다(R3 Corda)
Sieve – 합의 형성 전 결과가 가른 경우 중지
– 실행 결과 조기 탐지
하이퍼레저(Hyperledger)
(프로젝트에서 제외됨)
PoET
(Proof of Elapsed Time)
– 작업 경과시간 증명기반 리더 선출
– 모듈형 솔루션, 위조방지 합의
– 소투스 레이크
(Sawtooth Lake)
PoA
(Proof of Authority)
– 개인 신원을 이용한 블록 유효성 검사
– 보상받을 권리 대신 개인신원 확인
– 루니버스(Luniverse)
Tendermint – 지분기반 투표 (DPoS + PBFT 형태)
– 악의적 행위 시 지분 몰수
– 코스모스(Cosmos)
  • BFT(Byzantine Fault Tolerance) 기반 제안/검증/투표 노드 및 리더를 선출하는 Paxos, Raft 알고리즘 다수 사용
  • PBFT와 DPoS 알고리즘 기반 Tendermint 합의 알고리즘의 경우 퍼블릭 블록체인과 프라이빗 블록체인 모두 적용 가능

 

III. 공개/사설 블록체인 합의 알고리즘 비교

항목 공개 블록체인 합의 알고리즘 사설 블록체인 합의 알고리즘
접근 통제 형태 비허가형 허가형
참여 대상 참여 노드 제한없음 식별된 노드만 참여
참여 방식 어떤 노드든 참여 가능 초대에 의한 참여
보상 여부 참여 노드에 보상 보상 없음
네트워크 통제 별도 통제 없음 그룹 또는 중앙 통제
트랜잭션 확인 어떤 노드든 확인 가능 참여 노드만 확인 가능
주요 알고리즘 PoW, PoS, DPoS, PoI, Casfer PBFT, PoET, PoA, Tendermint

 

[참고]

  • 소프트웨어정책연구소(SPRi), “블록체인, 이제 산업이다.”, 2018. 2
Categories: 디지털서비스
도리: