합의 알고리즘

FeelSoo·2022년 6월 25일
0

블록체인 네트워크 참여 노드들간의 합의된 알고리즘, 쉽게 말하면 블록체인 네트워크를 운영하는 방식이다.

즉 어떤 행위를 하는 사람에게 블록 생성 권한을 부여하여 네트워크를 형성해나갈 것인가에 관한 알고리즘이다.

작업 증명 ( PoW, Proof of Work )


작업 증명은 최초의 블록체인, 비트코인에 적용되는 합의 알고리즘이다. 블록 생성 시간동안 가장 많은 해쉬파워를 제공한 노드가 블록을 생성할 수 있도록 설계가 되어있다.

예를 들어 만약 A와 B, 동시에 채굴이 이뤄져 둘 중 누군가에게 블록이 생성되어야 하는 상황에서는 더 많은 해쉬파워를 제공한 노드에게 블록이 생성된다.

하지만 채굴에 성공한 하나의 노드를 제외한 나머지 모든 노드들이 에너지 자원을 낭비하게 되는 단점이 있다.



지분 증명 ( PoS : Proof of Stake )


지분을 많이 가지고 있는 노드에게 블록을 생성할 권한을 준다. 채굴자에게는 마치 이자와 같은 방식으로 코인이 지급되며, 일정 수 이상의 코인을 보관하고 있는 지갑을 블록체인 네트워크에 연결시켜놓기만 하면 보상을 받을 수 있다.

PoW보다 에너지 소모가 적고, 코인을 가진 노드 누구나 네트워크에 참여 가능하다.

이더리움은 PoW 에서 PoS 방식으로 합의 알고리즘을 변경하려 한다.






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


위임 지분 증명은 PoS 에서 변형된 것으로, 네트워크의 지분을 가진 각 노드가 투표를 통해 트랜잭션의 유효성 검사를 다른 노드에 위임하여 증명하는 개념이다.

이오스 ( EOS ) 에서 사용된다. 이오스는 3세대 암호화폐이다.


모든 노드가 블록생성에 참여하지 않고 투표 결과로 선출한 상위노드에게 권한을 위임해 상위 노드에서만 블록생성에 관여하는 방식이다.

스팀은 20명, EOS는 21명에게 권한을 위임하여 블록을 생성한다.

댄 라리머는 DPoS 를 사용하여 그라핀 ( Graphene ) 엔진을 토대로 스팀과 빗쉐어를 만들고 이에 대한 성능을 증명했다.


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


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



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


프렉티컬 비잔틴 장애 허용은 네오, 질리카, 하이퍼레저, R3, ITC, 텐더민트 등에서 사용하는 합의 알고리즘이다.

이 기술은 여러 노드로 구성된 네트워크에서 악의적 공격을 방어하기 위해 만들어졌다.

비잔틴 장군 문제를 해결하기 위한 방법이다.

Tendermint


Tendermint는 Cosmos에서 사용하는 합의 알고리즘으로 PBFT 알고리즘을 DPoS 알고리즘과 섞어

공개 및 비공개 블록체인에 맞도록 개량한 합의 알고리즘이다.


기존의 PBFT는 하나의 노드가 하나의 투표를 하는 방식으로 투표를 받아 가장 많은 투표를 받은 블록을 승인하지만

Tendermint는 지분을 기반으로 투표를 하게 된다. 이 때 투표하는 노드의 수보다는 지분이 중요하게 된다.

profile
세상은 넓고 배울건 많다

0개의 댓글