본문 바로가기

컴퓨터공학/블록체인

블록체인 기본 기술 마이닝 (Mining)

반응형
 

 

노드를 유지하게 만드는 채굴(마이닝)에 대해 설명하도록 하겠습니다.

비트코인을 예를 들으면 문제를 맞춘 정답자에게 비트코인을 주는 방식입니다.

최근 EOS 같은 경우는 선출된 대표자들에게 채굴 권한을 준 후 나눠주는 방식이 있습니다.

 

비트코인에서 채굴은 2가지 의미가 있습니다.

1. 광산에서 금을 캐 듯, 비트코인을 캐는 순수한 사전적의 의미의 채굴

2. 의미 있는 내용을 찾아낸다는 마이닝 용어

 

전 강의에서 해시에 대해 설명하였는데, 이 해시값이 채굴에 핵심입니다.

비트코인은 탈중앙화 방식입니다. 개개인의 컴퓨터가 노드로 엮여있는 것이고 서로의 감지를 통해 장부를  기록하게 됩니다.

이런 것을 퍼블릭 블록체인이라고 하는데, 어떤이가 보상도 없이 자신의 전기세를 감안하고 노드를 유지하려고 할까요?

예를 들어 토렌트 다운 받아본 경험이 있으신가요? 다운받게되면 공유하는지 그 씨드를 삭제하는지 ? 대부분 삭제 합니다.

이 처럼 자기자신을 희생하면서까지 노드를 유지하려고 하지 않습니다.

비트코인은 노드가 없어지면 가치는 0원이 됩니다.

노드를 유지하게 하기 위해서는 유지하는 자에게 보상이 필요합니다. 여기서 나온 것이 바로 채굴입니다.

 

 

 

<문제를 풀고 보상을 받는 구조>

 

랜덤문자를 마구 넣어 맞추는 방식이 있습니다. 이를 브루트포스 어택이라고 합니다.

브루트 포스, 또는 ‘무차별 대입’ 공격은 가능한 모든 암호 조합을 무차별 시도하는 다소 기초적인 방식의 해킹 공격입니다.

하지만 일반적인 암호는 충분한 시간만 주어진다면 모두 대입이 가능하고, 특정 단어나 패턴이 유추 가능할 경우엔 더욱 취약해질 수 있습니다.

공격자들은 대입에 소요되는 시간을 줄이기 위해 사전에 있는 단어를 우선 시도하는 이른바 ‘사전 공격’을 수행하기도 합니다.

인가되지 않은 사용자의 접근이 가능해 질 수 있으므로 브루트 포스 공격에 대비한 암호 생성 및 공격 사전 차단이 필요합니다.

별개로 딕셔너리 어택이라고도 있는데 사전적 단어를 대입하여 공격하는 것도 있습니다.

 

문제의 난이도를 올리는 방법이 있습니다.

예를들어 100이하를 찾아내봐라고 문제를 냈습니다.

문제 난이도를 더 어렵게 50이하를 찾아라고 문제를 낼 수 있습니다!

문제와 난이도는 다양합니다. 

 

채굴이라고 하는 것은 이처럼 문제를 가장먼저푸는사람에게 블록생성권한과 보상을 주는것을 말하지만

최근들어 이 방식이 문제가 많아집니다.

점점 어렵게 문제를 내는 것은 컴퓨팅파워가 필요하다라는 것과 대치되기에 점점 조직화된 비트코인채굴업체가 만들어지게 되고

채굴을 하기 위한 광대한 에너지가 필요로 하게 됩니다. 환경적 문제가 생길 수 있다.

비트코인의 방식은 POW방식이고, 코인들은 POS방식(지분증명)으로 점점 변화되는 추세이다.

 

 

반응형