블록체인의다양한합의알고리즘에대해알고싶어요
안녕하세요 합의알고리즘문의입니다
최근들어합의알고리즘이복잡해지면서 다양한로직이나오고있는데요 예전의 비트코인 합의알고리즘이후로 어떠한변화를거쳐서 발전하게되었는지 알수있을까요
안녕하세요. 합의 알고리즘에 대해 문의주셨네요.
다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘으로 대표적으로 POW, POS, DPOS 이 있다.
POW
‘Proof of Work’의 약자로, 작업증명방식의 합의프로토콜이다. 가장 대표적인 합의 프로토콜로, 가장 많은 Hash Power(그래픽카드 전력 등의 Computing Power)을 제공한 노드가 블록생성에 성공하는 알고리즘이다. 대표적으로 Bitcoin, Bitcoin Cash등이 이에 해당한다. 높은 전력소모 문제, 하드웨어 자원 낭비 등의 문제점이 있다.
POS
“Proof of Stake"의 약자로, 지분증명방식의 합의프로토콜이다. 위 POW(작업증명방식)의 높은 전력소비, 컴퓨터자원낭비 등의 문제점을 해결하고자 탄생한 프로토콜이다. 보유 암호화폐의 양(지분)에 따라서 블록생성에 성공하는 알고리즘 방식이다. (주식회사의 지분&의결권과의 관계와 유사). 대표적으로 Tezos, Neo, Ethereum(최근 업데이트) 등이 이에 해당한다. 최신 트랜드임. *POW방식에 비해 다소 낮은 보안성을 띈다는 단점이 있다. (Why? Cuz, POW방식은 Computing Power를 소모하여 물리적인 HASH 암호화과정을 거치는데 반해, POS방식은 단순히 지분을 증명하는 방식으로 진행됨)
DPOS
“Delegated Proof of Stake”의 약자로, 위임지분증명방식의 합의프로토콜이다. 위 POS방식에서 Mining 및 Transaction(거래) 처리속도 향상을 위해 대표자를 선출하여 선출된 상위 노드가 블록을 생성하는 방식이다. (국회의원 선출과 유사개념) 이를 통해 위 POW, POS방식 보다 빠른 처리속도와 낮은 비용소모 등의 장점을 가진다 (Cuz, 모든 Node<각 개인>가 참여하는 방식이 아니므로, 소수의 대표자만이 이에 참여하므로). 하지만 소수의 노드만이 블록생성(Mining)에 참여함으로써 기존의 중앙집중화 방식과 크게 다를 것 없이, 공격위험이 존재하며 독단의 위험이 여전히 존재한다. 대표적으로 ‘Steem’이 이에 해당한다. ++ ‘Algoland’에서는 이를 개선해 소수의 대표자를 무작위로 바꿔가면서 진행되는 ‘일회성 배심원’선출 방식을 적용하기도 했다.
PBFT
“Practical Byzantine Fault Tolelance”의 약자로, 실용적비잔틴장애허용방식의 합의프로토콜이다(통상 비잔틴장군의문제 라고 부른다.) 본래 블록체인이 나오기 전부터 이미 분산컴퓨팅 기술은 존재했고 이러한 분산컴퓨팅 환경에서 사용하던 합의 알고리즘 개념으로 1999년 제안된 개념이다. 위 POW, POS, DPOS방식에서는 50%이상의 합의가 이루어져야만 Mining(채굴)&블록생성이 이루어지는 방식이나, PBFT에서는 1/3이상의 반대가 없다면, 즉 2/3가 동의한다면 합의가 이루어진다는 점에서 차이점을 보인다. 즉 이를 통해 DPOS 방식과 같이 “TPS 처리속도” 면에서 강점을 보인다. 비쟌틴장군의 문제는 과거 비쟌틴 제국때로 가보겠습니다. 예를들어 A라는 대형제국을 공격하려는 B, C, D 소국이 있다고 가정한다. A제국을 공격하는 B, C, D소국은 서로 협의를 거쳐 같은 날짜 같은 시간에 공격을 감행하고자 합니다. 하지만, 이 과정에서 배신자가 발생하게 됩니다. 기존에 일정 날짜, 일정 시간에 공격을 감행하기로 했지만, 한명의 배신자로 인해 계획이 수포로 돌아가버리게되는 상황입니다. 앞 내용을 요약하면 Total Node = 3f + 1 의 공식으로 흔히 표현되며 f는 배신자, 1은 나자신을 의미한다. 총 4명의 Node가 있다고 가정하면, 그중 1명은 배신자라고 가정합니다. 그래서 나를 제외한 세명의 노드중 2/3이 동의한다면 1명의 배신자의 의견은 자연스럽게 묵살되고 해당 합의과정이 성공적으로 이루어지는 방식입니다.
감사합니다.
최초의 암호화폐인 비트코인이 탄생하면서 신뢰에 대한 검증을 위해 만들어질 방식이 PoW라고 불리우는 작업증명방식입니다. 이 후 전체 물량의 전반 이상 즉 51%를 한 사람이 차지하면서 무단으로 장부를 조작하는 51% 공격이 발생한 이후 나온 방식을 PoS 라고 불리우는 지분 증명방식입니다.
작업증명방식으로 불리는 PoW 방식은 암호화폐(가상화폐)의 시초인 비트코인(Bitcoin)의 채굴 방식으로 가장 먼저 등장했습니다.
마이닝(Mining)에 쓰이는 채굴기의 가장 대표적인 형식으로, 강력한 스펙의 채굴기의 연산능력과 많은 전기 사용량이 특징입니다.
PoW를 초기에는 컴퓨터(CPU)와 그래픽 카드(GPU)를 통해서 채굴했습니다. 하지만 보다 효율적인 채굴을 위해서 ASIC이라는 연산 채굴기가 등장하게 되었고, 집단적인 풀(Pool)을 구성해서 채굴을 하게 되었습니다. 채굴자들이 같은 문제를 해결하여 이 문제를 해결하는 행위자가 블록을 생성하는데, 이는 채굴장비의 연산능력에 따라서 보상이 결정됩니다.이와 달리 PoS는 지분증명방식이라고 불립니다. 코인에 대한 지분을 측정하는 방식인데, 소지한 개수에 따라 분배를 받게 됩니다. 은행 이자와 같은 방식이라고 생각하면 좋습니다. 여기서 이오스와 같이 증명을 할 수 있는 소수의 사람을 선출하여 처리를 속도를 높은 이오스와 같이 DPoS 방식 등이 변형되어 진행되었습니다.
최근 이더리움 클래식이 2차레에 걸쳐 51% 공격을 당했다는 뉴스를 보셨을 것입니다. 51%공격이란 한 채굴자가 전체 해시파워의 과반수(51%) 이상을 독점해 무단으로 블록체인의 장부내용을 조작하는 공격 방법입니다. 여기서 해시 파워란 일종의 연산 능력으로, ‘장부를 수정할 수 있는 능력’ 정도로 쉽게 풀어서 해석할 수 있습니다. 만약 특정 채굴자가 해시파워의 과반 이상을 독점하게 되면 이들이 멋대로 장부를 수정하더라도 블록체인 시스템 상에서 이를 ‘진짜 장부’로 인식해 문제가 발생하는 것입니다.