PoW, PoS, BfT 합의 알고리즘

벨루가 ·2022년 10월 3일
1

블록체인

목록 보기
2/5

다양한 합의 알고리즘이 있다. 그 중 pow,pos,bft의 정의와 장단점, 차이
를 분석하고자 한다.

Pow ( 작업 증명 )

채굴을 통해서 블록체인을 생성할 때 대가를 얻는다. 그때 누구를 인정할 지에 대해 작업 증명 합의 알고리즘이 이용된다.

채굴 : 어려운 문제를 풀고, 가장 빨리 푼 사람에게 그 대가로 코인을 얻는 행위.
채굴자들은 자신의 컴퓨터의 연산력(해시파워) 를 제공하여 블록을 검증하고 체인에 연결함.


종류 : 비트코인 , 이더리움 등등

충돌이 일어나면 ?

더 많은 작업증명이 이루어졌기 때문에 더 긴 체인을 선택하게 되고 나머지는 고아 블록이 된다.

작업증명에서 충돌이 발생했을 때 위의 해결 방법만 있는 것은 아니다.
이더리움에서는 고아 블록을 버리지 않고 엉클 블록으로 명명하고, 메인 체인에 이들을 포함시키는 GHOST 계열의 알고리즘을 사용하여 충돌 문제를 해결했다.

📖GHOST 계열의 알고리즘

가장 긴 체인을 선택하는 것이 아니라 가장 무거운 체인을 채택.
단순히 얼마나 많은 자식 블록들이 이어져 있는지 뿐만 아니라 얼마나 많은 엉클 블록(고아 블록)들을 가지고 있는지를 모두 고려하여 결정되는 메커니즘

악의적 공격

만약 엄청난 연산 능력을 가진 악의적인 노드가 있다면 거래 내역을 변경 및 삭제가 가능하지만 현실적으로 51% 이상의 연산 능력을 보유하는 것은 불가능에 가까울 뿐더러 가능하다고 해도 경제적으로 그렇게 할 이유가 없다.

장단점

장점 : 보안성
단점 : 높은 에너지 소비

Pos (지분 증명)

지분 증명이란 ? 해당 디지털자산의 지분을 더 많이 가질수록 그에 비례하여 블록에 기록할 권한이 더 많이 부여되는 증명방식

예를 들어 이더리움2.0에서 노드(검증자)가 되기 위해서는 이더리움 네트워크에 자신이 보유한 이더(Ether)를 예치해야 한다. 이렇게 이더리움을 예치하고 거래가 정당한지 검증할 컴퓨팅 파워까지 제공하면 노드의 역할을 할 수 있고 그 보상으로 디지털자산을 받을 수 있음!

보상

  • 검증인 : 예치 , 합의에 참여 . 더 많은 수량을 스테이킹(예치) 하면 블록을 생성할 가능성이 더 높아짐.
    네트워크 수수료를 받음
  • 검증인 외 : 홀딩에 대한 보상, 참여/위임에 대한 보상

장단점

poS 예시

  1. 위임지분증명(DPoS)는 투표를 통해 대표를 선출하고, 선출된 대표자들에게 권한을 위임하는 것입니다. 여기서 말하는 대표자는 검증자(validator)를 의미합니다.
  1. 큐텀(QTUM), 피어코인(Peercoin) 등의 암호화폐가 지분증명 방식을 사용하고 있다. 스트라티스(Stratis)는 처음에 작업증명 방식을 사용했으나 지분증명 방식으로 변경했다. 이더리움도 이더리움 2.0부터 작업증명 방식을 벗어나 지분증명 방식을 채택할 예정이다.

    peer coin : 처음 지분증명 방식이 제안되었을 때 초반에 지분을 많이 확보해 두면 블록 생성 권한을 지속적으로 갖게 되는 ‘불평등’의 문제가 제기. 이에 보완책으로 내놓은 것이 보유한 코인의 ‘양’과 ‘보유 일수’를 반영하는 것.
    예시로 A가 10개의 코인을 10일 동안 보유했다면 100의 가치를 갖게 하는 것. (만약 해당 코인을 사용한다면 100의 가치가 소모되고 처음부터 다시 시작) 이 경우에 보유 코인이 적어도 보유 일수가 길면 블록을 생성할 수 있는 확률이 높아지기 때문에 보다 균등하게 기회가 주어진다.

Qtum : 큐텀은 비트코인과 이더리움의 장점을 결합한 하이브리드 분산형 블록체인 플랫폼이다. 큐텀은 비트코인의 최대 약점인 느린 처리 속도를 보완하여 빠른 전송 속도를 보장하고, 이더리움의 스마트 계약 기능까지 추가하여 다양한 디앱(DApp) 적용이 가능한 플랫폼이다. 큐텀은 지분증명(PoS) 합의 알고리즘을 사용하며, 스마트 계약 가치 전송 프로토콜에 기반해 있으며, 세계 최초로 암호화폐 인공위성을 발사하여 큰 관심을 받기도 했다.

BfT (Byzantine Fault Tolerance)

비잔틴 장군 문제 허용 ? 일부 노드가 고장나거나 악의적인 행동을 해도 허용한다

  • 정해진 순번이 있고,정해진 확률에 따라 다음 블록이 생성된다

  • 작은 그룹에서는 빠르다(작은 네트워크에서는 효율적임)지만 큰 그룹에서는 느리다.

  • 네트워크가 동기화되어있기 때문에 구성원 누가 추가됐다는 소식이 있으면
    다 서로 인사하고 서로 다 안다고 판단되면 다시 시작하는 방식 .
    -> 따라서 합의를 이루기 위해서 통신량이 엄청 많이 쓰임

예시

장단점

단점 :

합의 알고리즘 비교 분석

표 출처 : https://youtu.be/lDiFyJ826GE

그 밖에) 이 글들이 정리가 잘되어 있었습니다.
https://steemit.com/kr/@kblock/44-1-pow-pos
https://velog.io/@rorohyun132/%ED%95%A9%EC%9D%98-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-POS

0개의 댓글