합의 알고리즘

Enzo·2022년 3월 20일
0

블록체인

목록 보기
15/21

합의 알고리즘

합의 알고리즘(Consensus Algorithm)이란, 다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘을 말한다. 합의 모델, 합의 방식, 합의 메커니즘 또는 합의 프로토콜이라고도 불린다.

블록체인의 데이터는 중앙화된 서버 대신 전세계에 흩어져 있는 수많은 노드에 보관되기 때문에, 각각의 노드들은 블록에 기록하는 데이터가 위변조되지 않은 원본이라는 것을 상호간에 합의하는 과정이 필요하다.

악의적인 상황이 발생하더라도 네트워크를 올바른 방향으로 이끌고자하는 다수의 노드들이 상호 검증을 거쳐 올바른 블록 생성을 이끌어내는 프로세스와 알고리즘을 바로 합의(Consensus)라고 한다.

작업 증명(PoW, Proof of Work)

  • 작업 증명은 최초의 블록체인인 비트코인을 창시한 사토시 나카모토가 제안한 합의 알고리즘
  • 블록생성 시간동안 가장 많은 해시파워를 제공한 노드가 블록을 생성할 수 있도록 설계가 되어있다
  • 이 기법은 비트코인, 라이트코인 등 여러 암호화폐 블록체인에서 사용
  • 블록을 생성하기 위해 논스(Nonce)라는 임의의 값을 맞히는 과정을 마이닝(Mining, 채굴)이라고 부르는데, 블록체인 네트워크에 전송된 암호화된 거래정보를 새로운 블록에 담고, 새로운 블록을 체인에 연결하는 작업을 완료했다는 것을 증명하는데 사용되는 컴퓨팅 파워라고 이해할 수 있다.
  • 작업 증명에서는 브랜치가 생긴 경우 가장 긴 블록체인이 남을 때까지 서로 경쟁하여 이긴 브랜치가 최종적인 브랜치로 채택이 되며, 다른 브랜치는 버려진다.
PoW의 특징
장점현재 높은 시장 가치를 형성하고 있는 주류 코인들이 채택하고 있다, 강력한 보안성을 제공한다, 서비스 남용을 쉽게 방지할 수 있다
단점높은 전력 소모를 통해 자원을 낭비한다, 지속적으로 해쉬파워를 유지해야 한다, 특정 마이닝 세력의 해시 독점으로 인한 생태계 교란 우려가 있다

지분 증명(PoS, Proof of Stake)

  • 지분 증명 알고리즘은 노드 또는 사용자가 시스템에 충분한 지분을 갖고 있다는 아이디어에서 출발
  • PoS는 지분을 많이 가지고 있는 노드에게 블록을 생성할 권한을 준다
  • 작업이 아닌 더 많은 지분을 가지고 있을 수록 그에 비례하여 블록에 기록할 권한이 더 많이 부여된다는 개념
  • 채굴자에게는 마치 이자와 같은 방식으로 코인이 지급되며, 일정 수 이상의 코인을 보관하고 있는 지갑을 블록체인 네트워크에 연결시켜놓기만 하면 보상을 받을 수 있다.
  • 블록 생성자와 지분 생성자의 이해관계를 일치시킴으로써 블록을 나쁜 의도로 생성할 동기부여를 없애며, 잘못 생성할 경우 패널티를 부여
  • PoW보다 에너지 소모가 적고, 코인을 가진 노드 누구나 네트워크에 허락없이 참여하기 때문에 분산화가 더 잘되어 많은 노드가 의사결정 과정에 쉽게 참여할 수 있는 이점이 있다.
PoS의 특징
장점해쉬파워가 많이 필요하지 않으므로 경제적이며 친환경적, 블록 생산자의 탈중앙화로 안정성을 확보, 블록을 생성하기 위해 지분을 담보로 잡아야하기 때문에 Dumping을 방지
단점아직 검증되지 않았기 때문에 보안성이 강한지 확인되지 않았다, 지분이 많은 고래들이 권력을 독점할 가능성이 존재

위임 지분 증명(DPoS, Delegated Proof of Stake)

  • 위임 지분 증명은 PoS에서 변형된 것으로, 시스템의 지분을 가진 각 노드가 투표를 통해 트랜잭션의 유효성 검사를 다른 노드에 위임하여 증명하는 개념
  • 이오스(EOS)에서 사용
  • 모든 노드의 자격을 가진 주주들이 블록생성에 참여하는 대신, 네트워크의 모든 노드의 투표 결과로 선출한 '상위 노드'에게 권한을 위임해 합의하도록 하는 방식
  • 일정 수의 증인(스팀은 20명, EOS는 21명)은 모든 권한을 위임 받아 블록 생성을 담당
  • DPoS는 합의에 참여하는 노드의 수가 한정되어 있기 때문에 매우 빠른 성능과 확장성을 보이고 있지만, 완전히 탈중앙화된 블록체인이 아니라는 비판을 받고 있다.
DPoS특징
장점PoS에 비해 많은 트랜잭션을 빠르게 처리가능, PoW에 비해 낮은 비용, 하드포크의 위험이 낮다, 증인들이 투표에 참여할 인센티브가 분명함
단점증인끼리 손쉽게 담합할 위험, 공개된 소수의 증인에 대한 디도스(DDoS) 공격 위험

비잔틴 장애 허용(BFT, Byzantine Fault Tolerance)

  • 비잔틴 장애 허용이란, 장애가 있더라도 전체의 3분의 1을 넘지 않는다면, 시스템이 정상 작동하도록 허용하는 합의 알고리즘

프랙티컬 비잔틴 장애 허용(PBFT, Practical Byzantine Fault Tolerance)

  • 프랙티컬 비잔틴 장애 허용은 네오, 질리카, 하이퍼레저, R3, ITC, 텐더민트 등에서 사용하는 합의 알고리즘
  • 여러 노드로 구성된 네트워크에서 악의적 공격을 방어하기 위해 만들어졌다.
profile
고통수집가

0개의 댓글