블록체인 합의 알고리즘의 종류에 대해 궁금한 점이 있습니다
블록체인에 대한 여러가지 정보들을 접하다 보면 합의알고리즘(consensus algorithm)라는 개념이 자주 보이는데 이게 어떤것인지 궁금합니다
PoW, PoS, ,PBFT같은 용어들은 어떤 의미인가요?
안녕하세요. 합의 알고리즘에 대하여 답변드리겠습니다.
합의 알고리즘은 블록체인 네트워크에서 거래되는 데이터를 어떤 조건과 방법에 의해 이상유무를 결정할 것인지에 대한 사전규칙을 말합니다. 한예로 동네에서 술래잡기 등을 할 경우 동네마다 규칙이 조금씩 달라 다른 동네에서 놀러온 아이들과 규칙에 대한 논쟁을 벌인적이 있었는데요. 동네마다 게임의 규칙(합의 알고리즘)이 조금씩 다른 것은 그 동네(블록체인)의 특징이라 할 수 있습니다.
이처럼 PoW나 PoS는 블록체인 운용 방법에 따라 합의알고리즘을 달리하여 운영하게 되며 몇가지 합의알고리즘의 특징을 아래와 같이 설명해 드리겠습니다.
지분증명(Proof of Stake)
대표코인 : 퀀텀, 네오, 스트라티스
코인의 스테이킹 시기와 임의 추출과 노드의 상태등 복합적인 요소를 기준으로 난수에 의해 노드를 선출하여 블록을 생성할 노드를 선정하게 됩니다.
해시파워가 PoW 방식보다 많이 필요하지 않아 경제적 이점이 있습니다.
그러나 보다 많은 코인을 스테이킹하고 확보한 노드가 블록생성 우선권을 가질 수 있으므로
시스템 중앙화(장악)의 우려가 있을 수 있습니다.
위임지분증명(Delegated Proof of Stake)
대표코인 : 이오스, 스팀, 아크, 라이즈, 트론 등
특징
- 블록을 생성할 수 있는 권한을 특정 소수의 노드에게 위임는 방식이며 투표를 통해 노드를
선출하게 됩니다.
- DPoS검증은 트랜젝션의 이상유무만 확인하여 블록을 생성하기 때문에 속도가 빠릅니다.
- 그러나 소수의 노드에 의한 중앙화의 우려가 있으며, 특히 투표권에 따른 해택을 제공할 수
있으므로 큰 자본을 가진 노드가 유리할 수 있는 문제가 생길 수 있습니다.
이중위임지분증명(Dual Delegated Proof of Stake)이란?
소수의 노드간 합의하는 위임지분증명(DPoS)방식에서 별도의 알고리즘을 추가하여 실시간적으로 노드를 교체하는 방식을 말합니다.
쉽게 말해 위임지분증명 + 노드의 램덤 교체를 통해 일부 노드에 의한 담합을 방지하게 됩니다.
이중위임지분증명을 채택한 블록체인으로는 "시그마체인(Sigma Chain)"이 있습니다.
두뇌증명(PoB; Proof of Brain)이란?
스팀잇이나 아하(A-ha) 같이 지식정보 활동을 통해 질문자는 답변자의 답변을 채택 또는 해당 포스팅에 보팅하므로써 토큰을 확득하는 방식을 말합니다.
이때 블록생성자(BP)는 해당 정보를 통해 블록을 생성하게 됩니다.
스팀잇 보상채계
컨텐츠 작성자 및 큐레이터 : 75%
기득권 토큰 소유자 : 15%
스팀 블록생성자(DPoS) : 10%
포뮬레이션증명(PoF: Proof of Formulation)이란?
블록검증을 위해서는 특정 임의의 값(랜덤)과 블록체인 네트워크 기여도에 따라 기회가 주어지는 방식입니다.
따라서 블록검증에 어떤 노드가 선정되는지 예측하기가 쉽지 않으며, 별도의 옵저버 노드를 활용하여 2/3이상 합의를 거처 검증을 하기 때문에 빠른 블록을 전파할 수 있습니다.
포뮬레타증명은 제네럴(General), 하이퍼(Hyper) 종류가 있으며, 대표적인 암호화폐로는 플레타(Fleta)가 있습니다.
장점
수 많은 BP노드들에게 블록을 생성할 수 있는 기회가 주어지게 됩니다.
빠른 블록생성과 검증시간을 단축할 수 있습니다.
블록생성 역할과 동기화 작업을 이원하하여 네트워크의 부담을 줄어듭니다.
비정상적인 작동 및 서명 충돌을 방지할 수 있습니다.
소각증명(Proof of Burn)이란?
해등 블록체인의 암호화폐를 소각하여 블록을 생산할 권한을 획득을 통해 보상을 받는 방법을 말합니다.
즉, 가장 많은 소각을 통해 블록체인 시스템의 기여도를 측정하여 최종 한 곳에 블록을 생산할 우선권을 부여하는 방식을 말합니다.
그러나 암호화폐를 더 많이 소각한 곳에 블록생성 권한을 주어지는 단순한 구조이기 때문에 소각증명에 대한 효율성과 신뢰성에 의문을 갖기도 합니다.
신뢰성증명(PoB:Proof of Believability) 이란?
블록체인 네트워크에 참여도, 기여도 정도와 신뢰지수까지 측정하여 가장 신뢰가 높은 노드에 거래를 검증할 수 있는 권한을 얻는 방식을 말합니다.
신뢰도 측정 기준으로는 코인의 보유량, 해당 노드의 평가, 활동량 등이 있습니다.
신뢰증명을 기반으로하는 블록체인으로는 이오스트(IOST)가 있습니다.
흐름증명(Proof of Flow)이란?
블록체인 네트워크를 얼마나 이용한지에 따라 더 큰 보상을 주어지는 특징을 가지고 있습니다.
즉, 해당 서비스를 많이 이용하게 만든자는 해당 블록체인 네트워크의 트래픽이 상승하게 되므로 그 만큼의 네트워크 기여도에 따라 보상을 받는 특징이 있습니다.
따라서 미디어 플랫폼, 웹사이트, 광고 등을 활용한 블록체인 시스템에 적용될 수 있습니다.
저장증명 (Proof of Storage)이란?
하드디스크 저장장치를 이용해 증명자와 검증자의 역할을 나뉘어 검증하는 방식을 말하며 공간 증명이라고도 불립니다.
증명자는 하드디스크에 데이터를 저장 하면 검증자에게 소량의 데이터가 주어집니다.
이 때 검증자는 하드디스크의 데이터를 승인유무를 결정할 수 있고 이를 통해 토큰을 획득할 수 있습니다.
주로 클라우드 시스템에 적용되며 서버와 클라인언트간의 데이터 검증시 사용하게 됩니다.
저장증명을 사용하는 토큰으로는 유토큰(YOU Token)이 있습니다.
수퍼 노드 지분 증명(Super node Proof of Stake)이란?
PoS검증방식을 고안한 써니킹(Sunny King)이라는 사람이 기존 PoS시스템의 단점을 보안하여 만들었습니다.
기본적인 구조는 PoS기반과 유사하지만 슈퍼노드의 운영은 DPoS방식과 비슷합니다.
슈퍼노드는 유저에게 투표권을 위임받아 스테이킹(임대)을 하게되면 수익 만큼 임대자에게 돌려주게 됩니다.
노드의 지분율은 노드의 VSYS지분과 사용자로부터 위임받은 VSYS를 통해 수익을 계산하게 됩니다.
VSYS란?
브이시스템즈(V SYSTEMS)에서 개발한 VSYS코인을 활용한, SPoS 기반 블록체인 데이터 베이스 클라우드 플랫폼입니다.
VSYS역시 써니킹(Sunny King)이라는 사람이 고안한 시스템으로 분산 어플리케이션을 실행할 수 있는 분산 데이터베이스를 제공하게 됩니다.
지연작업증명(Delayed Proof of Work)이란?
다른 PoW검증방식의 블록체인 시스템과 함께 사용하여 검증하는 방식으로 지분증명의 효율성과 작업증명의 보안성을 이용한 검증방식입니다.
또한 지연작업방식의 검증을 위해서는 두가지의 알고리즘을 지원하는 노드가 필요하며 이를 공증노드라 합니다.
지연작업증명 방식을 채택한 블록체인으로는 코모도(Komodo)가 있습니다.
중요도증명(Proof Of Importance)이란?
블록체인 네트워크에서 거래 실적이 많을 수록 더 많은 보상을 해주는 방식을 말합니다.
PoS방식과 비슷하게 블록체인 시스템내의 기여도에 따라 보상하는 방식으로 특정한 암호화폐를 보유한 후 거래량 기준으로 측정하게 되며, 이를 통해 더 많은 코인을 획득하게 됩니다.
측정조건 : 암호화폐 지분, 거래횟수, 거래한 양
특징으로는 단순히 자산을 보유한 자(홀도)에게는 해택이 주어지지 않습니다. 따라서 일반사람들도 활발하게 거래를 한다면 해택이 주어지는 시스템입니다.
증요도 증명(POI)를 사용하는 암호화폐로는 넴(NEM)이 있습니다.
이 외에도 다양한 검증방식이 있습니다.
감사합니다.
합의 알고리즘의 정의와 필요성
합의 알고리즘(Consensus Algorithm)이란 일반적으로 다수의 참여자가 통일된 의사결정을 하기 위해 사용하는 알고리즘을 의미합니다.
블록체인에서 합의 알고리즘은 네트워크의 핵심적인 요소로 분산화된 시스템의 무결성과 보안을 유지하는 역할을 합니다. 블록체인 네트워크에서는 모든 참여자가 데이터를 분산하여 저장하고, 탈중앙화되어 있어서 통일된 의사결정을 내릴 존재가 없습니다. 이런 환경에서는 노드 간에 신뢰 관계가 부족하므로 시스템의 무결성을 보장하는 알고리즘이 필요합니다. 따라서 블록체인에서 합의 알고리즘은 네트워크의 핵심적인 요소로 모든 노드가 같은 데이터 값을 가짐으로써 신뢰성을 유지하는 역할을 합니다.
합의 알고리즘의 종류
현재 블록체인 네트워크에서 사용되고 있는 합의 알고리즘의 종류는 여러 가지이지만 오늘은 대표적인 두 가지 작업증명과 지분증명에 대해 알아보겠습니다.
작업증명 (PoW, Proof of Work)
작업증명은 말 그대로 블록체인의 노드들이 작업한 내용을 증명하는 것인데요. 우리가 흔히 채굴을 한다고 표현하는 암호화폐들이 채택하고 있는 방식입니다. 컴퓨터 리소스를 활용해 수많은 계산이 필요한 수학 문제의 답을 찾아가는 과정입니다. 답을 찾아가는 참여자들 즉, 채굴을 하는 사람들을 채굴자라고 하는데요. 답을 가장 빠르게 찾은 채굴자에게 블록을 생성할 수 있는 권한을 부여하고 보상으로 코인을 제공하는 것입니다.
대표적으로 비트코인, 이더리움 등의 암호화폐가 채택하고 있는 방식입니다. 비트코인의 경우 한 블록이 생성되는데, 즉 한 문제를 푸는데 10분 정도 걸리도록 난이도 조절이 되어 있고 각 블록에 저장된 거래 내용을 변경하기 위해서는 빠르고 많은 컴퓨팅 자원이 필요하기 때문에 사실상 위변조가 어렵습니다. 반대로 그만큼 전기나 컴퓨터의 리소스가 많이 필요하기 때문에 에너지 낭비가 발생할 수 있습니다. 또 많은 양의 데이터를 처리하는 데 오랜 시간이 걸린다는 단점이 있습니다.
지분증명 (PoS, Proof of Stake)
지분증명은 작업증명 방식의 단점들을 보완하기 위해 등장했는데요. 의사결정 권한을 코인 보유량에 비례해 지급하는 방식입니다. 코인을 많이 보유하고 있는 노드일수록 블록 생성에 참여할 기회가 더 많아지게 됩니다. 즉 해당 암호화폐를 보유하고 있는 지분이 높을수록 블록 생성 권한을 부여받을 가능성이 커지게 됩니다. 상장회사의 주주총회에서 지분율에 따라 의사결정 하는 방식과 유사한 형태입니다. 이러한 시스템 방식은 무작위로 추출함으로써 블록 생성 권한이 중앙 집중화되는 것을 막아줍니다. 또 작업증명 방식과 같은 리소스가 필요하지 않기 때문에 비용이 효율적입니다. 물론 지분증명도 처리 속도에 대한 한계를 가지고 있어 위임 지분증명(DPoS, Delegated Proof of Stake) 등의 알고리즘이 개발되었습니다.
두 가지 합의 알고리즘 외에도 작업증명에서 파생된 균형작업증명, 지연작업증명 등이 있고 지분증명에서 파생된 우로보로스 지분증명, 이중위임지분증명 등이 있습니다. 또 트레이딩증명, 소각증명, 두뇌증명 등 단점을 보완하고 기능을 개선하기 위한 다양한 알고리즘이 제안 개발되고 있는데요. 블록체인 기술이 보편적인 기술로 상용화되기에는 해결해야 될 문제점들이 있지만, 다양한 알고리즘을 통해 발전도 동시에 이뤄내고 있습니다. 블록체인 기술을 도입하거나 참여자가 될 경우 이러한 합의 알고리즘의 특징을 이해하고 특성에 맞게 활용해야 합니다.