Be lazy, Be crazy

블록체인 (코인 토큰 채굴 ) 본문

BlockChain/Blockchain 이론

블록체인 (코인 토큰 채굴 )

정신이 많이없는 개발자 2022. 2. 16. 21:38
728x90
반응형
 유명한 블록체인 네트워크는 독자적인 보상체계를 구축하고 있습니다.
 블록체인 시스템상에서 채굴에 대한 보상으로 지급되는 것이 코인입니다. 
 토큰은 블록체인 네트워크에서 누구나 발행할 수 있는 지역화폐같은 존재입니다. 

사실 이용자 입장에서는 토큰과 코인이 별로 차이가 없습니다. 마치 ‘과자’와 ‘쿠키’ 같은 느낌입니다. 하지만, 기술적으론 차이가 있습니다. 이를 ‘국가(코인,메인넷)’와 ‘도시(토큰)’로 비유할 수 있습니다. 국가가 있어야 도시가 존재하듯, 코인이 있어야 토큰이 존재합니다.


 그럼 보상은 왜 필요할까요???  
     노드가 합의를 위해 투자한 물리적 비용(채굴)에 대한 보상입니다. 쉽게풀어보자면 A라는 사람이 노드를 위해서 물리적 장비(컴퓨터, 그래픽카드)를 구매했습니다. 그리고 채굴을 시작하게 되면 또 전기비가 들어가게 됩니다. 그럼 A라는 사람은 어떠한 이익도 되지 않는데 컴퓨터를 사고, 그래픽카드를 사고, 전기비를 내고 이런 행위를 할까요?? 보통사람들은 절대 그렇지 않습니다. 그렇기 때문에 보상이 주어지게 됩니다. 네트워크를 안정적으로 유지하게 해주는 그런 행위(채굴)들에 대해서 보상을 주는 것이지요!!  

채굴이란?
 블록체인 네트워크에 노드로 트랜잭션을 검증하여 분산원장을 기록하고, 보상으로 암호화폐를 얻는 것을 뜻하며 땅을 파서 광물 따위를 캐내는 행위에서 유래한 용어입니다

 

다시말하면 채굴 = 작업증명(pow) + 보상(reward) 공식으로 생각해보자. 

 지금 pow방식을 사용하는 코인은 비트코인과 이더리움이 대표적이다. 그러나 이더리움은 pos로변환작업을 하고있는 점을 참고하자. 
  *pow => 블록 헤더에 있는 논스(Nonce)를 사용하여 채굴자는 논스 값을 계속 바꿔가며 결과 해시 값이 미리 결정된 목표 값보다 작을 때까지 반복 계산합니다.*

 

그렇다면?? 채굴자(보상을 받는사람)는 무슨일을 하는 것이기 때문에? 보상을 받게될까? 
비트코인 
 - 채굴을 하는 행위는 블록체인 네트워크를 유지하면서 개인에게는 이익을 줄 수 있다. 
 - 노드(서버컴퓨터 중 한대라고 생각하면 이해하기 쉽다)가 비트코인 네트워크에 접속한다. 그렇다면 다음과 같은 일을 하게 됩니다. 
  • 네트워크 동기화 - 새 노드가 비트코인 네트워크에 합류하면, 다른 노드에게 과거의 블록을 요청해 블록체인을 다운로드합니다. 
      다시말하면, 새롭게 내가 채굴을 위해서 노드를 자처하면, 지금까지 다른 노드가 일을 했던 기록들(과거의 블록)을 가져온다.
  • 트랜잭션 검증 - 나의 노드에 새로운 트랙잭션(사용자의 요청 등) 수신하게 되면 트랜잭션이 올바른지 확인하는 작업을 합니다. 
  • 블록 유효성 검사 - 채굴자와 풀 노드는 특정 규치에 따라 수신한 블록을 평가하여 유효성검사를 시작.
  • 새로운 블럭 생성 - 채굴자는 네트워크에 브로드캐스팅된 트랜잭션의 유효성을 검사합니다.
  • 작업증명(pow) 수행 - 채굴과정의 핵심. 채굴자가 해시퍼즐을 풀어 유효한 블럭을 찾는다. 정해진 숫자를 맞출 때까지 반복하는 작업이라고 생각하면 쉽다!! ex) 0000000000 앞자리에 0이 10개 붙어있는 값을 찾아보아라. 00000000000123 이렇게 나오면 채굴을 한거임!
  • 보상 수령 - 해시 퍼즐의 정답을 구한 노드는 즉시 결과를 브로드캐스팅(다른 노드들에게 알린다. 머라고? 내가 맞췄다!!), 다른 노드들은 그 결과를 검증하여 그 블록을 승인합니다. 승인되면 채굴자는 비트코인과 관련된 트랜잭션 수수료를 보상으로 수령합니다.

 

다시말해보자면, 채굴자들은 비트코인네트워크에서 pow라는 방식으로 채굴을 하게 됩니다. pow방식은 해시퍼즐(어떤 숫자)값을 정해지게 되고, 채굴을 하는 사람들이 지속적인 반복을 통해서 그 결과값을 맞춘다. 그 결과값을 맞춘 node(서버 컴퓨터)는 즉시, (애들아 그만해 내가 맞췄어 그러니까 내꺼야!!)브로드캐스팅을 하게됩니다. 그러면 다른 node(다른 서버컴퓨터)들이 결과를 검증하고 맞다면 그 블록을 승인하게 됩니다. 그렇게되면 해시퍼즐을 맞춘 node가 비트코인과 관련된 보상을 가지게 됩니다.

논스 더 생각해보기

더보기

블록 헤더에 있는 논스(Nonce)와 트랜잭션의 논스(Nonce)는 어떤 차이가 있을까요?

블록 헤더에 있는 논스(Nonce)는 입력값 중의 하나로 해서 계산되는 블록의 해시값이 특정 숫자보자 작아지게 하는 값으로 쓰입니다.

이더리움에서 트랜잭션의 논스(Nonce)는 발신 주소의 속성이며, 발신 주소의 컨텍스 안에서만 의미를 갖습니다.

그러나 논스는 명시적으로 블록체인 계정 상태에 저장되지 않고 해당 주소에서 발생한 확인된 트랜잭션 건수를 세어서 동적으로 계산되는 값으로 쓰입니다.

트랜잭션 검증 더 알아보기

더보기

비트코인에서 트랜잭션 검증하는 단계

1) 원본 데이터를 자신의 개인키로 암호화를 진행하여 디지털 서명을 진행

2) 원본 데이터와 디지털 서명된 데이터를 노드에 전파

3) 트랜잭션을 받은 노드는 해당 트랜잭션이 진짜인지에 대한 검증을 위해 트랜잭션을 송신한 노드의 공개키를 이용하여 난독화(암호화) 진행

4) 난독화된 거래 데이터와, 원본 데이터를 비교하여 수정된 데이터가 있는지 데이터의 무결성을 검증

5) 수신 받은 트랜잭션이 진짜 거래로 판단될 경우 블록체인에 해당 트랜잭션을 업데이트하고 블록체인 네트워크에 연결된 노드들에게 해당 트랜잭션을 다시 전파


비트코인 보상에 대해서 조금더 알아봅시다.
위의보상 수령 단계에서 알아보았듯이, 해시 퍼즐(PoW)의 정답을 구한 노드는 즉시 결과를 브로드캐스팅하고, 다른 노드들은 그 결과를 검증하여 블록을 승인합니다. 블록이 승인되면, 채굴자는 비트코인과 관련된 트랜잭션 수수료를 보상으로 받습니다. 비트코인의 작업증명(PoW)의 해를 구하는 시간으로10분이 소요되도록 알고리즘이 형성되어 있기 때문에, 더 많은 채굴자들이 등장하고, 빨리 채굴할수록 채굴 난이도가 상승하게 되어있습니다.
* 채굴되는 시간이 10분이 되도록 특정 알고리즘을 통해서 난이도를 조절하게 됩니다.

이 보상은 일정량을 지속적으로 보상하는 것이 아니라,반감기로 인하여 2009년 초반에는 블록 하나를 생성할 때마다 50개의 비트코인을 보상으로 받을 수 있었지만, 2018년에는 12.5개의 비트코인을 블록 보상으로 받을 수 있는 등 시간이 지나면 지날 수록 블록 보상에도 변화가 생깁니다. 이로 인해 비트코인의 총 공급량은 약 2100만개가 되며, 그에 따른 희소성 가치가 부각될 것입니다.

 

거래 수수료란?
반감기로 인해서 채굴을 통해 보상받는 코인의 갯수가 줄어들면 채굴자들은 더 이상 채굴을 하지 않을려고 할것입니다. 
그렇다면?? 이문제를 어떻게 보완할 수 있을까요?  거래수수료를 통해서 보완하게 됩니다 .
거래 수수료란? 채굴자들이 특정 거래 기록들을 블록에 포함시켜서 블록체인에 추가할 수 있도록 제공되는 인센티브입니다.

거래 수수료는 블록체인 네트워크와 관련하여 몇 가지 중요한 목적을 가지고 있습니다. 그 중 하나가 트랜잭션을 승인하는데 도움을 제공하거나 스팸 공격으로부터 네트워크를 보호하는데 일조한 책굴자와 검증자에게 보상으로 지급하는 것 입니다. 
거래 수수료는 대부분의 블록체인 시스템의 중요한 부분으로 자리매김 해왔습니다. 

대부분의 암호화폐는 두 가지 중요한 이유에서 트랜잭션 수수료를 사용합니다.

1. 네트워크상의 스팸 공격을 줄이기 위해서 거래 수수료는 대규모 스팸 공격과 이를 실행하는 데 무척 많은 비용이 들도록 합니다.
    - 스팸공격을 위해서 트랜잭션(요청)을 많이 보내게되면 보내는 사람은 그 만큼의 수수료를 사용해야 하기 때문에 스팸 공격을 방지할 수 있다.

2. 거래 수수료는 트랜잭션을 확인하고 유효성을 검증하는 사용자에게 인센티브를 제공 이를 네트워크에 일조하는 행동에 대한 보상이라 이해할 수 있습니다.

대부분의 블록체인에서 트랜잭션 수수료는 합리적인 수준으로 저렴하지만, 네트워크 트래픽에 따라 상당히 비싸질 수도 있습니다. 얼마의 수수료를 지불하기로 결정하느냐에 따라 우리의 트랜잭션이 다음 블록에 추가되는 우선 순위가 정해집니다. 더 많은 수수료를 지불할 수록, 확인 과정이 더 빨라집니다.



 

Hashrate(해시율)?
해시율은 기본적으로 초당 해시 계산 갯수 비율을 나타냅니다. 다른 표현으로는, 블록을 찾기 위해 비트코인 네트워크 상의 채굴자들이 해시를 계산하는 속도입니다. 비트코인 초기에 이 값은 개인의 CPU 자원이 사용되었기에 꽤 낮았습니다. 그러나, 전문 마이닝풀과 Application Specific Integrated Circuits(ASICs)가 도입되며, 해시율은 기하급수적으로 증가하였습니다. 이 결과 비트코인 난이도도 급격하게 증가하였습니다. 아래 그래프는 초당 Tershashes 변화를 보여줍니다. 150m Terahashes/s는 15,000,000,000,000,000,000 개의 해시값이 초마다 계산됨을 의미합니다.

반응형

'BlockChain > Blockchain 이론' 카테고리의 다른 글

블록체인 트릴레마  (0) 2022.03.11
토큰 이코노미란 ?  (0) 2022.02.23
암호화폐의 기초  (1) 2022.02.07
Comments