people장 홈📈 Stock Masters주식 유튜브를 Articles로 읽고 Author의 예측을 실제 가격으로 확인합니다 people장 Board 홈요청하기

한국어 · English

Mining Difficulty - Simply Explained

Simply Explained · 2019-09-23 · 유튜브 시청 135,581 · Board Views 0 · International

International

유튜브 썸네일

#비트코인

← 목록

저자: 미상 · 외국인

요약 보기

비트코인 채굴 난이도(mining difficulty)의 원리와 한계를 설명하는 교육용 영상이다. 채굴 난이도는 블록 생성 시간을 평균 10분으로 유지하기 위해 2016블록마다 자동 조정되는 값이다. 블록이 빨리 생성되면 난이도를 올리고, 느리면 낮추며, 이는 채굴자 수와 컴퓨터 성능 변화를 보정한다. 난이도 상승으로 전기요금보다 보상이 적어지면 소규모 채굴자는 떠나고, 대형 농장과 풀만 남아 중앙화가 발생한다. 이 중앙화는 대형 채굴자의 네트워크 공격 가능성을 열어준다는 문제가 있으며, 해결책은 별도 영상에서 다룬다고 한다. 부가적으로 비트코인 난이도 조정 코드에는 마지막 블록을 계산에서 제외하는 작은 버그가 있다고 언급된다. 투자 관련 가격 예측이나 종목 언급은 없다.

다듬은 글

※ AI가 다듬은 글(오탈자·군말 정리)

01. 예전에 블록체인이 어떻게 작동하는지 설명하는 영상을 만들었는데, 그 안에서 채굴이 무엇인지도 설명했습니다. 간단히 말하면 채굴은 블록체인에 새 블록을 만들고 그 블록에 거래를 채워 넣는 과정입니다. 그런데 제가 설명하지 않았던 것이 바로 "채굴 난이도"입니다. 이것이 무엇인지 이해하려면 블록체인이 해결하려는 문제를 다시 한번 봐야 합니다. 인터넷상의 많은 컴퓨터, 즉 노드들이 합의에 이르는 문제입니다.

02. 암호화폐의 경우 그것은 개별 사용자들이 코인을 어떻게 썼는지에 대해 합의하는 것입니다. 얼핏 보면 그렇지 않을 수도 있지만, 이것은 해결하기 어려운 문제입니다. 이 네트워크의 노드들은 항상 정직하지 않고, 언제든 나타나거나 사라질 수 있습니다. 이제 비트코인 네트워크에 참여하고 싶다고 상상해 보세요.

03. 여러분의 컴퓨터는 인터넷에 접속해 참여 중인 다른 노드들을 찾습니다. 그런데 어떤 노드를 믿어야 할지 컴퓨터는 어떻게 알까요? 이 노드들 모두가 시스템을 조작해 자기 배를 불리려 하고 있을 수도 있습니다. 비트코인 창시자가 제안한 해결책은 단순했습니다. 가장 긴 유효한 체인을 고르라는 것입니다.

04. 하지만 이것만으로는 충분하지 않습니다. 공격자라면 거짓 거래로 아주 긴 체인을 만들어낼 수 있고, 모두가 그 체인이 진실을 담고 있다고 믿을 수도 있습니다. 아찔한 일이죠! 이 문제를 풀기 위해 사토시는 작업증명(Proof-of-Work) 알고리즘으로 새 블록을 만드는 과정을 느리게 했습니다. 이것은 복권과 비슷합니다. 여러분의 컴퓨터가 무작위 계산을 수없이 반복하며 암호 퍼즐을 가장 먼저 푸는 자가 되려고 애쓰는 것입니다.

05. 풀 확률은 매우 낮습니다. 전 세계 모든 채굴자가 똑같이 복잡한 자물쇠를 열려고 애쓰는 것과 같습니다. 모두가 수많은 조합을 시도하지만, 결국 가장 먼저 여는 사람은 한 명뿐입니다. 그리고 누군가 열면, 다음 블록을 만들기 위해 모두가 처음부터 다시 시작해야 합니다. 평균적으로 10분마다 한 대의 컴퓨터가 퍼즐을 풀어 새 블록을 만든 대가로 채굴 보상을 받습니다.

06. 이 10분의 지연 덕분에 가장 긴 체인을 인위적으로 만드는 것은 불가능해집니다. 여러분의 컴퓨터 혼자서 제시간에 이 자물쇠를 열, 즉 퍼즐을 풀 가능성은 극히 낮기 때문입니다. 제시간에 끝내려면 많은 사람이 수많은 무작위 조합을 시도해야 합니다.

07. 좋습니다, 문제가 해결됐네요! 어… 잠깐만요! 한 가지 문제가 더 있습니다. 우리 컴퓨터는 시간이 지나면서 점점 빨라지기 때문에, 더 새로운 컴퓨터는 더 많은 계산을 수행해 10분 안에 블록을 만들 수도 있습니다. 즉, 공격자가 아주 빠른 컴퓨터를 대량으로 사들여 다른 모든 사람을 앞지르려 할 수도 있다는 뜻입니다.

08. 다행히 사토시는 이것도 생각해 두었고, 이것이 드디어 채굴 "난이도"로 우리를 이끕니다. 난이도는 여러분의 컴퓨터가 새 블록을 만들기 위해 얼마나 열심히 일해야 하는지를 조절하는 숫자입니다. 그리고 이 숫자는 고정돼 있지 않습니다. 2016번째 블록마다 자동으로 조정됩니다. 시스템은 이 블록들이 얼마나 빠르게 만들어졌는지를 봅니다.

09. 보통은 정확히 2주가 걸려야 합니다. 그 기간에 블록이 더 많이 만들어졌다면 난이도를 높이고, 더 적게 만들어졌다면 난이도를 낮춥니다. 여기까지는 간단해 보이지만, 왜 난이도를 2주마다 조정해야 할까요? 우리는 2주마다 컴퓨터가 대규모로 업그레이드되지는 않잖아요?

10. 시스템은 채굴에 참여하는 사람의 수도 보정해야 합니다. 채굴자가 많을수록 더 짧은 시간 안에 누군가 퍼즐을 풀 확률이 높아지므로, 이를 유지하려면 난이도를 높여야 합니다. 반대도 마찬가지입니다. 많은 사람이 채굴을 그만두면 블록 생성이 더 오래 걸리므로 난이도를 낮춰야 합니다.

11. 요약하면, 난이도 조정은 우리 컴퓨터가 얼마나 빠르든, 채굴에 얼마나 많은 사람이 참여하든 새 블록을 채굴하는 데 항상 약 10분이 걸리도록 보장합니다. 훌륭한 시스템이지만 큰 단점이 하나 있습니다. 바로 중앙화로 이어지는 경향이 있다는 것입니다. 사람들이 채굴하는 주된 이유는 수익 때문입니다.

12. 채굴 사업이 수익을 내는 한 사람들은 계속 운영합니다. 그러나 난이도가 올라가면 여러분의 채굴 사업이 보상으로 벌어들이는 것보다 더 많은 전기를 소모하게 될 수 있고, 그 시점에서 여러분은 채굴을 멈출 수밖에 없습니다. 결국 규모의 경제를 가진 대형 채굴자만 남게 됩니다.

13. 비트코인의 경우 소수의 대형 채굴 농장과 채굴 풀이 이 "채굴 시장"의 상당 부분을 차지하고 있습니다. 이것은 완전히 분산되도록 만들어진 기술을 중앙화할 뿐 아니라, 이 대형 채굴 농장들이 네트워크를 공격할 문도 열어 줍니다.

14. 이 문제에 대한 해결책도 논의되고 있지만, 그건 다른 영상에서 다루겠습니다! 덧붙이는 재미있는 사실이 있습니다. 저처럼 개발자라면 이 사토시라는 사람이 이 모든 것을 떠올렸다니 천재라고 생각할지도 모르겠습니다. 하지만 그도 완벽하지 않았고 실수도 했습니다. 비트코인의 난이도 조정 코드에는 작은 버그가 있습니다.

15. 2016개 블록이 지나면 난이도가 다시 계산되지만, 코드는 처음 2015개 블록만 봅니다. 그래서 모든 블록이 정확히 10분 만에 채굴되었고 마지막 블록만 100일이 걸렸다고 해도, 난이도에는 전혀 영향이 없습니다. 헉, 정말 초보 같은 실수죠, 콜록! 음, 그러니 여러분의 코딩 실력에 너무 자책하지 마세요!

16. 시청해 주셔서 정말 감사합니다. 늘 그렇듯 이 영상이 마음에 드셨다면 구독 부탁드리고, 다음에 또 만나요!

원문 보기 · 글 내려 주세요 신청

#비트코인

← List으로
공유페이스북밴드

이 Articles에 대해 요청(숨김) 수정 요청

Comments 0