# 12 - 블록체인 노드에 대한 개념정리(Feat. 지갑)
안녕하세요. 어미새입니다.
지난 포스팅을 통해 해시파워 및 마이닝풀에 대한 개념정리를 해봤습니다! 간단하게 요약하자면 아래와 같습니다.
1.난이도가 많이 상승한 비트코인의 경우 혼자서 채굴하기란 매우 어려운일이다.
2.채굴을 혼자서 할 수 없기때문에 사람들이 힘을 합쳐 수학문제를 풀어내는 방법을 제안했고 이것이 바로 마이닝풀이다.
3.마이닝풀을 통해 발생한 보상을 올바르게 분배하기 위해서는 수학문제를 풀어내는 능력치가 필요하고 이것을 해시파워라고한다.
오늘은 노드(node)에 대한 개념정리를 해보겠습니다!
노드(node)
우선 노드의 의미가 무엇인지 위키백과를 통해서 알아보겠습니다.
블록체인 네트워크는 여러분들도 잘 알고 있듯이 중앙에서 관리하는 서버가 따로 없습니다. 그렇다면 별도의 중앙 서버가 없는 비트코인을 송금하거나 입금받고 싶은 경우는 누가 어떻게 처리를 할까요?
중앙을 관리하는 서버가 따로 없지만 서버가 없는것은 아닙니다! 전 세계적으로 수십만개의 서버가 존재하며 이 서버를 노드(node)라고 부릅니다. 전세계 누구라도 노드가 될 수 있으며, 각 노드는 블록체인 네트워크에 연결된 모든 블록 정보를 가지고 있습니다. 노드는 크게 아래와 같이 2가지로 분류 할 수 있습니다.
- 풀 노드(Full Node)
- 라이트 노드(Lightweight Node)
그럼 각 노드가 무엇인지 알아보도록 하겠습니다!
풀 노드(Full Block Chain Node)
풀 노드는 이름에서 알 수 있듯이 모든 기능을 다 가지고 있는 노드입니다. 블록체인의 최초의 블록부터 현재 새롭게 생성되는 블록까지 모든 블록 정보를 가지고 있다고 생각하시면 되겠습니다.
풀노드는 몯느 블록체인 정보를 수집하고 저장하는 역할을 수행하며, 새로운 블록을 추가하기 위해 전달받은 블록에 대해 '검증'을 수행합니다.
라이트 노드(Lightweight Node)
라이트 노드는 모든 블록정보의 원본을 가지고 있지 않고 일종의 요약본 즉 헤더정보만 가지고 있는 노드입니다. 모든 블록정보를 가지고 있지 않으므로 개별 거래에 대한 트랜잭션을 확인하기 위해 SPV를 수행합니다.
SPV(Simple Payment Verify)란?
라이트 노드는 모든 블록정보를 가지고 있지 않기 때문에 어떤 새로운 거래 정보를 수신받았을 경우 이 거래가 정상적인지 검증할 수 없습니다. 반대로 풀노드의 경우 모든 데이터를 가지고 있기 때문에 로컬에 있는 블록 정보를 조회하여 검증을 할 수 있습니다. 라이트 노드에서 거래를 검증하기 위해 풀 노드에게 블록정보를 요청하여 머클트리를 통해 이 거래가 검증된 거래인지를 확인하는 방법이 SPV입니다.
풀노드 및 라이트노드는 각자 역할이 다릅니다. 왜 이렇게 구분했을까요?
저장 용량이 좋은 데스크탑의 경우에는 모든 데이터를 저장하고 있어도 상관 없겠지만 모바일의 경우에는 모든 데이터를 저장하기에 무리가 있습니다, 또한 저장용량이 크다는 이야기는 데이터를 동기화 하는 시간 또한 엄청 오래걸리겠죠?
지갑(Wallet)이란?
갑자기 노드를 설명하다 말고 지갑이 나와서 황당하시죠?? 앞서 노드에 대한 설명과 노드의 구성요소에 대해 알아봤습니다. 그리고 전세계에 수십만개의 노드들이 있다고 하였는데 그 노드들의 정체가 무엇일까요? 바로 지갑(Wallet)입니다!
우선 지갑의 종류와 구성요소에 대해서 간략하게 살펴보겠습니다.
지갑의 종류
- 데스크탑(PC)지갑
- 모바일 지갑
- 하드웨어 지갑
- 웹 지갑
비트코인 지갑 프로그램의 구성요소
- 지갑 프로그램
- 지갑 UI
- 지갑 파일
- 블록체인
아직은 지갑에 대해서 명확하게 알고 있는 수준은 아닙니다만.. 지갑(Wallet)은 추후 포스팅에서 심도있게 다뤄보고 싶은 주제입니다! 어쨋든 지갑이 노드 즉 서버 역할을 수행하다니 놀랍습니다.. 추후에 각 지갑의 종류와 구성요소에 대해서 꼭 심도있게 포스팅 하도록 하겠습니다!
그럼 오늘 학습한 내용을 다시 정리해보겠습니다!
- 블록체인 네트워크는 별도의 중앙서버가 없으며, 전 세계적으로 연결된 수십만개의 서버가 존재한다. 이 서버를 노드(node)라고 부른다.
- 노드는 풀노드와 라이트노드로 분류할 수 있다. 풀노드는 전체 데이터를 다가지고 있으며, 라이트 노드는 데이터의 요약본만 가지고있다.
- 노드의 정체는 지갑(Wallet)이며 지갑은 데스크탑, 모바일, 하드웨어, 웹 지갑이 있다.
- 지갑의 종류에 따라서 풀 노드 방식과 라이트 노드 방식을 사용한다.(모바일의 경우 무조건 라이트 노드방식입니다!)
이상으로 노드에 대한 개념과 아주 간략하게 지갑에 대해서 알아봤습니다.
다음 시간에는 비트코인 난이도값을 구하는 공식에 대한 포스팅을 진행하고자 합니다. 대략 2주 동안 찾아보고 연구하였으나 별 진척이 없고 난해한 내용입니다. 계속 미루는것보다는 제가 알아본 내용과 사실을 공유하고 부족한 부분을 누군가가 채워줬으면 하는 바램이 큰것같습니다. 조금은 부족하지만.. 다음 포스팅에서는 비트코인 난이도와 관련된 내용으로 찾아뵙도록 하겠습니다.
이상 긴 글 읽어주셔서 감사합니다!
[참고자료]
http://www.leejungmin.org/post/2017/05/30/mastering-bitcoin/
http://blog.naver.com/PostView.nhn?blogId=snrndi121&logNo=221002644850
https://steemit.com/kr/@icoreport/mastering-bitcoin-ch-3
https://steemit.com/kr/@twinbraid/3ncb5r
[참고도서]
새롭게 바뀐 비트코인 쉽게배우기
초보로써 잘 배우고 가네요!
감사해요.ㅎ
도움이 되었다니 제가 더 감사합니다! 즐거운 하루 보내세요^^
와 깔끔한 정리 감사합니다. 팔로우하고 보팅하겠습니다. 지난글 정주행하고 앞으로 글도 기대하겠습니다. ㅎㅎ
포스팅이 계속 이어지는 경향이 있습니다~ 지난글들 꼭 읽어보시면 약간의? 도움이 될것같네요~ 저두 찾아뵐게요!!
많이 배우고 갑니다
방문해주셔서 감사합니다:)
좋은내용이네요!
채굴이 가능한 지갑이 풀노드!
맞습니다! 채굴을 하기 위해서는 풀노드가 필요하죠! 찾아주셔서 감사합니다:)
짱짱맨은 스티밋이 좋아요^^ 즐거운 스티밋 행복한하루 보내세요!
저두 짱짱맨과 함께하는 스팀잇이 좋아요:) 즐거운 하루 보내세요!!
궁금한거 질문좀 드려도 될까요?
노드가요. 지갑이라고 하셨는데요.
그럼 제가 마이이더월렛을 가지고 있다면.. 제가 노드가 되는건지요?
또한, 마이이더월렛에 로그인을 해놨을경우만 노드가 되는것인지
아니면 오프라인 상태도 노드인 것인지요?
그리고 마이이더월렛은 풀노드인가요? 라이트노드인가요?
초보라 죄송해요. 초보자에 눈높이에 글 써주시는거 감사합니다.
덕분에 마니 배우고 있어요
핫 아닙니다! 저도 초보인걸요~
우선 질문에 대한 답변을 드려 볼게요~
마이더 월렛은 제가 알고 있기로 웹 지갑 형태입니다.
웹 지갑은 제가 알고 있기로는 지갑을 제공해주는 사이트에서 따로 지갑을 생성해주고
관리해주는 형태입니다. 그렇기 때문에 웹지갑은 노드의 역할을 수행하지 않을것같네요!
노드는 데스크탑용 지갑을 설치했을 경우 "bitcoind" 데몬도 같이 설치가 됩니다. 이녀석이 방송을 수신하고 전파하는 역할을 백그라운데에서 계속하게되고 이녀석때문에 지갑 프로그램이 노드라고 표현되는겁니다!
도움이 되셨다면 좋겠네요~ 다음에 이 내용도 심도있게 작성해드릴게요:)
친절한 답변 감사드립니다.
그리면 데탑용 월렛의 경우는 월렛을 설치했을경우에는 컴퓨터 온/오프와는 상관없이
노드로서 참여가 되는것인지요?
좋은 정보에 감사하며.. 보팅? 이게 스팀달러 같은걸 주는건가요? 이거 해드리고 싶은데
방법을 모르겠네요 ㅎㅎ
이전글들 보니 직장이 판교신거 같은데.. 저도 판교살고 있는데요 반갑네요^^
하핫:) 넵 판교에서 근무하고 있어요 ^^
컴퓨터가 꺼지면 노드로서의 역할을 수행할 수 없습니다!!
그럼 오늘 하루도 즐겁게 마무리하세요!!