블록체인의 합의 알고리즘에 대해 알아보자: PoW, PoS, DPoS, BFT

암호화폐를 이해하기 위해서는 여러분야에 대한 지식을 요구합니다. 이번 글에서는 그 분야들 중 하나인 합의 알고리즘에 대해 알아보겠습니다. 기술적인 용어들은 최대한 쓰지 않으며 설명을 해보도록 하겠습니다. 이번 글에서는 깊이있는 설명보다는 다양한 합의 알고리즘이 대충 어떤 방식으로 이뤄지는 느낌만 알아가시면 좋을듯 합니다.


합의


블록체인의 기본 원리

합의 알고리즘(Consensus algorithm)에 대해 들어가기전에 블록체인 기술의 기본 원리에 대해 먼저 짚고 넘어가겠습니다.



블록체인



➀ 사람들이 데이터가 정확한지 확인한다.

➔ 이중지불 문제 해결

➁ 데이터를 블록에 저장한다.

➔ 합의를 통해 검증된 데이터만 저장됨

➂ 블록을 체인에 연결한다.

➔ 데이터 위조 및 변조 불가능


합의 알고리즘(Consensus Algorithm)이 뭐야?

위 그림 ➀ 번 과정에 사용되는 것이 합의 알고리즘입니다.


블록체인 네트워크는 여러분도 잘 아시다싶이 분산된 시스템을 가지고 있습니다. 많은 사람들이 네트워크에 존재하지만 모든 일을 처리해주는 중앙 서버는 존재하지 않죠. 그렇기 때문에 정보 도달에 시간차가 있는 블록체인 네트워크에서 사람들이 하나의 결과에 대해 합의를 한후 블록체인에 정보를 올려야합니다.


만약 합의가 이루어지지 않고 여기저기서 막 날라오는 정보들을 무작위로 블록체인에 올리게 되면 잘못된 정보들이 올라가게 되어 심각한 문제를 발생하게 됩니다. 예를 들면 1억을 누군가에게 보냈는데, 100원만 보냈다고 기록되버릴수가 있죠. 그렇기 때문에 합의를 통해 검증된 정보만 블록에 올려야만 하고 여기서 일어나는 합의는 특정 규칙에 따라 하게 이루어집니다. 이 규칙이 바로 합의 알고리즘입니다.


1. Byzantine Fault Tolerance (BFT / 비잔틴 장애 허용)

비잔틴 장애 허용(BFT) 방식은 블록체인 합의 알고리즘의 기본이 되는 것으로 PBFT, DBFT 등등 여러가지 변형된 형태를 띄고 있습니다. 블록체인은 여러 사람들에 의해 네트워크가 관리되고 유지되는데, 이 중에서는 분명히 악의적인 의도를 가지고 네트워크를 파괴하려는 사람도 존재합니다. 비잔틴 장애 허용(BFT)은 이러한 악의적인 노드가 네트워크를 장악하는 것을 방지하는 알고리즘이죠.

비잔틴 장애 허용


2. Proof of Work (PoW / 작업 증명)

Proof of Work는 어떤 문제를 푼 사람에게

블록을 검증할 수 있는 기회를 제공합니다.

다시 말하면 열심히 일한 만큼 보상으로 코인을 받게되는 방식입니다.


PoW는 아래와 같은 방식으로 합의와 데이터 검증이 이루어지게 됩니다.

작업 증명

특징

1. 암호화폐에서 가장 많이 사용되는 합의 알고리즘

2. 비트코인이 PoW 방식을 사용함


단점

1. ASIC 및 GPU 구매 비용 발생

2. 엄청난 양의 전기 에너지 낭비

3. 거대 채굴 기업들의 네트워크 독점 위험성 존재

4. 블록체인이 두 개로 쪼개질 가능성이 있음

5. 해커들의 51% 공격의 위험성 존재


작업 증명 방식 대표 코인

비트코인, 비트코인 캐시, 라이트코인, 이더리움(PoS로 전환될 예정), 모네로 등등


Proof of Stake (PoS / 지분 증명)

Proof of Stake는 네트워크 참여자 모두가

블록을 검증할 수 있는 기회를 갖게됩니다.

단, 가지고 있는 코인이 많으면 많을 수록 검증 기회를 더 얻을 수 있습니다.

다시 말해 가지고 있는 재산에 비례하여 보상이 주어지게 됩니다.


PoS는 아래와 같은 방식으로 합의와 데이터 검증이 이루어지게 됩니다.

지분 증명


특징

1. PoW보다 좀 더 분산화된 네트워크를 가짐

2. 무의미한 계산이 필요없어 경제적이며 친환경적임

3. 해커가 비용 문제로 51% 공격을 성공시키기 어려움

4. 전체적으로 보면 PoW의 단점을 많이 보완함


단점

1. 부익부 빈익부 현상이 발생할 가능성이 큼

2. 네트워크의 사용자 모두가 검증을 하기 때문에

3. 속도면에서 뒤쳐질 수 있음


지분 증명 방식 대표 코인

이더리움(PoS방식으로 전활될 예정), 대시, 네오, 피빅스, 스트라티스 등등


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

Delegated Proof of Stake는 네트워크에 있는 사람들의 투표로 선출된

정해진 숫자의 사람만이 블록을 검증할 수 있습니다.

대표자의 수는 20명이 될 수도있고, 50명이 될수도 있고, 100명이 될수도 있습니다.

블록체인 네트워크마다 정해둔 수가 다릅니다.


DPoS는 아래와 같은 방식으로 합의와 데이터 검증이 이루어지게 됩니다.

위임된 지분 증명


특징

1. 수수료가 없다

2. 일 처리 속도가 정말 빠르다

3. 코인을 많이 보유하지 않아도 블록 검증자가 될 수 있음


단점

1. 충분한 탈중앙화가 되었다고 말하기는 힘들다

2. 소수의 블록 검증자들이 단합할 가능성 존재

3. 투표를 하지 않을 경우의 위험성 존재


위임된 지분 증명 방식 대표 코인

이오스, 스팀, 빗쉐어, 아크, 리스크 등등


마치며

사실 암호화폐에서 사용되는 합의 알고리즘은 위에서 설명한 것이 전부가 아닙니다. PoW와 PoS방식을 동시에 이용하는 경우도 있고, Proof of Authority(권한 증명), Proof of Importance(중요도 증명), Proof of Devotion(헌신 증명) 등등 여러가지가 존재합니다. 이것들은 블록을 검증하는 사람을 선정하는 방법의 차이가 있을 뿐 블록체인 네트워크를 건강하고 지속 가능한 생태계로 만들기 위한 공통적인 목표를 가지고 있습니다.


추가로, 블록체인의 속도, 탈중앙화, 보안이 세 가지 모두를 가진 합의 알고리즘은 현재 존재하지 않습니다. PoW방식은 탈중앙화와 보안의 강력함을 가져가는 대신 빠른 거래 속도를 포기했습니다. 사실 ASICs 채굴덕분에 거대 채굴기업이 네트워크에서 많은 힘을 가지고있죠. 탈중앙화도 사실 완벽하지 않습니다. PoS방식도 마찬가지로 탈중앙화와 보안을 가져갔지만 빠른 거래 속도를 포기했습니다. DPoS 방식은 빠른 속도와 보안을 가져갔지만 완벽한 탈중앙화를 포기해야만 했죠.


보시는 바와 같이 완벽한 합의 알고리즘은 존재하지 않고 각각의 장단점을 가지고 있기 때문에, 어떤 분야에 어떤 합의 알고리즘을 사용하는 것이 적합할지에 대해 곰곰히 생각해보시는게 좋을것 같습니다. 이번 글을 통해 합의 알고리즘에 대한 궁금증이 어느정도 풀리셨으면 좋겠습니다.


관련글 더 보기

쉽게 설명하는 블록체인 개념, 블록체인은 무엇인가?

쉽게 설명하는 블록체인 원리, 어떻게 작동하는가?

퍼블릭(Public) 블록체인과 프라이빗(Private) 블록체인을 알아보자


이 글을 공유하기

댓글

Designed by JB FACTORY