[BS] 블록체인의 합의 알고리즘 (POW,POET,EPOW,POUW…

암호화폐 거래소 할인링크 최신링크 기재해두었습니다.

기존링크는 할인적용이 안될수있으니 아래링크로 가입해주세요!

제휴거래소  할인율 할인코드(직접입력 app가입) 가입링크 바로가기
바이낸스 20% 할인 J24I6ZG2 바로가기링크
바이비트 20% 할인 18499 바로가기링크
오케이엑스 20% 할인 9623672970 바로가기링크
MEXC 10% 할인 mexc-bitcoinxxo 바로가기링크
비트겟 50% 할인 nyeo 바로가기링크
FTX  5% 평생할인 바로가기링크

[BS] 블록체인의 합의 알고리즘 (POW,POET,EPOW,POUW…

1-3. 경과시간증명 poet

1-4. 유용작업증명 pouw

1-5. 프로그작업증명 porgpow

2. POS – 지분증명계열

2-1. pos

2-2 유동지분증명 lpos

2-3. 위임지분증명 dpos

2-4. 지분작업증명 posw

2-5. 우로보로스 작업증명 opos

2-6. 캐스퍼 casper

3-1. 권위증명 poa

흔히들 POW로 대표되는 블록체인의 합의 알고리즘은 사실 POW나 POS만 있는 것이 아닙니다. 당장 업비트나 빗썸과 같은 대형 가상화폐 거래소만 들어가도 거래중인 가상화폐는 3자리 수가 넘어가죠.

모든 코인들이 전부 각자 다른 기능을 보유했다고는… 솔직히 말을 하진 못하겠지만 (아무래도 무늬만 있는 유사 가상화폐들도 있고 ERC-20과 같은 토큰들도 메인넷이 없습니다.) 제대로 구현된 블록체인 메인넷만 해도 100은 넘어갈 것입니다.

그리고 그 중에선 당연하지만 POW의 단점을 개선하고자 한 블록체인들도 있습니다.

블록체인 POW의 구성 :

https://blog.naver.com/smbo112/222106749837

블록체인 POW가 필요한 이유 :

https://blog.naver.com/smbo112/222118563559

POW는 아무래도 블록체인이라는 기술의 시초이기도 하고 다양한 장점들이 있지만, 결정적으로 지나친 전력 소모, 채굴자의 중앙화 등으로 사회적인 문제는 물론이고 블록체인 자체에 대한 약점까지 보유하고 있습니다.

비트코인을 뛰어넘을 새로운 가상화폐를 만들고자해도, 블록체인이라는 기술 자체에 집중하려고 해도 POW에 대한 대안은 필요했습니다. 반드시라고는 아니더라도 적어도 개발자들은 자신이 만든 가상화폐가 비트코인보다 더욱 좋다고 말하기 위한 차별점이 있어야 했죠.

1. POW 계열 (작업증명)

POW는 블록체인에 대해 그나마 가장 많이 알려진 합의 알고리즘이기도 하며, 동시에 블록체인에 대해 가장 많은 왜곡된 정보가 알려진 기술입니다.

기본적으로 컴퓨터의 막대한 연산을 바탕으로 블록을 형성하며, 이 때문에 채굴자들은 많은 컴퓨팅 연산력을 동원할 수록 보편적으로 더욱 많은 이점을 습득하게 됩니다.

1-1. 작업증명방식 – POW

가장 기본적인 합의 알고리즘입니다. 블록을 채굴할 때 이전 블록의 정보와 블록안에 집어넣을 트랜잭션, 마지막으로 랜덤변수 논스를 합쳐 SHA 해시함수로 해시화합니다. 도출된 해시값을 타켓, 즉 목표값과 비교하여 조건에 부합하는 경우 블록을 형성하는데 성공하는 방식이기 때문에 보편적으로 채굴자들은 논스값을 계속해서 변경하면서 해시화를 시도하게 됩니다.

비트코인, (구)이더리움, 라이트코인, 비트코인캐시, 대시, 모네로 등등 대다수가 여기에 해당합니다.

1-2. 균형작업증명 – ePOW

출처 : HDAC 백서 (white page)

기본적인 알고리즘 자체는 POW와 동일하지만, 채굴에 성공한 노드를 일정 기한이나 일정 블록 수 만큼 채굴을 강제작으로 휴식시키게 하는 알고리즘이 포함됩니다.

HDAC (에이치닥) 에서 최초 개발된 알고리즘으로 block window 개념을 통해 적용 기간동안은 동일한 노드가 새로운 블록을 채굴할 수 없도록 만듭니다.

POW자체가 트랜젝션들을 모아서 블록화하는 방식을 사용하는 만큼, 채굴 전에 미리 연산을 동원해 놓는 편법도 사용하기 어렵습니다.

POW의 채굴력 과집중화 현상과 컴퓨팅 파워 과열 경쟁을 막는데 어느정도 효과를 볼 수 있지만, POW 난이도 조절 알고리즘을 조정하는 데 있어서 아무래도 어려움이 있습니다.

1-3. 경과시간증명 – POET

리눅스 기반 블록체인 오픈소스 프로젝트 플랫폼 하이퍼레저에서 Sawtooth Lake에 의해 제시된 기술입니다.

초기 모델은 인텔 SGX 라는 신뢰 가능한 환경을 구현하고 이를 기반으로 블록생성 리더를 선정하는 방식으로 인텔 SGX에서 무작위 변수에 따라 대기하게 됩니다. 이 때 대기가 가장 먼저 끝나는 대상이 일종의 “리더”로 선정되어서 블록을 생성할 자격을 받게 됩니다.

경과(지연)시간 증명 방식은 검증속도와 블록생성 속도가 빠르다는 장점이 있지만, 인텔의 SGX가 CVE-2019-11157, CVE-2020-11335 등의 보안상 문제가 발견되면서 특정 업체의 기술에 의존하는 단점이 명확하게 들어났죠.

해당 증명방식의 가장 큰 숙제는 인텔에서 제공하는 SGX같은 것이 아니라 이론적, 실제적인 완벽한 신뢰실행환경을 만들어 내는 것입니다.

1-4. 유용한 작업 증명 – PoUW

유용 작업 증명은 POW의 고질적인 사회적인 문제인 에너지와 컴퓨팅 파워의 낭비를 해결가고자 만들어진 기술입니다.

유용작업증명은 POW로 낭비되는 연산력과 컴퓨팅파워를 대신에 연구·개발, 기타 컴퓨팅파워가 필요한 수요에 대해 시물레이팅, 컴파일, 연산력, 저장공간 할당등등으로 돌려서 사용하도록 합니다. 해당 컴퓨팅 파워를 사용하고자 하는 기관이나 기업은 코인을 지불하고 일종의 의뢰를 하며, 컴퓨팅 파워를 제공하는 제공자들은 제공하는 정도에 따라 코인을 클라우드 펀딩 형식으로 분배받게 됩니다.

계약이 이루어지면 제공하는 컴퓨팅파워만큼 하드웨어 부분에서 할당이 이루어지고 해당 부분에 대해 개발자와 의뢰인은 높은 컨트롤 권한을 습득하게 됩니다. 이 권한은 제공자의 핵심 데이터 접근을 차단하고 기밀유지나 무결성을 위한 알고리즘 확립에 사용됩니다.

앵커코인 (ANKR)이 자체 개발한 기술로 경과시간증명(POET)와 마찬가지로 인텔의 SGX의 보안 완벽성을 중점으로 작동합니다. 마찬가지로 POET와 동일한 한계점과 문제를 공유하고 있죠. 특히나 실질적으로 중요한 데이터를 다루기 때문에 이 문제는 경과시간증명 작업보다도 더욱 중요한 요소라고 할 수 있습니다.

1-5. 프로그 작업증명 – ProgPOW

프로그작업증명은 POW의 GPU기반 ASIC방어 알고리즘입니다.

IfDefElse 팀에 의해 최초 개발된 이 알고리즘은 ASICBoost라고 하는 주문 반도체를 이용한 POW 전문 채굴 기술을 방어하기 위한 방법입니다.

ASICBoost는 기본적으로 대형 채굴 업체에서 사용하거나 자본금이 많은 기업 수준의 채굴풀에서나 제작할 만한 기술이기 때문에 탈중앙화를 위해 만든 POW가 더욱 중앙화되는 문제를 만들어냅니다.

안티 ASIC에 대한 논쟁과 기술적인 요소 : https://blog.naver.com/smbo112/222188485299

이를 해결하기 위해 ProgPOW는 주기적인 알고리즘 변경을 통해 ASIC 반도체에 대한 저항력을 보유하는 방법을 사용합니다. CPU기반의 ASIC반도체와는 달리 GPU를 사용하도록 하기에 ASICBoost를 사용하기에 어려움이 따라오죠.

프로그 작업증명은 보편적으로 새로운 블록체인에 대한 합의 알고리즘으로 적용되기 보다는 POW를 체택한 가상화폐들 중에서 ASICBoost에 반대하는 코인들이 일반 POW에서 ProgPOW로 업데이트 되는 방식으로 적용되는 경우가 많습니다.

2. POS 계열 (지분증명)

POS는 POW와 더불어서 유이하게 블록체인상 유의미한 무결성을 보증할 수 있는 증명방식으로 평가받습니다. POW와는 달리 POS는 알고지름 자체가 종류에 따라 판이하게 다른 방식들이 존재합니다. 무슨 뜻이냐면 POW는 ePOW이든 POET든 PorgPOW든 기본적으로 컴퓨팅 파워를 통해 블록의 해시화 작업으로 채굴하고 무결성을 확보하는 기술이지만, POS는 증명을 위한 투표방식을 총칭하기 때문에 그 종류에 따라 알고리즘이 다릅니다. 인터넷상에서 존재하는 다양한 POS에 대한 설명이 세부적인 내용에서부터 다른 이유도 이 때문이죠.

2-1. 지분증명방식 – POS

지분증명방식 (Proof of Staking)은 가지고 있는 지분에 따라 블록에 대한 권한을 부여하는 방식입니다. 당연하지만 이 “지분”이라는 것은 해당 블록체인의 코인을 의미하며, 기본적으로 POW에 비해 블록 헤더의 해시화라는 연산작업 없이 생성된 블록의 검증절차만 있기 때문에 채굴을 하지 않습니다. 코인에 대한 인식으로 보편적으로 갖고 있는 수많은 컴퓨터를 세워놓고 돌리는 채굴공장도 존재하지 않습니다.

대신 POS는 블록의 형성에 참여하는 노드들은 각각의 블록체인에서 요구하는 조건을 만족하고 검증에 참여하는 대가로 POW와 마찬가지인 블록 형성 보상과 수수료 일부를 받게 됩니다.

다만 해킹의 동기를 제거하기 위한 목적으로 “조건”중에는 보편적으로 더욱 많은 코인을 스테이킹 한 사람이 더욱 많은 이익을 얻는 구조이기 때문에 부익부 빈익빈이라는 새로운 중앙화의 문제가 발생하게 됩니다.

조건은 각각의 블록체인마다 판이하게 다르지만, 보편적으로

1. 노드는 온라인 상태일 것

2. 노드는 블록 검증에 대한 최소한의 컴퓨팅파워를 보유할 것

3. 노드는 해당 가상화폐, 혹은 파생 가상화폐를 일정 수량 이상 보유하고 이를 스테이킹 상태로 해 놓을 것

의 조건들을 만족해야 합니다.

2-2. 유동지분증명 – LPOS

유동지분증명방식 (Liquid Proof of Staking)은 랜덤으로 증명할 인원을 선출하는 의사결정방법입니다. 유동지분증명 과정은 크게 2단계로 구분할 수 있습니다.

1. 블록체인에서 요구하는 조건을 만족한 인원들 (베이커(baker))중 랜덤으로 생성자를 채택합니다. 베이커의 숫자나 선택 기준 (예를 들어 가중치)또한 블록체인마다 다릅니다. 보편적으로 스테이킹한 코인의 수량이 많을수록 채택될 확률이 올라갑니다.

블록을 생성하기 위한 생성자가 모종의 사유로 제한시간 안에 broadcast를 하지 못할 경우 roll에 따라서 차기 순위자가 권한을 받게 됩니다.

2. 생성된 블록을 베이커들이 검증합니다. fork가 발생할 경우 더 많은 베이커의 선택을 받은 블록이 표준 블록으로 선정됩니다.

검증을 위해서 베이커는 일정 수량의 가상화폐를 보증금 형식으로 스테이킹합니다. 만약 선택한 블록이 표준블록이 되지 않는다면 보증금은 몰수, 혹은 패널티를 받게 됩니다.

대표적으로 테조스 코인이 해당 증명방식을 사용하고 있습니다.

2-3. 위임지분증명 – DPOS

위임지분증명 (Delegated Proof of Stake)는 각각의 검증자들이 자신의 대표를 선정하고, 이 대표들이 블록을 형성하는 방식입니다. 정치로 따지자면 일종의 의회구성이라고 할 수 있겠네요. 이오스, 비트셰어등을 창시한 다니엘 라리머 (댄 라리머)가 2014년에 개발한 방식입니다.

DPOS는 토큰민주주의라고도 불리는데 블록체인 가상화폐의 고질적인 한계점인 속도의 문제를 해결하기 위한 보다 빠른 블록형성 개선방안으로 등장한 방식입니다. POW의 문제점을 개선하고자 POS가 탄생했으나, POS또한 마찬가지로 실생활에 반영될 수준으로 속도가 빠른것은 아니었으므로 보다 간략하고 간단한 거버먼트가 있어야 했습니다. 그 결과, 블록체인상에 몇 십~몇 백 수준의 노드들만 간단하게 거버먼트 구조를 갖고, 대신 이 대표들을 블록 노드들이 투표를 통해 선정하도록 만들어졌습니다.

대표를 선정하는 “투표”과정을 거친후, 대표들이 매번 블록의 형성에서 합의를 하게 됩니다. 투표에 참여한 일반 노드들은 블록 형성에 지분에 맞춰 보상을 얻게 되며, 대표는 검증을 할 수 있는 인프라를 구축할 의무와 대표 인센티브를 갖게 됩니다.

블록체인에 따라 다르지만 대표는 기한제에서 반영구직으로 구분되며, 중간에도 POS합의 노드들에 의해 퇴출되거나 블록체인 자체 규칙에 의거하여 패널티를 받을 수 있습니다.

이오스, 스팀, 리스크, 아크, 루나 등등 수많은 코인들이 채택하고 있는 방식입니다. 테조스와 해깔리는 분들도 있는데 테조스 코인은 유동지분증명 과정에서 자신의 권한을 위임할 수 있어서 혼동하시는 분들도 있습니다.

2-4. 지분작업증명 (활동증명) – POSW / POA

지분작업증명은 POS와 POW가 혼합된 형식입니다. 활동증명(Proof of Activity – POA) 이라고도 합니다.

블록마다 세부적인 내용이 상당히 달라질 수도 있는 합의 알고리즘으로 보편적으로는 POW로 블록을 채굴하고 POS로 검증하는 방식을 이용합니다.

POW의 기본적인 마이닝 난이도를 낮춰서 빠른 트랜잭션 처리 능력을 확보하고, 이 때문에 발생하는 51% 공격 취약점을 POS 합의 과정으로 해결하는 방식입니다. 일부 블록체인에선 POW를 위한 해시파워에 비례해서 스테이킹을 하도록 강제하기도 하며, 하드포크와 같은 중대한 문제의 경우 노드들의 포크해결 문제를 해시 파워가 아닌 POS에 위임하도록 합니다.

디크레드, 쿼크체인, 대시등이 사용하는 방식입니다.

2-5. 우로보로스 지분증명 – OPOS

자신의 꼬리를 문 뱀 – uroboros

우로보로스 지분증명은 일병 그라인딩 공격이라고 불리는 POS의 해킹 취약점을 방어하기 위해 만들어진 POS 발전형 버전입니다.

POS를 채택한 일부 블록체인에서 조건을 만족한 노드들 중 차기 블록을 생성할 검증자를 선택하는 과정에서 블록체인의 헤더와 트랜젝션등의 특정 정보들을 사용하는데 이 때문에 최신 블록 갱신자는 해당 내용을 미리 예측할 수 있게 됩니다.

따라서 블록 생성자는 이를 통해 차기 블록 생성자를 예측할 수 있게 되고, 고의적으로 트랜젝션들을 누락시키는 방법을 이용하여 특정 노드가 선정되도록 유도할 수 있습니다.

우로보로스 지분증명은 이 그라인딩 어택을 막기 위한 추가적인 변수를 생성하기 위해 랜덤성을 타 노드가 추가시키는 방법을 사용합니다.

기본적으로 우로보로스 지분증명은 합의자 51% 이상이 해당 블록에 대한 선의를 가진다는 가정을 지니며, 조건을 만족한 노드들에게 랜덤변수 생성 의무를 제공합니다. 랜덤변수를 선정하고, 이를 취합하면 최종적인 랜덤 변수가 형성되며, 차기 블록 생성자는 이를 이용해서 블록을 생성하게 됩니다.

2-6. 캐스퍼 – Casper

캐스퍼 증명은 이더리움의 POS 전환의 중간이자 최종 목적지입니다.

POS의 과정에서 수많은 취약점인 Nothing at Staking, Grinding attack, Short Range attack 등을 막고, 동시에 스마트 컨트랙트와 가상화폐로서의 사용을 위한 보안성, 속도를 확보하기 위해선 기존의 POS기술로는 부족했다고 판단한 이더리움은 보다 발전된 기술력이 필요하다 여기고 새로운 알고리즘을 제작하게 됩니다.

캐스퍼는 크게 이더리움의 창시자인 비탈릭 부테린이 제작한 FFG와 이더리움 핵심 개발자 블라드 잠피르에 의해 제작된 CBC로 구분됩니다.

캐스퍼 알고리즘은 기본적으로 POW를 통해 채굴을 진행하고, 이를 POS를 통해 블록을 “확정”하는 방식으로 진행됩니다. 일명 완결성을 확보하기 위한 방식으로 POS를 통해 각 체크포인트에 대해 fork가 불가능하도록 설계합니다.

3-1. 권위증명 – POA

POSW의 다른 말인 POA와 이니셜이 겹처서 혼동하시는 분들이 종종 있습니다. 권위증명은 POS와는 달리 스테이킹한 코인을 이용하는것이 아닌, 노드의 신뢰성을 바탕으로 합의를 시도하게 됩니다. 증명 조건을 만족하는 노드들은 자신의 평판이나 권위를 블록체인의 알고리즘상에서 점수로 환산받고, 이에 따른 가중치로 투표를 통해 거버먼트 구조를 갖게 됩니다.

POS보다도 간단한 합의 알고리즘 형식을 갖기 때문에 무엇보다도 빠른 속도를 장점으로 가지지만 아무래도 블록체인이라고 불리기에는 그 발전성이나 지향성과는 많이 다른 방향으로 치우친 합의 알고리즘이기 때문에 신뢰성 측면에서 단점으로 지적받고 있습니다.

#블록체인 #비트코인 #합의알고리즘 #pow #pos

Leave a Comment