이타인클럽

채굴 1 - 작업 증명

작업 증명을 통한 네트워크 안정성 확보
토픽 이타인클럽 > Blockchain > Blockchain 기술 개요
토픽 내용을 시작하기 전에 먼저 다음과 같이 마음속으로 속삭여 보시라고 말씀드리고 싶네요.
"나는 내용이 아무리 어렵게 쓰여 있어도 아주 쉽게 받아 들일 수 있다!"
방금 학습에 있어서 매우 중요한 것을 알려드렸습니다. 어떤 것을 접하더라도 할 수 있다는 믿음이 있다면 그 학습 능력은 놀랄만치 올라간다는 것을요.

채굴(Mining)을 알아보도록 하죠. 채굴이라고 하면 대부분의 사람들은 가상화폐를 얻는 방법으로 알고 있습니다. 특히 왜 비싼 그래픽 카드를 써서 전기를 "낭비해가며" 가상화폐를 "채굴"하는지 의아해 할 것입니다. 먼저 채굴의 주요 역할은 다음과 같습니다. 

  1. 새로운 블락 생성

  2. 신규 가상화폐 발행

앞 모듈에서 언급됐듯이 블락체인 네트워크의 채굴노드는 트랜잭션들을 모아서 하나의 블락을 생성을 하는 작업을 합니다. 이 때 채굴노드들간 경쟁을 통해서 가장 먼저 블락 생성을 생성하는 채굴노드에게 보상을 주게 됩니다. 보상이라 함은 신규로 가상화폐를 발행해서 채굴노드에게 주는 것입니다.

채굴의 역할은 신규 블락 생성 및 신규 화폐 발행입니다.

 

1. 새로운 블락 생성에 대해서 설명해 보도록 하겠습니다. 이전 토픽에서 채굴 노드들간 수학 문제(Math Problem) 풀게 해서 가장 먼저 문제의 답을 찾은 노드가 블락을 생성한다고 하였습니다. 따라서 채굴노드는 수학문제를 풀기 위해서 각 노드들이 가진 컴퓨터 자원, CPU나 그래픽 카드(GPU) 등을 이용해야 합니다. 이 수학 문제라는 것이 복잡한 수학 문제라기 보다는 동일한 작업을 반복적으로 수행해야만 답을 찾을 수 있는 것이라서 CPU보다는 그래픽 카드의 병렬 처리 기능을 이용하면 더 빠르게 찾을 수가 있습니다. CPU에도 연산을 담당하는 코어(Core)가 있지만 그 수가 8개 이하로 매우 적습니다. 반면 그래픽 카드에는 그 코어수가 수백에서 수천에 이릅니다. 제가 가끔 집에서 채굴할 때 사용하는 GTX 1060의 경우는 코어수가 1280개 입니다. CPU코어와 단순비교하기는 그렇지만 채굴 속도가 100배 이상 나게 됩니다. 이런 채굴 성능 차이 때문에 최근 그래픽 카드가 없어서 못사는 사태에 이르게 된 것이지요.image_4632847531497573373664.jpg

위 그림처럼 무수히 많은 그래픽 카드를 연결시키면 채굴 속도는 더욱 더 증가하게 됩니다. 집에서 재미삼아 채굴하는 방법은 별로도 설명드리도록 하겠습니다.

그래픽 카드의 품절 사태는 채굴에 적격이기 때문입니다.

 

그런데 이렇게나 많은 그래픽 카드를 돌리려면 엄청난 전기를 소모하게 됩니다. GTX 1060의 경우는 최대 시간당 120W를 소모하게 됩니다. 이런 그래픽 카드가 10개가 있다면 1200W를 소모하게 됩니다. 고성능 진공청소기를 1시간 동안 켜두는 것과 맞먹는 전력 소비입니다. 왜 채굴에는 이렇게 전력을 "낭비" 할까요? 그냥 채굴 노드끼리 가위바위보를 하던 주사위를 굴리던 해서 정하면 전력 낭비도 없을텐데 말이죠.

왜 채굴은 전력 낭비를 해야 할까요?

 

채굴이 전력을 소비를 필요로 하는 데에는 아주 중요한 기능이 있기 때문입니다. 그것은 바로 네트워크의 해킹 안전성을 보장하는 기능입니다. 채굴 노드가 고생한만큼 네트워크는 안전해집니다. 간단히 말씀드리면 블락 생성에 '고생'을 했기 때문에 이것을 뒤집거나 변경하려면 그 만큼 이상의 고생이 필요하다고 할 수 있습니다. 더욱 정확히는 블락체인 네트워크의 채굴 노드들의 전체 고생량보다 더 많은 고생을 해야 합니다. 만약 어떤 집단이 전체 채굴 노드의 51%를 확보하여 네트워크 해킹을 시도한다면 가능할 수도 있겠습니다. 이것이 블락체인에서 언급되는 51% Attack 입니다. 하지만 블락체인 네트워크는 이러한 공격에도 해킹되지 않는 구조를 가지고 있습니다. 단순히 블락하나에 대해서는 51% Attack이 가능하겠지만 블락들이 체인으로 엮여 있기 때문에 최근 블락을 해킹하면(또는 수정하면) 그 이전 블락의 내용도 변경해야 합니다. 그러면 또 그 이전의 블락을 변경해야 하고... 즉 블락체인의 블락수가 증가할수록 해킹하기 어려운 구조인 것입니다. 이런 구조때문에 블락체인의 해킹이 '거의' 불가능하다라고 할 수 있는 것입니다. 

블락체인은 해킹이 불가능하다!

 

채굴 노드가 고생한다고 표현했는데 이에 해당하는 용어가 작업 증명(Proof of Work)입니다. 고생을 했으니 그 작업(블락 생성)에 대한 신뢰가 생기고 그 작업의 결과물이 해킹되지 않았다는 것을 증명할 수 있게 되는 것입니다. 이 작업 증명이 블락체인 네트워크의 핵심 중에 핵심입니다. 왜냐하면 제3자의 개입없이 블락체인 네트워크가 해킹에 안전하도록 만들어주기 때문입니다. 작업 증명으로 인해서 안전하게 블락체인 네트워크 상에서 금전거래, 데이터 기록 등의 작업을 할 수 있는 것입니다. 

Bitcoin block chain risk

[블락체인, 출처]

작업증명을 통해서 블락체인 네트워크의 안전성이 확보됩니다.

 

작업 증명과 관련되어 "비잔틴 장군 문제"를 검색해보면 보다 자세한 내용을 알 수 있습니다.

다음 토픽에서 작업 증명에 대한 기술적 부분을 간단히 다뤄보겠습니다.

 

이번 토픽의 홈워크는 이번 강좌에서 이해가 되지 않는 부분을 댓글에 남겨주시는 것입니다.

블락체인 기반 블로그 Steemit에 Vote가 10개 이상되면 다음 타픽 진행하겠습니다.(희망사항)

Steemit 바로가기

https://steemit.com/blockchain/@etainclub/blockchain-7

댓글

댓글 본문
  1. 이타인
    제대로 이해하셨습니다~

    동일한 복사본을 가지고 있습니다. 비트코인 같은 경우 블락체인을 다 받으러면 수백 GB 저장공간이 필요하죠. 이것의 해결방법은 몇 가지가 있을 수 있습니다.

    가장 실용적일 수 있는 방법이 실제 블락체인을 저장하는 full node가 서버처럼 돌아가고, 일반 사용자 특히 스마트폰 사용자는 해당 node에 접속하여 블락체인에 내용을 변경하고, 정보를 얻어오는 것입니다.

    또 하나는 샤딩이라는 블락체인 데이터를 분산해서 저장하는 방식도 개발되고 있습니다.
    대화보기
    • 이타인
      답글 고맙습니다~

      블락 생성을 하는 작업을 통칭해서 채굴이라고 합니다. 채굴 방식 여러가지가 있는 것이지요. 비트코인 같은 경우 Proof of Work라는 방식으로 컴퓨팅 파워를 쓰는 게 1세대 채굴 방식입니다.

      이후에는 컴퓨팅 파워를 이용하지 않고, 지분량을 가지고 채굴권한을 비례해서 주는 Proof of Stake와 같은 방법들이 나오고, 또 이것의 확장판인 Delegated Proof of Stake (DPoS)도 있습니다. 소수의 대리인이 돌아가면 채굴하는 방식이죠. 이 밖에도 많은 방식들이 새로 개발되고 있습니다.

      블락을 생성하는 작업을 어렵게 하여 거래의 안정성을 높이고자 하는 것입니다. 채굴에 들어간 컴퓨팅 파워가 됐든 지분량이 됐든 그 양이 많을수록 네트워크 보안이 올라간다고 보시면 됩니다.
      대화보기
      • 맛있는하마
        4편에서 블락체인은 전자장부이고, 모든 사람이 동일한 장부의 복사본을 가진 시스템이라고 하셨는데, 그렇다면 지금까지 차곡 차곡 쌓인 블럭들이 각 노드마다 똑같은 복사본 형태로 가지고 있게 되는건가요? 그렇다면 거래가 증가할수록 데이터 량도 폭팔적으로 늘어나는 것이 아닌가요? 너무 어렵네요 ㅠ.ㅠ
      • yzion
        홈워크로 댓글 질문 남겨놓으라 하셔서^^

        그럼 블락생성은 채굴로만 가능한가요?
        블락은 네트워크에서 왜 자동생성되지 않나요?
      • 이타인
        PoS는 코인 지분에 따라 블락 생성 권한을 주는 방식입니다. 즉 채굴을 하려면 코인 지분이 필요하게 됩니다. 비용이 발생하는 것이죠.
        따라서 해킹하려면 그만큼의 비용이 필요하기 때문에 일정부분 네트워크의 안전성이 유지된다고 볼 수 있습니다.
        여기서 해킨이라는 것은 거래 내역 조작을 의미합니다. PoS의 경우도 PoW와 마찬가지로 조작된 거래가 블락체인에 기록되려면 블락을 계속 생성해만 하겠죠. 이것은 지분이 상당히 많지 않고서는 어렵다고 봅니다.

        저도 PoS는 아직 본격적으로 시작을 안해서 이정도까지만 설명드릴 수 있겠네요.
        대화보기
        • ㄹㄹ
          작업 증명이 없는 Proof of Stake 방식은 어떻게 안정성이 보장되나요?

          최근 발행되는 코인의 경우 채굴이 없이 바로 발행되는데요~ 이런 경우는 어떻게 보시는지요
        • 이타인
          51% 어택은 간단히 말씀드리면, 일반 집단보다 해킹 집단 세력이 더 많으면 블락체인은 해킹 집단의 세력의 판단을 따라가게끔 되어 있다는 말입니다. 즉 다수가 선택하는 것을 따라가게끔 되어 있습니다.
          나중에 설명될 블락체인 분기에서 나오듯이 블락체인은 체인이 긴 분기를 선택하게끔 프로그램되어 있습니다.
          고맙습니다.
          대화보기
          • yoniverse
            어렵지만 차근차근 따라가고 있습니다. 낯선 내용인데도 쉽게 설명해주셔서 정말 도움이 많이 됩니다.^_^d

            여러번 읽어봤는데 이해가 잘 안가는 내용이라면
            51% 공격이라는 게, 어떤 집단이 전체 채굴노들의 과반수 이상을 차지했다고 해서
            어떻게 해킹이 가능한건지 궁금합니다.
          • 이타인
            채굴로 인한 전기 낭비가 심각해서 채굴하지 않는 방법도 등장했습니다.
            채굴하지 않게되면 그래픽 카드 사태도 진정이 되겠지요.
            대화보기
            • 폭스킴
              왜 그래픽카드에 대한 얘기가 나오나 궁금했는데 이해가 되네요~ ^^