[연재글] BlockChain - 08. Mining Pool, Summary - (完)
게시글 주소: https://orbi.kr/00012636722
1편 : https://orbi.kr/00012313138
2편 : https://orbi.kr/00012318427
3편 : https://orbi.kr/00012334500
4편 : https://orbi.kr/00012341994
5편 : https://orbi.kr/00012367982
6편 : https://orbi.kr/00012401564
7편 : https://orbi.kr/00012424441
이 글은 암호화폐와 그 근간을 이루고 있는 블록체인에 대해 살펴보는 글이지 비트코인과 이더리움 시장을 예측해 투자 타이밍을 조언하는 글이 아님을 알려드립니다. 이걸 본다고 투자하는데 도움이 되지 않습니다. 기술은 개발자에게 투자는 주갤러에게.
안녕하세요 7편 쓰고 사라진 지 엄청 오랜만에 등장하는 것 같습니다. 사실상 다룰만한 내용은 다 다뤘는데, 그래도 뭔가 마무리는 지어야 되겠다 싶어서 이렇게 다시 등장했습니다.
이번 글에서는 지난 7편의 글에서 다뤘던 모든 내용을 묶어서 하나의 스토리로 엮어볼 생각입니다. 유저레벨에서부터 블록체인 뒷단까지를 오가면서 이야기를 진행할 예정이라 앞의 글을 다 읽고도 조각이 맞춰지지 않는 게 있던 분들은 그 고리가 여기서 이어지길 바랍니다. 모르는 용어가 있으시다면 앞의 글을 찾아보시면 나와요.
- 이 이야기는 A라는 사람이 비트코인 지갑을 생성해 물건을 구매하는 과정을 이야기합니다.
- 그리고 B라는 해커가 비트코인 네트워크를 공격하고 비트코인을 채굴하는 과정을 이야기합니다.
- 갑자기 도박꾼 X, Y, Z 가 지나갑니다.
0. 계좌의 생성
A는 요새 인터넷만 했다 하면 비트코인 얘기가 나와서 그게 뭔지 알아보고 한번 써보기로 했다. 비트코인 지갑을 생성할 수 있는 방법은 많지만, A는 간편하게 비트코인을 얻기 위해 거래소에 계정을 만들고 지갑을 생성했다. 그리고 내 비트코인을 저장할 개인 지갑을 또 한개 만들었다.
계정을 생성하면 블록체인 노드에서 공개키 알고리즘을 이용해 키를 생성하고, 개인키를 A에게 전달해준다. 이 개인키는 A의 공개키로 잠긴 UTXO를 해제할 수 있는 유일한 키로, 이 돈이 내 돈이라는 것을 증명하는 역할을 한다.
이 키는 분실되면 지갑을 다시 열 수 없기 때문에 A는 이 키를 복사해 다른 곳에 백업해두었다.
1. 거래의 생성
거래소에서 얼마간의 돈을 주고 비트코인을 구입한 A는 모 사이트에서 비트코인으로 물건을 구매할 수 있다는 것을 알고는 실제로 비트코인을 이용해 물건을 구입해보기로 했다. 결제화면에 나타난 지갑 주소를 받는 사람으로 해 A는 자신의 지갑에서 물건대금에 해당하는 만큼의 비트코인을 전송했다.
이 작업이 이루어지면 내 클라이언트에서는 내 개인키를 이용해 UTXO를 풀어 하나의 Transaction을 생성한다. 이 안에는 보내는사람, 받는사람, input, output, extra data 등이 들어있다. 클라이언트에서는 이 정보를 자신에게 연결되어 있는 주변 P2P Node 들에 전송하고, 이는 곧 블록체인 네트워크 전체로 퍼진다. 새 거래를 전송받은 Full Node 에서는 이 거래가 적합한 거래인지 검증하고, Tx. Pool에 넣어놓는다.
2. 거래의 승인
A는 비트코인을 보내고 거래가 완료되었다는 메세지를 기다리고 있다. 비트코인의 블록은 평균 10분에 한개 생성되기 때문에 1번의 승인을 받기까지 대략 10분 정도의 시간이 소요된다. A가 구매한 물건은 그다지 비싸지 않기 때문에 1번의 승인이 일어나면 거래를 완료시킨다.
같은 시각, 어딘가의 Full Node가 Tx. Pool 안에서 거래들을 꺼내 새 블록을 만들기 시작했다. A의 거래는 수수료를 높게 책정해 이 블록에 바로 포함되었다. 블록 안에는 이전 블록의 해시, timestamp, difficulty, nonce, merkle root, Tx. Info 들이 들어있으며, 이 Full Node는 현재의 채굴 난이도에 적합한 해시를 만들기 위해 nonce를 바꿔가며 brute force로 블록을 마이닝한다. 운 좋게 이 Node가 가장 빨리 블록을 생성했고, 곧 찾아낸 nonce 값을 블록에 기록한 뒤 새 블록을 생성했음을 주변 Node 들에 전파한다. 주변 Node에서는 새 블록을 받으면 이 블록이 맞는지 검증하고 자신이 하던 작업을 중지, 받은 정보를 기반으로 새 블록을 생성하기 시작한다.
이렇게 블록이 생성되었다는 것이 네트워크에 전파되어 A는 거래가 완료되었다는 메세지를 받게 됐고, 며칠 뒤 A는 구매한 물건을 배송받았다.
3. 거래의 검증
A는 며칠 뒤 같은 상점에서 다른 물건을 또 구매하는데, 이 시점에서 A의 지갑은 UTXO를 사용하기에 앞서 이 UTXO를 생성한 이전 거래가 유효한 거래인지 검증하고 UTXO를 사용하게 된다.
A의 컴퓨터에 있는 개인 지갑은 Lightweight Node 이기 때문에 블록의 모든 정보를 받지 않고 블록 헤더만 저장한다. A의 지갑 역시 새 거래나 블록을 전달받으면 유효성을 검증하게 되는데, Full Node와 달리 Lightweight Node는 주변의 Full Node에게 해당 블록의 merkle tree 정보를 요구해 거래의 유효성을 검증한다. 이 시점에서 A가 첫 물건을 살 때 발생한 거래가 든 블록은 매우 깊이 있기 때문에(비트코인의 경우 24시간에 대략 144개의 블록이 생성된다) 신뢰성이 보장되며, 주변 Full Node에서 받은 결과를 토대로 거래 자체도 유효함이 검증되었다. 이렇게 SPV 방식으로 거래를 검증한 A의 지갑은 또 다시 거래를 생성해 주변 노드에 전파한다.
4. 블록체인의 안정성
해커 B는 비트코인 가격이 300만원을 넘어선 것을 보고 블록체인을 해킹해 비트코인을 소유해보려 한다. 비트코인 블록체인이 어떻게 이루어졌는지 확인해본 B는 두 가지 공격 방법을 생각해낸다. 하나는 51% 어택이고, 하나는 더 빠른 채굴이다.
B는 첫번째 방법을 실현하기 위해 주변 해커들에게 비트코인 네트워크 전체의 51%에 해당하는 컴퓨팅 파워를 얻으려면 어떻게 해야 하는지 물어봤다. 50%를 넘는 컴퓨팅 파워를 가지고 있으면 메인 브랜치를 내가 원하는 대로 지정할 수 있기 때문이다. 동료들은 단일 기기에서는 그정도 파워를 얻을 수 없으며, 중국의 거대 채굴장을 몇개 모으면 51%에 가까운 파워를 얻을 수 있다고 답한다. 그러나 그들은 자신들이 얻어가는 이익이 다른 사람에게 파워를 제공해서 얻을 수 있는 이익보다 크기 때문에 B에게 협조하지 않을 것이라고도 한다. B는 곧 51% 어택을 포기하고 빠른 채굴로 다른 사람보다 앞서 블록을 만들어 B의 브랜치를 메인 브랜치로 바꾸려는 전략을 구상한다. 남들보다 월등하게 빠른 채굴 능력을 가지게 되면 보상도 독점할 수 있고 원한다면 이전 블록을 다시 마이닝해 메인 브랜치를 교체할 수도 있기 때문이다. 비트코인 블록체인은 SHA256 해시를 이용하고 있기 때문에 B는 이를 점령하면 마음대로 브랜치를 조종할 수 있다고 생각하고, SHA256에 대한 공격 방법을 찾는다. 하지만 B는 곧 이 방법도 포기하게 되는데, 아직까지 SHA256에 대한 공격 방법은 존재하지 않으며, 몇몇 보고된 성공 사례들은 범용적으로 적용하기에는 너무도 일부의 케이스만을 다루고 있기 때문이다.
해커 B는 블록체인의 안정성에 혀를 내두르며 중고나라에 로동자 에디션으로 나온 그래픽카드를 사러 간다.
5. 마이닝 풀(Mining Pool)
B는 중고나라에서 싸게 업어온 로동자 에디션 그래픽카드를 이용해 비트코인을 채굴해보기로 한다. 블록체인의 보상은 기본적으로 블록을 채굴한 사람이 모두 가져가게 되어 있는데, 개인이 블록을 캐는 것은 거의 불가능에 가깝기 때문에 B는 마이닝 풀을 이용해 적지만 지속적인 수입을 얻어보려 한다.
마이닝 풀에 접속한 B의 컴퓨터는 마이닝 풀로부터 새로 생성할 블록의 헤더만을 전달받는다. 이를 이용해 난이도에 맞는 해시를 찾는데, 마이닝 풀에서 제공하는 난이도는 통상적으로 블록의 난이도보다 1000배정도 쉽다. B의 컴퓨터는 마이닝 풀이 제공한 난이도에 적합한 해시를 찾으면 이를 마이닝 풀에 알리는데, 이를 PoW(Proof of Work) 라고 한다.
여러 사람이 주사위를 각자 3개씩 던져 4 이하가 제일 먼저 나오는 사람이 이기는 게임이 있다고 해보자. X 혼자서 3개의 주사위로 4 이하의 값이 나오게 하기는 쉽지 않기 때문에 X는 Y, Z를 불러 같이 주사위를 던지며 이 게임에 승리하려 한다. 대신에 보상을 적절한 비율로 나눠가지기 위해 3개의 주사위를 던져 6 이하의 값이 나온 횟수를 세서 이 비율대로 상금을 나눠가지기로 한다. 물론 X, Y, Z가 4 이하의 값을 만들기 전에 누군가 값을 만들 수도 있지만 혼자보다는 셋이 주사위를 던지는 게 성공 확률이 높을테니 X는 상대적으로 보상은 적지만 안정적인 승률을 기대할 수 있다. 또 모르지 더 수익이 높을 지...
B의 컴퓨터도 이렇게 마이닝 풀의 일원이 되어 자신의 작업을 마이닝 풀에 알리고, 마이닝 풀은 일원의 누군가 블록을 생성해 보상을 받으면 각각의 마이너들이 기여한 비율대로 보상을 나눠주게 된다.
쓰다 보니 마이닝 풀에 대한 얘기를 쓴 적이 없어서 여기에 같이 얹어봤습니다. 마이닝 풀은 어렵지 않으니까요. 써놓고 보니 애초에 글을 이렇게 쓰는 게 더 이해가 쉽지 않았을까 하는 생각이 드네요...흠...
어쨌든 이렇게 블록체인에 대한 모든 내용이 마무리되었습니다. 모쪼록 도움을 받으시는 분이 계시면 좋겠네요. 다음에 또 제가 꽂히는 분야가 생기면 이런 식으로 불쑥 나타나 또 툭 던지고 사라지도록 하겠습니다. 그럼 그때까지 다들 즐거운 날 보내세요.
작성자 아들딸 까까사주기:
BTC 14eM4cd28q77Q4AujrV6jGBDH9unX3zD3f
ETH 0xf05C7196CF4e3494023aeABB6053d053ecB3937A
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
#07년생#08년생#독학생 오르비의 주인이 될 기회 37 40
-
[D-30] 질문들에 대한 서울대생들의 답변모음 6 13
안녕하세요. CIFA입니다. 10월 14일 진행했던 오프라인 멘토링과, 메일로 주신...
-
혹시 죄송한데 덕코인은 어떻게 얻는건가요?ㅠㅠㅠ 14 0
혹시 덕코인은 어떻게 얻을수 있는건가요?ㅠㅠㅠㅠ 사야하나요?..
-
메르스 사태 때문에 관심 있게 봤던 메르스 증상들.. 0 0
메르스 때문에 전국이 시끄럽습니다. 그래서 메르스 증상 관련해서 사람들에게 쉽게...
-
설문조사 부탁드립니다!! 0 0
안녕하세요 저희는 이번에 사회문화 현상 관련 설문조사를 실시하고자 합니다. 한번씩...
-
오늘 날씨 정말.. 0 0
아침에 날씨 보셨어요? 뿌연 안개때문에 진짜 당황함.. ㅋㅋ 몇 미터 앞도 잘...
-
학생부 날조 관련 16 4
저는 1년동안 학교생활도 열심히하고 담임이 원하는대로 야자도 하고 공부도 꾸준히...
-
[칼럼to.새내기] 4. 밥약과 학교생활 37 71
여러분들께서 동아리와 더불어 많이 질문을 하신 부분이 밥약이더라구요. 그래서...
-
내가 반수를 한 이유,, 2 7
내 말이 힘을 가질 수 있게 하려고,, 일류 학벌까진 아닐지 몰라도 단국대생으로서의...
-
DDoS 에 대해 28 38
안녕하세요 옛날에 블록체인 어쩌고 하는 글을 썼던 개발자입니다. 오늘 보니 오르비에...
-
[연재글] BlockChain - 08. Mining Pool, Summary - (完) 4 13
1편 : https://orbi.kr/00012313138 2편 :...
-
[연재글] BlockChain - 07. UTXO와 거래 검증 4 8
1편 : https://orbi.kr/00012313138 2편 :...
-
[연재글] BlockChain - 06. Security 13 19
1편 : https://orbi.kr/00012313138 2편 :...
-
[연재글] BlockChain - 05. Block, Chain 13 5
1편 : https://orbi.kr/00012313138 2편 :...
-
[연재글] BlockChain - 04. Node 4 13
1편 : https://orbi.kr/00012313138 2편 :...
-
[연재글] BlockChain - 01. 이게 뭔가여 14 23
안녕하세요 예에에엣날에 컴퓨터 관련 글을 좀 끼적였던 개발자입니다. 이거저거...
-
안녕하세요. Snu Roman.입니다. 머리 식히러 인터넷에 들어왔는데 또 머리...
-
[Snu Roman.] 진보언론에 대하여 알아보자. Araboja. 3 10
[Snu Roman.] 진보언론에 대하여 알아보자. Araboja 시리즈 2편...
-
입시로 입씨름 할 분! 26 13
안녕하세요. 오르비학원의 King이사입니다. 오늘은 오르비에서 많은 활동을 하고...
-
고시 폐지와 관련하여, 7년 전에 썼던 칼럼... 3 5
제목 : 외교통상부 순혈주의, 외무고시의 문제인가 외무고시를 대체할 외교 아카데미의...
-
육군사관학교 2차 시험 수기 7 8
일단 저는 학교장 추천을 받고 시험을 봤지만 수시전형은 광탈하고 정시전형으로...
-
최보식 기자와 김도연 총장 특징.fact(반박불가) 0 3
국어789등급 쩌리들임 ㅋ
-
전 강대를 무려 2년씩이나 다녔던 사람이기도 하고 이번에 다행히도 원하던 학과에...
-
[에라둔] 물리1 역학을 위한 해법 - 3편 (일과 에너지 기본) 5 9
물리1 돌림힘 정말로 어렵고 힘든 유형일까?? (1~4편 통합)...
-
4수 끝에 얻은 수능 철학에 대한 단상 24 13
꽤 자주 술자리에서 과외로 먹고 살아가는 삶은 어떠냐고 자주 묻곤 하십니다....
-
킹오브갓오브레전드오브아랍어 굇수님들 도와주세요! 3 0
현역인데 아랍어는 언제부터 시작하는게 좋을까요?? 지금부터 조금씩 조금씩 하는게...
-
!!!!![알바]하시는 분들 진짜 꼭 이 글 보고 가시기 바랍니다!!!! 8 4
요즘에 수능 끝나고 알바 많이들 하시죠? 저도 알바를 하고 있는데 임금을 받는...
-
http://orbi.kr/00010060632 준비편1...
-
http://orbi.kr/bbs/board.php?bo_table=united&wr...
-
모든 이과 수능생을 위한 모든것. 준비편1 29 99
0. 들어가기에 앞서 글의 특성상 객관성을 띄기 위해 딱딱한 분위기로 글이...
-
물수능에는 여자가 유리하고, 불수능에는 남자가 유리하다? (남녀 상위권 성적비교) 51 23
우선, 남녀갈등을 조장하는 글이 아니라는 것을 알아주셨으면 합니다. 통계자료 위주의...
-
[화학] 기출분석 및 자작문제 ! 15 7
안녕하세요! 올해 수능 역시 화학1에서의 기출 분석의 중요성을 깨닫게 해주네요....
-
[퓨에르] 수학 4~5등급대를 위한 간단한 이야기 12 5
안녕하세요. 퓨에르 (박성현) 입니다. 저번에 말씀드렸던 것처럼, 수학 공부법에...
-
피델 카스트로(1926~2016) 갔습니다...... 향년 91세 올해는 세계사의...
-
그냥 밤에 할 짓 없어서 쓰는 반수생 반수 후기(긴글주의) 12 7
수능 끝나고 이런 글 꼭 오르비에 올려보고 싶었어요! 오르비에 계신 에피,센추님들에...
-
긴 말은 하지 않겠습니다. 2 3
실증에 얽매여 여러분의 실존을 잃지는 마세요.여러분은 당신들의 실존에 부끄럽지 않을...
-
강의듣다 써보는 서울법대 이용재쌤 썰이요 13 11
제목이도 나와있지만 메가에서 법정가르치는 이용재쌤이 강의듣다가 썰 몇개만...
-
수능 D-16 국어 공부 정리. 36 19
안녕하세요!!이제 진짜 수능이 얼마 남지 않았네요 ㅋㅋㅋ..4월에 반수 시작했을때가...
-
수능 당일 지극히 당연한 팁 38 56
※지극히 당연하고 뻔한 이야기입니다※ 1. 식사 -아침 : 수능날이라고 특별하게...
-
와사비 테러 추가 피해자 발생 1 1
허읍!
-
오르비언님들 부탁드릴게있습니다 ㅠㅠ 꼭봐주세요!! 0 0
이번에 저희학교에서 저와 친구들이 이대회에 참가하게 되었는데요 ㅎㅎ...
-
돌마바흐체 궁전(이스탄불, 오스만 제국의 정궁) *터키어 각 단어에 대한 번역은...
-
교재 불법 복제애 대한 이야기나 나와서 한마디... 39 51
저는 만화책을 좋아합니다. 어려서부터 만화책을 많이 읽었죠. 부모님께 용돈을 받으면...
-
갑자기 생각난것들. 0 6
어제 아프리카 방송했습니다..ㅋㅋ그 느낌을 적어보면..모든 사람이 행복해지려면그...
-
사랑을 망설이는 이유ver.1 모르겠어요. 침대 밖을 벗어날 이유를 찾지 못해...
-
[퓨에르] 핸드폰 치우세요 35 42
오랜만입니다. 퓨에르입니다. 요즘은 수학 질의응답을 받는 옐로아이디 친구분이...
-
1. 분석자 기본 정보 - 해당 학년 : 고3 - 희망 대학 계열(자연계, 인문계)...
-
[현대사] 삼성과 현대를 접수한 두 여자의 인연... 14 22
조선 말 전남 영암에 현기봉이라는 거부가 있었다. 그는 만석꾼 집안에서 자라...
-
8번 문제의 기막힌 우연 3 2
8번 문제의 기막힌 우연 2008년~2012년 무려 5년 동안 수능 국어 8번의...
-
6평 41313, 수능 11112 연세대 경제학부 합격 수기 33 35
오르비 회원 여러분, 안녕하세요! 작년 한 해 동안 강남대성에서 공부했고, 올해...
툭! 좋아요 이런 글 ! 감사합니당
저야말로 감사합니다 ㅎㅎ
궁금했는데 첫글부터 읽어봐야겠어요 ㅎㅎ감사합니다
잘 읽었습니다^^