만약 자신이 블록체인에 대한 기본적인 이해가 없다고 생각되시는 분들은 아래있는 글을 먼저 읽어보신다면 이 글이 좀 더 쉽게 이해가 될것 같습니다.
블록체인 기술의 기본적인 원리
블록체인 기술의 기본적인 원리
위 링크도 읽기 귀찮으신 분들을 위해 간단한 그림을 통해 설명하자면 아래와 같습니다.
➀ 사람들이 데이터가 정확한지 확인한다.
➔ 이중지불 문제 해결
➁ 데이터를 블록에 저장한다.
➔ 합의를 통해 검증된 데이터만 저장됨
➂ 블록을 체인에 연결한다.
➔ 데이터 위조 및 변조 불가능
합의 알고리즘(Consensus Algorithm)이 뭐야?
위 그림 ➀ 번 과정에 사용되는 것이 합의 알고리즘입니다.
블록체인 네트워크는 여러분도 잘 아시다싶이 분산된 시스템을 가지고 있습니다. 많은 사람들이 네트워크에 존재하지만 모든 일을 처리해주는 중앙 서버는 존재하지 않죠. 그렇기 때문에 정보 도달에 시간차가 있는 블록체인 네트워크에서 사람들이 하나의 결과에 대해 합의를 한후 블록체인에 정보를 올려야합니다. 만약 합의가 이루어지지 않고 여기저기서 막 날라오는 정보들을 무작위로 블록체인에 올리게 되면 잘못된 정보들이 올라가게 되어 심각한 문제를 발생하게 됩니다. 예를 들면 1억을 누군가에게 보냈는데, 100원만 보냈다고 기록되버릴수가 있죠. 그렇기 때문에 합의를 통해 검증된 정보만 블록에 올려야만 하고 여기서 일어나는 합의는 특정 규칙에 따라 하게 이루어집니다. 이 규칙이 바로 합의 알고리즘입니다.
Byzantine Fault Tolerance (BFT / 비잔틴 장애 허용)
여기서 부터는 다양한 합의 알고리즘에 대해 소개를 시작하겠습니다.
Proof of Work (PoW / 작업 증명)
Proof of Work는 어떤 문제를 푼 사람에게
블록을 검증할 수 있는 기회를 제공합니다.
다시 말하면 열심히 일한 만큼 보상으로 코인을 받게되는 방식입니다.
PoW는 아래와 같은 방식으로 합의와 데이터 검증이 이루어지게 됩니다.
특징
암호화폐에서 가장 많이 사용되는 합의 알고리즘
비트코인이 PoW 방식을 사용함
단점
ASIC 및 GPU 구매 비용 발생
엄청난 양의 전기 에너지 낭비
거대 채굴 기업들의 네트워크 독점 위험성 존재
블록체인이 두 개로 쪼개질 가능성이 있음
해커들의 51% 공격의 위험성 존재
Proof of Stake (PoS / 지분 증명)
Proof of Stake는 네트워크 참여자 모두가
블록을 검증할 수 있는 기회를 갖게됩니다.
단, 가지고 있는 코인이 많으면 많을 수록 검증 기회를 더 얻을 수 있습니다.
다시 말해 가지고 있는 재산에 비례하여 보상이 주어지게 됩니다.
PoS는 아래와 같은 방식으로 합의와 데이터 검증이 이루어지게 됩니다.
특징
PoW보다 좀 더 분산화된 네트워크를 가짐
무의미한 계산이 필요없어 경제적이며 친환경적임
해커가 비용 문제로 51% 공격을 성공시키기 어려움
전체적으로 보면 PoW의 단점을 많이 보완함
단점
부익부 빈익부 현상이 발생할 가능성이 큼
네트워크의 사용자 모두가 검증을 하기 때문에
속도면에서 뒤쳐질 수 있음
Delegated Proof of Stake (DPoS / 위임된 지분 증명)
Delegated Proof of Stake는 네트워크에 있는 사람들의 투표로 선출된
정해진 숫자의 사람만이 블록을 검증할 수 있습니다.
대표자의 수는 20명이 될 수도있고, 50명이 될수도 있고, 100명이 될수도 있습니다.
블록체인 네트워크마다 정해둔 수가 다릅니다.
DPoS는 아래와 같은 방식으로 합의와 데이터 검증이 이루어지게 됩니다.
특징
수수료가 없다
일 처리 속도가 정말 빠르다
코인을 많이 보유하지 않아도 블록 검증자가 될 수 있음
단점
충분한 탈중앙화가 되었다고 말하기는 힘들다
소수의 블록 검증자들이 단합할 가능성 존재
투표를 하지 않을 경우의 위험성 존재
마치며
사실 암호화폐에서 사용되는 합의 알고리즘은 위에서 설명한 것이 전부가 아닙니다. PoW와 PoS방식을 동시에 이용하는 경우도 있고, Proof of Authority(권한 증명), Proof of Importance(중요도 증명), Proof of Devotion(헌신 증명) 등등 여러가지가 존재합니다. 이것들은 블록을 검증하는 사람을 선정하는 방법의 차이가 있을 뿐 블록체인 네트워크를 건강하고 지속 가능한 생태계로 만들기 위한 공통적인 목표를 가지고 있습니다.
추가로, 블록체인의 속도, 탈중앙화, 보안이 세 가지 모두를 가진 합의 알고리즘은 현재 존재하지 않습니다. PoW방식은 탈중앙화와 보안의 강력함을 가져가는 대신 빠른 거래 속도를 포기했습니다. 사실 ASICs 채굴덕분에 거대 채굴기업이 네트워크에서 많은 힘을 가지고있죠. 탈중앙화도 사실 완벽하지 않습니다. PoS방식도 마찬가지로 탈중앙화와 보안을 가져갔지만 빠른 거래 속도를 포기했습니다. DPoS 방식은 빠른 속도와 보안을 가져갔지만 완벽한 탈중앙화를 포기해야만 했죠.
보시는 바와 같이 완벽한 합의 알고리즘은 존재하지 않고 각각의 장단점을 가지고 있기 때문에, 어떤 분야에 어떤 합의 알고리즘을 사용하는 것이 적합할지에 대해 곰곰히 생각해보시는게 좋을것 같습니다. 이번 글을 통해 합의 알고리즘에 대한 궁금증이 어느정도 풀리셨으면 좋겠습니다.
[스팀분석] 스팀잇 보팅 시스템 이대로 가도 정말 괜찮은가?
[상세분석] 보팅봇(Voting Bot)을 이용하면 정확히 어떤 효과를 볼 수 있을까?
이것만 알아도 코린이 탈출! 암호화폐 한번에 정복하기! [1편]
이것만 알아도 코린이 탈출! 암호화폐 한번에 정복하기! [2편]
이것만 알아도 코린이 탈출! 암호화폐 한번에 정복하기! [3편]
이것만 알아도 코린이 탈출! 암호화폐 한번에 정복하기! [4편]
암호화폐의 큰 변동성은 사실 아무도 블록체인 기술을 쓰지 않기 때문이다.
암호화폐를 이해하는 것은 어려울 수 밖에 없다.
테더, 논란에도 불구하고 2억 5000만 USDT 추가 발행
Busy말고 eSteem Surfer를 사용해보자!!