[TOC]
작업 증명(PoW, Proof of Work)는 유효한 블록을 만드는 데 충분한 계산 자원을 소모했다는 증명이다. 이 때, 메인체인을 선택하는데 가장 긴 체인을 채택하는 알고리즘인 고스트 프로토콜(Ghost Protocol)을 사용하여 블록이 결정된다.
고스트 프로토콜(Ghost Protocol): 어느 체인이 가장 긴 것인지 계산할 때 고아블록도 포함함으로써 네트워크 보안 손실 문제를 해결한다.
특징
- 어떤 트랜잭션이 발생했을 경우, 해당 트랜잭션이 유효한 트랜잭션인지 에 대해 합의하여 해결한다.
- 새로운 블록의 진위여부에 대한 검증을 수행한다.
논스를 찾는 방법
비트코인에서 작업증명은 반복적인 과정을 통해 무작위로 **특정한 조건보다 낮은 값(Nonce)**을 찾아내면 그에 대한 대가로 비트코인을 지급한다.
- 무작위로 논스값을 찾아내기 위해 비트코인에서는 SHA-256 방식을 이용하며, 이 과정에서 컴퓨터의 계산 능력이 필요하다.
- 서로 다른 컴퓨터가 같은 문제를 풀기 위해 경쟁한다.
- 경쟁을 통해 결국 하나의 블록이 생성된다.
작업 증명(PoW)의 식
H(N || P_hash || Tx || Tx || ...TX) < Target
필드들을 연결한 값의 해시가 목표 해시값보다 작아야 한다.
(N = nonce, P_hash = 이전 블록의 해시, Tx는 블록의 트랜잭션, Target = 네트워크의 난이도 목표값)
위의 식으로 논스를 찾는 방법은 무차별 대입법밖에 없다. 특정 개수의 0이 있는 패턴을 찾은 채굴자는 블록을 즉시 브로드캐스팅하고, 다른 채굴자들은 블록을 승인하게 된다.
장점
- 보안성: 51% 공격을 손쉽게 방어할 수 있음(작업증명에서는 51% 이상의 컴퓨팅 파워를 획득하기 위해 천문학적인 비용이 발생)
단점
- 에너지 낭비: 채굴난이도가 높아지면서 고사양 장비가 필요해지고 과도한 전력 소모가 발생
- 채굴권 집중 문제: 기업형 채굴자들의 단합으로 채굴권이 집중되며, 이로 인해 탈중앙으로부터 멀어지게 될 수도 있음
채굴 알고리즘
-
비트코인 네트워크로부터 이전 블록의 헤더를 얻는다.
-
네트워크 상에서의 트랜잭션 브로드캐스트 세트를 제안할 블록에 넣어서 합친다.
-
이전 블록 헤더 값의 Double 해시를 계산하고, 논스와 새롭게 제안된 블록을 SHA256 알고리즘을 사용해 결합한다.
-
결과 해시값이 현재의 타겟 난이도보다 낮은지 확인하고, 낮으면 PoW를 푼 것이다.
PoW 성공 시 발견된 블록은 네트워크에 브로드캐스트되고 보상을 받는다.
-
결과 해시값이 현재의 타켓 난이도보다 낮지 않다면, 위 과정을 반복하며 논스 값을 증가시킨다.
난이도 레벨은 비트코인 CLI를 통해 확인할 수 있다.
$ bitcoin-cli getdifficulty
12876842089683.48
대표 코인
- 비트코인
- 이더리움
지분 증명(Proof of Stake)는 해당 암호화폐를 보유하는 있는 지분율에 비례하여 의사결정 권한으 주는 합의 알고리즘이다. 스테이킹(Staking)한 자산을 통해 블록을 생성하게 되며, 지분 크기만큼 다음 블록의 검증 노드로 선택될 확률이 결정되고, 블록 형성 권한과 거래 수수료를 보상으로 받게 된다.
스테이킹(Staking)한 자산을 통해 블록을 생성하면 되기 때문에 비싼 하드웨어가 필요하지 않고, 작업증명 방식에 비해 전기를 많이 소모하지 않는다.또한, 오랜 기간 코인을 보유해야 하는 조건 때문에, 작업증명 방식에 비해 다른 코인으로 이탈 가능성이 작다. 검증시간이 짧다는 특징도 있다.
장점
- 환경친화적 시스템: 작업증명 방식에 비해 에너지 소모가 큰 프로세스가 없음
- 인센티브에 대한 강한 동조 및 지지: 합의 대리인을 직접적으로 암호화폐에 투자하게 만들고, 그에 따라 투자자와 합의 대리인의 이해관계가 같아지게 됨
- 채굴 풀의 중앙집중화 해결: 현재 작업 증명은 소수 채굴 풀에 해시가 집중되는 방식인 것에 반해, 지분 증명이 보다 더 탈중앙화에 적합한 대안이 됨
단점
-
불안전한 해결책: "체인 선택"에 대한 해결책만 제시하며, 그 외 나머지 문제점들에 대한 해답을 제시하지 못했음
-
불공평한 경제 모델: 암호화폐 보유량에 비례하여 신규 자금을 배당하기 때문에 소수 사람에게 자금이 더욱 집중될 수 있음
-
Nothing at Stake Problem: 블록 작성자가 네트워크 분기 시 위험에 처하지 않음
지분증명 방식은 모든 노드가 제한 없이 여러 블록에 자신의 지분을 증명할 수 있기 때문에 만약 하나의 거래에서 서로 다른 거래내용이 발생한 경우 많은 지분을 가진 노드가 공격을 목적으로 두 개의 블록에 모두 증명해놓고, 거짓인 체인도 참인 것처럼 길게 체인을 형성시킬 수 있다. 블록에 새로 참여한 검증자는 어는 것이 정당한 블록체인인지 알 방법이 없다. 그ㅐ서 새로 많은 지분을 사들여 검증에 참여하는 노드가 거짓인 블록체인에 증명(합의)해버릴 경우 제대로된 거래를 한 사람은 모두 공격에 당하는 꼴이 된다.
캐스퍼 프로젝트: 이더리움의 PoW -> PoS 전환
이더리움 개발팀은 PoW에서 PoS로의 전환을 용이하게 하기 위해 바로 전부 전환하지 않고 1%를 먼저 PoS로 전환하고 점차 그 비중을 늘리는 방식을 선택했다. 그 과정에서 난이도 폭탄이 터지도록 설정해서 PoW로 얻을 수 있는 양이 급격히 줄도록 설게되어 있어서 PoW에서 PoS로의 전환이 자연스럽게 이행되게끔 계획되어 있다.
캐스퍼가 기존의 PoS와 다른 점은 악한 행위를 하는 검증인들을 처벌하는 시스템이다. 검증인들은 블록을 검증하기 전 자신의 이더 지분을 맡겨야 한다. 그리고 Nothing at Stake 문제와 같이 체인을 어지럽히는 악한 행위를 하면 처벌받게 되는데, 검증인들은 자신이 거어 놓았던 지분을 몰수당하게 된다.
대표 모델
- 네오
- 제트캐시
- 퀀텀
- 에이다
- 피어코인
- 코스모스
위임지분증명(DPoS, Delegated Proof of Stake)은 암호화폐 소유자들이 각자의 지분율에 비례하여 투표권을 행사하여 자신의 대표자를 선정하고, 선정된 대표자들끼리 합의하여 의사결정을 내리는 합의 알고리즘이다. 대표자가 되기 위해선 투표를 거쳐야 한다. 선출된 대표자들은 블록을 생성하고, 블록을 확정하기 위해선 2/3 이상의 승인이 필요하다. 대표자의 지위는 일정 시간 이내에 블록셋업에 참여해야 유지가 된다.
장점
- 소규모 참여자도 이득을 볼 수 있음
- 거래속도(TPS)가 빠름
- 수수료가 없음
단점
- 네트워크 보안: 지분을 위임받은 대표자의 수가 제한되어 있어 탈중앙화가 되지 않아 보안에 취약할 수 있다. 또한, 탈중앙화된 네트워크가 외부 공격에 강한 이유가 익명성 때문인데, DPoS의 경우 선출을 위해 대표자에 대한 정보를 밝혀야 한다는 딜레마가 있다.
- 대표자의 수: 네트워크가 커짐에도 불구하고 대표자 수가 일정하다면 상대적인 중앙화가 이루어질 수 있다. 또한 반대로, 대표자의 수가 증가하면 위임지분증명이 가지고 있는 속도의 장점이 줄어들게 되는 문제가 있다.
대표 모델
- 이오스
- 스팀
- 비트셰어
- 엘프
- 테조스
블로체인 안에서의 거버넌스를 블록체인 거버넌스라고 하며, 이는 블록체인 네트워크를 유지하기 위한 구성원들과의 이해관계 조정, 네트워크 구성원 간 의사 통합을 위한 것이다. 블록체인 거버넌스는 효율성을 위해 투표를 가장 일반적으로 사용한다. BIP, EIP 등과 같이, 클레이튼(Kalytn) 역시 거버넌스(Governance)의 형태를 띠고 있다.
Klaytn에는 컨센서스 노드(CN), 프록시 노드(PN) 및 엔드포인트 노드(EN, (구) 레인저 노드(Ranger Node))라는 세 가지 유형의 노드가 있다. 컨센서스 노드(CN)는 CCO(Core Cell Operators)에 의해 관리되며 블록 생성을 담당한다.
(출처: Klaytn Docs)
IBFT(Istanbul Byzantine Fault Tolerance)
Klaytn은 Istanbul BFT라는 합의 메커니즘을 사용하고 있다. IBFT는 블록체인 네트워크 특성을 반영하여 변형된 버전의 PBFT이며, 즉각적인 최종성을 보장하는 권한 증명(PoA) 블록체인 합의 알고리즘이다. 기본적으로 PBFT의 형식을 따라가며 블록을 모아서 전송한다는 개념이 추가되었다.
PBFT의 유효성 검사기 집합은 정적인 반면, IBFT는 동적 유효성 검사기 집합이 있기 때문에, IBFT 합의 메커니즘 기반 블록체인은 보다 빠르게 트랜잭션을 확인할 수 있다. 작동 방식은 다음과 같다.
- 시작하려면 노드 그룹이 선택되어 유효성 검사기 풀을 구성한다. 이 노드는 제안된 블록이 체인에 추가하기에 적합한지 여부를 결정하는 역할을 한다.
- 이 검증자 노드 중 하나가 제안자로 임의로 선택된다.
- 검증자 풀에서 메시지를 받은 이 단일 제안자는 체인에 무엇을 추가할지 결정한다. 이것은 다른 검증자에게 제안된 블록으로 제시된다.
- 대다수의 검증인이 블록이 유효하다고 간주하는 경우에만 원장에 추가된다.
- 각 합의 라운드가 끝나면 검증자가 새로운 제안자를 선택하고 프로세스가 반복된다.
SHA-256은 현재 블록체인에서 가장 많이 채택하여 사용되고 있는 암호 방식이다. 속도가 빠르기 때문에 인증서, 블록체인 등 많이 사용되고 있으며, SHA-2라고 하면 SHA-256이라고 말할 정도로 사용화가 잘 되어 있다.
특징
- 출력 속도가 빠름
- 단방향의 성질을 띠고 있는 암호화 방법으로, 복호화가 불가능
- SHA-384, 512, SHA-3보다는 유효 보호 수준이 낮으나, 현재까지 안정성 문제에서 큰 단점이 발견되지 않음
X11은 11종의 해시 함수를 담은 채굴 알고리즘이다. 현존하는 X 계열 해시 알고리즘 중 가장 널리 쓰이고 있으며, 블레이크(Blake) 알고리즘부터 CPU 기능의 지침에 따라 코인을 생성하는데 필요한 SMID 알고리즘까지 11개의 서로 다른 해시를 여러 번 사용하여 현재까지도 가장 안전하고 정교한 암호 해시 중 하나로 평가받는다.
X11은 GPU에 의한 채굴이 가장 효과적이며, SHA-256과 Scrypt에 비해 전력 소모량도 적다. 다른 알고리즘보다도 채굴 소프트웨어 의존성이 높으며, 현재 X11은 에이식 저항성을 유지하고 있다.
에이식 저항(ASIC Resistance): 에이식(ASIC) 채굴이 불가능한 암호화폐의 속성
X13은 기존의 X11 알고리즘을 기반으로 하는 해시 알고리즘이다. X13은 에이식 채굴자들의 채굴에 대한 저항력을 높이기 위해 13가지의 해시 함수로 구성되어 있으며, 이를 적용한 코인으로는 Bitcoin Diamond, Stratis, Navcoin 등이 있다.
많은 X13 해시 알고리즘 플랫폼은 작업증명(PoW)과 지분증명(PoS) 노드의 안전성을 보장하기 위해 하이브리드 프로토콜을 사용한다. 암호화폐는 DeepOnion과 같은 X13 알고리즘의 플랫폼에서 실행되고 있으며, 이 알고리즘은 토르 네트워크(Tor Netwrok)를 통해 트래픽을 전송하여 트랜잭션의 익명성을 보장함으로써 이중으로 보안을 유지한다. 암호화폐 클라이언트는 영구적인 토르 주소를 사용하며, 이 주소는 그 자체로 서비스 내에서 발생하는 암호 분석에 대한 일종의 아이디이다. 또한 스푸핑(Spoofing) 등의 해킹 공격도 차단한다.
스푸핑(Spoofing, 속이다): 다른 사람의 컴퓨터 시스템에 접근할 목적으로 IP주소를 변조한 후 합법적인 사용자인 것처럼 위장하여 시스템에 접근함으로써 나중에 IP주소에 대한 추적을 피하는 해킹 기법의 일종이다.
X16R은 클래식 X11을 기반으로 하는 채굴 알고리즘이다. 에이식(ASIC) 채굴을 막기 위해 16개의 서로 다른 해시 알고리즘으로 구성되어 있으며, 대표적인 암호화폐로는 레이븐코인이 있다.
X16R은 레이븐코인이 에이식 채굴을 피하고자 새로 설계한 알고리즘이다. 레이븐코인은 2018년 1월에 비트코인 오픈소스를 기반으로 X16R을 적용하여 에이식 장비에 의한 채구의 중앙화를 예방하도록 설계했다. 이 알고리즘의 특징은 이전 블록의 해시를 기반으로 16 해싱 알고리즘의 순서가 끊임 없이 변경된다는 것이다. 해시 알고리즘 중 일부는 다른 것보다 시간이 더 걸리게 된다. 이 시간 차이는 각 블록을 채굴하는 동안 16개의 알고리즘에 걸쳐 평균값을 산출한다. 채굴 알고리즘의 테스트 플랫폼은 레이븐(RVN)이다. 레이븐은 X16R에 대한 참조 구현으로, X16R의 수를 정의한다.
알고리즘, 사용된 특정 해싱 알고리즘, 알고리즘 순서 및 이전 블록 해시에 사용된 바이트 순서 등, X16R의 이면에 있는 개념은 스크립트(Scrypt), 이퀴해시(Equihash) 및 기타로 확장될 수 있다. 이 해시 알고리즘의 무작위성으로 인해 에이식 개발에 상당히 취약하다.
그로스톨 알고리즘(Grostl Algorithm)은 국립표준기술연구소(NIST) 해시 함수 경쟁에 최종 후보 중 하나로 선정된 암호화 해시 함수이다. 그로스톨 알고리즘이 적용된 코인으로는 그로스톨 코인, 디지바이트, 버지 등이 있다.
그로스톨 알고리즘은 압축 함수가 크고 고정된 서로 다른 두 개의 순열로부터 만들어지는 반복되는 해시 함수이다. 그로스톨 설계는 투명하고 SHA 제품군에서 사용되는 것과 매우 다른 원칙을 기반으로 하는데, 덜 복잡한 해싱 알고리즘으로 GPU와 CPU에서도 잘 작동하고 다른 알고리즘에 비해 해시당 소비 전력이 매우 적기 때문에 가장 효율적인 채굴 알고리즘 중에 하나로 꼽힌다. 또한, 평균적인 컴퓨터가 사용할 수 있는 에이식 내성 GPU 친화적 알고리즘이다.
네오스크립트(NeoScrpyt)는 Scrypt를 대체하도록 설계된 에이식(ASIC) 내성 작업증명 알고리즘이며, 기존 Scrpyt 알고리즘의 후속 알고리즘이다. 암호화폐 페더코인(Feathercoin)을 만드는 것을 목적으로 시작되었으며, 개발 이전에 제기되었던 주된 문제는 GPU 풀의 소유자들이 암호화폐로 정상적으로 작동하지 않는 Scrypt 알고리즘으로 구축된 코인에 대한 에이식(ASIC) 장치의 과도한 영향력을 제거하는 것이었다.
특징 중 하나는 트랜잭션 속도인데, 부하가 많아도 네트워크는 빠르게 변환을 처리한다. 이는 네트워크의 모든 구성원이 진행하는 인증을 통해 가능하게 되었다. 그리고 사람과 직접 연결되지 않은 고유 해시를 생성하지만, 시스템 내에서 사용자가 식벽할 수 있도록 한다. 네오스크립트 알고리즘은 SHA-256이나 스크립트와 같이 널리 보급되어 있지는 않았지만, 몇 가지의 암호화폐의 기반으로 사용되고 있다.
스크립트 알고리즘(Scrypt Algorithm)은 암호화된 키 추출 알고리즘으로, 비트코인의 주요 대안 중 하나인 라이트코인 작업에 사용되는 알고리즘을 채택했다. 이점으로, 비트코인에 비해 낮은 블록 생성 시간과 ASIC 저항성이 있다.
스크립트 알고리즘은 콜린 퍼시벌(Colin Percival)이 온라인 백업 서비스인 Tasnap에 활용한 목적으로 개발했는데, 이 서비스는 스크립트가 커스텀 하드웨어에 의한 공격 실행 비용을 엄청나게 높이며 또한 상당수의 주요 현용 암호화 알고리즘에 비해 수천 배 안전하다고 주장한다. 실제로 스크립트 알고리즘은 많은 양의 메모리를 요구하며 대규모 사용자 하드웨어 공격을 수행하는 데에 있어서 많은 비용이 들도록 특별히 설계되어 있다. 그 때문에 안전하지만, 한편으로는 메모리가 많기 때문에 수행하는 데에 있어서 시간이 많이 든다는 단점도 있다.
스크립트 채굴에 사용되는 ASIC 또한 시중에 나와 있기 떄문에 스크립트를 사용하는 GPU 채굴자의 경우 어느 정도의 경쟁은 예상해야만 한다는 사실을 유념해야 한다. 스크립트 에이식이 점점 많이 제작됨에 따라 스크립트 코인의 채굴 난이도는 올라가지만 채굴자 개개인의 시장점유율과 수익성은 떨어지리라 전망된다. 일부 에이식의 경우 SHA-256과 스크립트를 동시에 채굴할 수도 있기 때문에 스크립트 코인을 채굴하려 한다면 에이식을 옵션으로 고려하면 더욱 좋다.
이더해시(Ethash)는 이더리움의 작업증명(PoW) 합의 알고리즘으로, Dagger 알고리즘과 Hashioto 알고리즘의 조합인 대거-하시모트(Dagger-Hashimoto)의 진화된 알고리즘을 사용한다.
이더해시는 방향성 비순환 그래프(Directed Acycli Graph, DAG)로 알려진 대규모 데이터 세트의 생성 및 분석에 의존한다. DAG의 초기 크기는 약 1GB이고, 천천히 선형으로 크기가 커지며, 매 순간 업데이트된다. DAG의 목적은 자주 접근하는 대규모 데이터 구조를 유지하는 데 필요한 이더해시 작업증명 알고리즘을 만드는 것인데, 이는 이더해시가 ASIC 저항성을 갖게 만들려는 것으로, GPU 채굴 장비를 만들기가 더 어려워진다는 의미이다.
이더리움 네트워크에서 작업증명을 수행하기 위해 소비자 수준의 GPU를 사용하면 전 세계의 더 많은 사람이 채굴 공정에 참여할 수 있다. 채굴자들이 더 독립적일수록 채굴 파워는 더 탈중앙화된다. 채굴을 위한 GPU 사용의 단점은 GPU 가격 상승이다.
최근까지 이더리움 네트워크에서 ASIC 채굴자의 위협은 거의 존재하지 않았다. 이더리움을 위해 ASIC을 사용하려면 고도로 맞춤화된 하드웨어의 설계, 제조 및 배포가 필요하기 때문이다. 이더리움 개발자가 지분증명 합의 알고리즘으로 이동하려는 오랜 계획은 ASIC 공급 업체가 이더리움 네트워크를 오랫동안 타깃팅하지 못하게 했을 가능성이 크다고 볼 수 있다.
Copyright © 2022 Song_Artish