블록체인에서 채굴이 무엇인지 설명할 수 있다.
다양한 블록 생성 및 보상방안(합의 알고리즘)에 대해 설명할 수 있다.
채굴이란 블록체인 네트워크에 노드로 참여하여 트랜잭션을 검증하고 검증된 트랜잭션을 포함한 새로운 블럭을 생성하는 행위를 말한다. 비트코인의 경우 리딩제로 조건을 만족하는 해시값을 생성하기 위한 논스를 찾고, 해당 논스값을 활용해서 자신에게 보상을 주는 트랜잭션이 담긴 신규 블럭을 생성한다. 비트코인은 채굴자들의 해시파워에 맞춰 자동으로 난이도를 조정하여 약 10분을 주기로 채굴이 가능하도록 설계되어 있다.
채굴자는 블록체인 네트워크 유지에 필수적이다.
채굴자의 노드가 비트코인 네트워크에 접속하면 다음과 같은 작업이 수행된다.
노드가 받는 보상은 두 가지 종류가 있다. 채굴에 대한 블록 보상과 신규블록 검증에 대한 수수료다. 논스를 찾은 노드는 블록생성에 대한 보상을 수령하고 생성된 블록을 검증한 노드는 트랜잭션 수수료를 보상으로 받는다.
트랜잭션 수수료란 특정 거래기록을 블록에 포함시키고 이를 체인에 추가한 대가로 받는 인센티브다. 트랜잭션 수수료를 통해 블록체인은 체인에 대한 무제한의 스팸공격을 막을 수 있고, 유효성을 검증하는 노드에게 인센티브를 제공해 토큰 이코노미를 건강하게 유지할 수 있다.
해시율은 네트워크상 채굴자들의 초당 해시 계산개수를 나타낸다. 현재는 전문 마이닝풀이 채굴전용 ASICs장비를 활용하여 채굴에 참여하여 개인의 채굴이 힘들정도로 해시율이 높아진 상태다.
TPS는 네트워크가 초당 처리할 수 있는 트랜잭션의 개수다. 일반적으로 원장에 참여하는 노드 수와 분산화의 정도가 커질수록 TPS는 낮아지며 수수료도 증가한다. 확장성과 높은 수준의 탈중앙화를 만드는 것은 블록체인 트릴레마로 알려져있는 문제로서 현재 블록체인이 해결해야 할 과제다.
비트코인은 해당 논스값을 먼저 찾은 노드가 블록 보상을 독점하는 보상구조를 가진다. 따라서 해시파워가 높은 노드가 블록생성마다 보상을 독점할 수 있다. 이에 대항해 소규모의 해시파워를 가진 노드들은 마이닝 풀을 형성해서 블록 보상을 받을 확률을 높이고 보상을 나눠가진다.
특정노드가 50% 초과의 해시파워를 가질 경우 51% 공격으로 이중지불 공격을 성공할 수 있다. 특정 채굴풀이 네트워크 전체 해시파워의 51% 이상을 점유한 GHash.IO사건이 있었지만 개인들의 자발적인 이탈로 51% 공격은 일어나지 않았다.
PoS나 DPoS 형태의 블록체인에서 활용되는 채굴 풀 모델이다. 펀드와 비슷하다. custody service란 남의 코인을 위임받아 운용하는 형태를 의미하는데, 소액 지분을가진 사람도 커스터디 풀에 합류하여 함께 노드를 운용할 수 있다. 참여자는 마이닝 풀에 지불하는 수수료를 제외한 보상을 나눠받는다.
비트코인 채굴에 사용되는 전력량은 세계 전력사용량 순 30위권 국가와 비슷하다. 중국과 이란은 채굴공장의 전력사용 증가로 인한 부작용이 발생하자 정부주도로 채굴장의 영업금지 및 폐쇄 정책을 시행하고 있다.
초기의 채굴방식, PC나 laptop에서 채굴. 현재는 채산성이 없다.
GPU의 병렬 설치와 병렬연산을 지원하여 CPU에 비해 채굴속도를 향상시킴
GPU보다 성능이 높은 프로그래밍가능한 집적회로. ASIC의 등장으로 사용되지 않음.
SHA256연산을 목적으로 만든 집적회로. 현재 비트코인의 경우 채굴난이도가 급격히 상승해서 수천개의 ASIC을 병렬으로 가동하며 채굴해야 채산성이 있다.
작업증명에서 블록 브로드캐스팅 시간 차이로 동시에 블록이 생성될 경우 메인체인을 선택해야한다. 이를 위해 비트코인은 longest chain rule을 활용하고 이더리움은 ghost protocol를 활용한다. 동시에 생긴 블록 중에서 메인체인으로 선택되지 못하는 블록을 stale블록, 또는 오펀블록이라 한다. 작업증명은 51% 공격을 구조적으로 방어할 수 있으므로 높은 보안성을 가진다. 하지만 ASIC장비와 마이닝풀의 등장으로 개인 채굴자의 채굴 불가, 과도한 전력 소모와 같은 단점이 있다.
가장 긴 체인이 가장 많은 해시파워가 축적된 체인이므로 이를 메인체인을 선택한다. 오펀블록에 담긴 트랜잭션은 롤백되지만 멤풀에 저장되어 추후에 자동으로 재처리된다. 이런 특성 때문에 비트코인의 트랜잭션은 해당 트랜잭션을 포함한 블록 다음 6블록이 생성된 이후에 finalize된다. Safety over liveness가 적용되었다.
이더리움은 블록생성시간이 비트코인에 비해 짧으므로(10분 -> 12초) 오펀 블록이 생성될 가능성이 크고 보안성이 떨어진다. 이를 해결하기위해 수정된 고스트 프로토콜을 적용했고 이에 따라 메인 체인으로 가장 무거운 즉, 오펀블럭까지 포함한 작업량이 가장 많이 포함된 체인을 선택한다.
리딩제로 조건을 만족하는 해시값을 찾기 위해 논스를 무자별 대입한다. 리딩제로 조건은 특정한 조건보다 낮은 값을 찾도록 제한하는 것이다. 채굴 난이도가 올라갈수록 리딩제로가 많아진다.
지분증명은 암호화폐를 보유하고 있는 지분에 비례해 채굴할수 있는 합의 알고리즘이다. 네트워크에 참여하는 모든 노드는 자신의 지분에 비례해서 블록생성 노드로 선정될 확률을 갖는다. 물론 블록생성 노드는 블록생성 권한과 수수료를 보상으로 받는다. 논스를 찾는데 해시파워와 전력을 낭비하지 않아 친환경적이다.
PoS에서 발생가능한 가장 큰 문제점은 Nothing at Stake Problem이다. 지분증명에는 컴퓨팅파워가 소모되지 않으므로 Validator는 포크된 모든 블록에 지분을 투표할 수 있다. 악의적인 Validator는 아무 비용 없이(costless) 이중지불을 시도할 수 있는 것이다. 이를 해결하기 위해 Slash 제도를 도입했다. 32ETH 이상의 보증금을 예치하게 하고, 악의적 행동시 Validator는 정해진 규칙에 따라 페널티를 받는다.
또 다른 단점으로는 PoS는 체인 선택에 대한 해결책만을 제시했으며, 지분에 비례한 블록생성기회 제공으로 네트워크가 중앙집중화 될수 있다는 점이다.
이더리움은 캐스퍼 프로젝트를 통해 PoW에서 PoS로의 전환을 시도하고 있다. 캐스퍼 알고리즘은 이러한 전환을 위한 알고리즘이다. 캐스퍼 PoS는 악의적인 Validator를 처벌하기 위해 Slash제도를 도입했으며 노드는 Validator가 되기 위해선 보증금을 예치해야한다.
🤔 캐스퍼 프로토콜의 작동원리는 어떤가?
🤔 보증금과 스테이킹하는 코인은 동일한 것인가?
🤔 처벌받을때는 보증금만 몰수당하나?
🤔 몰수당한 보증금은 어떻게 처리되나? 소각되는가?
대의 민주주의와 같이 각자의 지분율에 비례한 투표권으로 대표자를 선출하고 대표자끼리 합의하여 의사결정을 내리는 합의 알고리즘. 특정인에게 PoS할 수 있는 권한을 위임하는 것이다.
소규모 참여자도 이득을 볼 수 있다. (🤔 무슨이득?)
PoS에 비해 거래속도가 빠르며 수수료가 없다.
위임받은 대표자들의 수가 제한되어 있어 탈중앙성이 떨어져 보안에 취약할 수 있다. 네트워크가 커졌을때도 대표자의 수가 동일하다면 탈중앙성이 떨어지고, 대표자의 수가 네트워크에 비례해서 늘어난다면 TPS가 떨어져 확장성이 저하되는 문제점이 있다.
블록체인에 참여한 구성원들이 네트워크에 관련된 의사결정하는 과정을 블록체인 거버넌스라 한다. 일반적으로 투표가 널리 활용되고 있으며 개발자 커뮤니티를 통해서도 거버넌스가 이뤄진다.
🤔 거버넌스로 채굴한다는 의미인가? 사전에 합의된 독특한 거버넌스를 통해서 블록생성노드를 결정하는 것?
클레이튼은 확장가능한 BFT 합의 알고리즘을 사용한다.
전체 N개의 노드(Council) 중에 VRF로 무작위로 선택된 S개 노드로 구성된 부분집합을 만든다. 해당 부분집합은 커미티(Committee)라 불리고, 커미티 안에서 BFT를 수행한다. 합의된 블럭은 네트워크로 전파된다. 매 블럭마다 커미티가 달라지므로 보안성을 강화한다.