Skip to content

[09-25] 채굴로 돈을 벌고 싶다고? 요새는 금 대신 코인이 대세! - 블록체인의 채굴에 대해 알아보자 #16

@k-young-passionate

Description

@k-young-passionate

아마 이번 글이 마지막 글이 될 것 같습니다.
호기롭게 첫 주에는 엄청나게 글을 올렸는데요, 바빠지니 1주 1글도 쉽지 않네요... (지난번 지지난번 참가자분들 존경합니다...)

채굴이란

image
이미지 출처: AI타임즈

블록체인에서 채굴을 한다, 채굴자, miner 라는 말들을 종종 들어보셨을 겁니다.
이 채굴로 인하여 2010년대 말에는 GPU 값이 엄청 뛴다고 이야기도 많았었죠. (지금은 AI로 인하여 ㅎㅎ...)

블록체인에서 채굴이란, 블록체인 생태계를 유지하게 하는 화폐인 코인을 생성하는 행위를 의미합니다.
블록체인은 중앙은행과 달라서 특정 인물이 원하는 만큼 화폐를 발행할 수 없고, 시스템에서 지정한 행동을 하면 발행을 할 수 있습니다.

그럼 시스템에서 지정한 행동은 무엇일까요? 바로 다른 사람의 거래 내역(트랜잭션)을 블록체인에 기록하는 행위입니다.

트랜잭션을 기록하여 코인을 얻는 방법은 다음과 같습니다.

  1. 유저가 거래를 발생 (트랜잭션을 발생)
  2. 채굴자는 여러 거래들 + 본인이 시스템에서 정한 만큼의 코인을 받았다는 기록을 블록으로 추가함 (거래들에 대한 수수료도 챙길 수 있음)
  3. 이 블록이 추가된 버전의 장부를 주변 네트워크에 공유
  4. 이 버전이 블록체인 전체 네트워크에서 받아들여지면, 기록에 의해 일정 코인을 얻게 된 것으로 간주되어 사용할 수 있음

이 때, 이 블록을 만드는 과정에서 Consensus Algorithm이 쓰입니다.
블록을 아무렇게나 만들어버리면 채굴자에 의해 부정 거래 등이 발생할 수 있기 때문에, 이를 방지하기 위해 채굴 방식에 대해 합의를 해놓았습니다. 이를 Consensus Algorithm 이라고 부릅니다.

아래에서는 Consensus Algorithm에 대해 소개해보겠습니다.

Consensus Algorithm

Consensus Algorithm은 블록체인마다 다르게 정하여 사용하고 있습니다.
세부적인 내용은 각각 달라도 근본적인 방식이 비슷한 것들을 묶어서 각각 불리고 있는데요, 이 각각을 소개해보려고 합니다.

Proof of Work (PoW)

가장 유명한 방식입니다. 위의 그림처럼 채굴 공장을 만들어낸 & GPU 가격을 올리는 주범입니다.
기사에 따르면 2023년 비트코인 채굴에 쓰인 전기가 호주 한 국가가 쓴 전기와 맞먹는다고 합니다.
이를 사용하는 곳은 대표적으로 최초의 블록체인인 비트코인이 있고, 이더리움도 2.0 이 나오기 전에 사용하였습니다.

에너지를 많이 소비하는데 왜 이 방식을 택했을까요?
바로 공격자가 블록체인 장부를 조작하는 것을 방지하기 위함입니다.

PoW 가 동작하는 방식은 다음과 같습니다.

  1. 유저의 거래 기록들을 모두 블록에 넣음
  2. nonce 라는 임의의 값을 추가함
  3. 블록에 기록된 모든 값(직전 블록의 정보 + 메타 정보 + 트랜잭션 + nonce 값)들을 hash 함수를 취했을 때, 특정 조건을 만족해야 블록으로 인정 받음
    • 비트코인 기준 특정 조건은, 해시 값의 첫 n 자리가 0으로 시작해야 하는 것입니다.

모든 채굴자들은 트랜잭션을 모으고 적절한 nonce 값을 찾기 위해 많은 계산을 하게 됩니다.
만약 중간에 이상한 값(예를 들자면, 해커 A가 10 비트코인을 우연하게 얻게 되었다)을 끼워 넣더라도, 해당 블록 이후의 모든 블록의 PoW 조건에 맞추기 위해서 적어둔 nonce 값이 바뀌어야하기 때문에 네트워크의 다른 노드를 설득하는데 실패합니다.

만약 계산이 쉽다면 해커들은 이러한 공격을 도전해보려고 할텐데요, 비트코인 기준 하나의 블록을 생성하는데에 (적합한 nonce 값을 찾는 데) 10~20분 정도가 걸리기 때문에, 사실상 불가능하거나, 가능하더라도 해커가 소모하는 컴퓨팅 파워가 너무 커서 손해가 더 크게 됩니다.

사람들이 더 많이 참여하거나 더 많은 돈을 쏟아 붓는다면 10~20분을 유지하지 못하지 않을까 생각도 하실텐데요, 직전 블록 생성 속도들을 확인하여 조건의 난이도를 자동으로 결정하는 알고리즘이 있어 시간을 유지하게 됩니다.

Proof of Stake (PoS)

PoW 방식이 비효율적이고 환경 친화적이지 못하여, 사람들은 자본주의를 기반으로 다른 방법을 고안하게 됩니다.
채굴자들이 자신들이 가진 코인을 stake 하고, 이를 기반으로 다음번 블럭을 정합니다.
코인을 많이 staking 할 수록, 더 많은 블록을 생성할 수 있도록 기회를 줍니다.

코인의 가치는 더 많은 사람들이 해당 블록체인을 신뢰할 수록 높아진다는 가정이 있는데요, 코인을 많이 가진 사람일 수록 이 가치가 떨어지기를 원치 않을거라고 생각하여 이러한 방식이 나오게 되었습니다.

대표적으로 이더리움 2.0 및 Cosmos에서 해당 방식을 사용하고 있습니다.

다만 해당 방식은 코인을 더 많이 가진 사람이 코인을 벌어들이는 속도를 더 높여, 부익부 빈익빈 현상이 발생할 수 있다는 문제점이 있습니다. 개인적으로는 현대 자본주의와 무척 닮아있다고 생각합니다.

delegated Proof of Stake (dPoS)

PoS와 비슷한 방식이지만, 특정 인물을 지정하여 코인을 staking을 하고, 해당 인물이 채굴을 하게 되면 발생한 코인을 나눠갖는 방식입니다.
더 다양한 사람들이 쉽게 참여할 수 있어 PoS 의 단점을 극복한 방식이라고 생각이 됩니다.

cryptosale에 따르면, Solana, TRON, EOS, Steem(글을 쓰고 추천을 받으면 코인을 받는 Steemit 운영에 쓰이는 코인) 등이 사용하고 있다고 합니다.

Proof of Authority (PoA)

현재 사회처럼 권위에 의존하는 방식입니다. 블록체인 네트워크 안에서 믿을 만한 몇 명을 정해서 채굴을 맡기는 방식입니다.
채굴 효율성은 가장 좋다고 볼 수는 있으나, 탈중앙성이 매우 약화된다는 단점이 있습니다.

public blockchain (모두가 참여할 수 있는 블록체인) 및 private blockchain (참여자가 제한되는 블록체인) 모두에 적합하다고 합니다.

정리

블록체인의 채굴과 합의 알고리즘(consensus algorithm)에 대해 알아보았습니다.
블록체인 관련 많은 주제가 있었는데요, 채굴이 가장 익숙한 단어일 것 같아서 고르게 되었습니다.
혹시라도 궁금하신 점이 있다면 편히 질문 주시면 답변드리도록 노력하겠습니다.
읽어주셔서 감사합니다. 🙇

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions