아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
잘난앵무새111
잘난앵무새11120.08.27

각 노드가 전체 블록(분산원장)을 모두 보관하나요?

블록체인 기술의 보안성이 탈중앙화이고 모든 거래가 블록에 기재된다고 들었습니다. 블록당 비트코인의 경우 1mb인데 이를 노드/채굴자 모두가 가지고 있는거라면 노드별 부하가 극심할것 같은데 전체 노드가 하나의 서버로 분업하는 것인지 각 노드가 각자 탈중앙화된 하나의 서버인지 궁금합니다.

하나의 잘못된 블록은 대다수의 옳은 블록과 충돌시 소멸한다고 들었는데 이런 개념이라면 어떤 노드는 옳은 100번째 블록을, 어떤노드는 잘못된 100번째 블록을 가졌다는거고 그렇다면 노드별로 전체 블록을 소지하고 서로 비교하는 느낌인데 위에 이야기했듯 각 노드에게 부하가 클것 같은 생각이 들어 제가 뭔가 잘 못 이해하고 있는것 같아 질문드립니다.

제가 뭔가 개념 정리가 많이 잘못 된건지도 모르겠네요. 블록체인의 탈중앙화와 투명성 확보나 채굴자가 해시파워를 통해 알고리즘이 작동하고 생태계가 유지된다 정도는 이해하고 있습니다.

55글자 더 채워주세요.
답변의 개수3개의 답변이 있어요!
  • 안녕하세요 잘 알고계시는 것 처럼 비트코인의 1mb의 블록당 용량과 생성주기 덕분에 항상 확장성 문제에 시달렸고 그로 인해 사이드체인등 여러가지 대안들을 내놓는 부분과 더불어 다른 알트코인들이 그 틈을 비집고 들어가 하드포크나 신생코인으로 재등장하는 계기가 되기도 하였습니다.

    또 그렇기 때문에 세그윗등을 통해 거래내역만 단순 저장하는 것으로써 XBT의 온체인 오프체인으로의 구별을 진행했죠


  • 저도 흥용님과 같은 궁금증이 들어서 예전에 찾아본 기억이있어서 관련내용 참고 부탁드립니다.

    아래 내용에 대한 풀 링크도 드릴테니 읽어보세요~

    라이트노드는 블록체인에 참여하여 거래를 수행하는 노드로, 풀노드에 거래 데이터를 요청하여 개별 거래를 검증하는 기능을 수행한다.

    풀노드처럼 모든 블록 정보의 원본을 가지고 있지는 않고 일종의 요약본, 즉 블록헤더에 있는 중요한 데이터만 보유하고 있다.

    스마트폰의 경우, 100GB 저장 공간을 가진 폰이 아직 많지 않기 때문에 안드로이드 모바일 비트코인 지갑은 라이트 노드로 사용된다.

    참고로 데스크톱 컴퓨터의 비트코인 지갑은 풀노드로 사용된다.

    라이트노드는 모든 블록정보를 가지고 있지 않기 때문에 어떤 새로운 거래 정보를 수신받았을 경우 이 거래가 정상적인지 검증할 수 없다. 반대로 풀노드의 경우 모든 데이터를 가지고 있기 때문에 로컬에 있는 블록 정보를 조회하여 검증을 할 수 있다. 따라서 라이트노드는 개별 거래에 대한 트랜잭션을 확인하기 위한 SPV(Simple Payment Verify, 단순 지불 검증)를 사용한다. SPV는 라이트노드에서 거래를 검증하기 위해 풀노드에게 블록정보를 요청하여 머클트리를 통해 이 거래가 검증된 거래인지를 확인하는 방법이다.

    라이트노드: http://wiki.hash.kr/index.php/%EB%9D%BC%EC%9D%B4%ED%8A%B8%EB%85%B8%EB%93%9C

    풀노드: http://wiki.hash.kr/index.php/%ED%92%80%EB%85%B8%EB%93%9C


  • 우선 모든 채굴 하는 노드에 전체 블록이 저장되어 있습니다.

    채굴을 하기전에 전체 블록을 다운받고 나서 그다음부터 채굴이 시작 됩니다.

    그래서 비트코인이 블록을 1mb로 정한것이기는 합니다.

    몇년 전부터 하드디스크와 ssd가격이 저렴해졌기 때문에 비트코인 캐쉬 같은 경우에는 2mb~9mb까지 블록을 생성하게 되었습니다.

    항상 블록을 전체를 다 비교할 이유는 없는 것으로 알고 있습니다.

    잘못 된 블록의 경우(위조된 블록) 해쉬값으로 앞에 블록 이전 블록등을 가지고 위변조를 구별할 수있는 것으로 알고 있습니다.