풀노드와 라이트노드를 알아보자

풀노드


풀노드는 블록체인을 통채로 다운 받은 개체를 말합니다
비트코인의 경우 역사와 전통이 있기에 (8년-ㅅ-)
아무리 텍스트에 불과하다지만
그 정도 쌓이니 130기가를 상회하게 되었습니다.

이렇게 통채로 다 받아놓으면 용량이라는 단점이 있지만
반대로 자신의 pc에 전부 받아놨기 때문에
다른 노드의 도움없이 스스로 거래의 검증이 가능합니다.

예를들면
철수가 순이한테 돈을 보낼려면
자신의 잔고를 블록체인 어딘가에서 찾아야되죠.

풀노드는 그것을 자신의 컴터상에서 바로 찾아서
거래를 작성할 수 있습니다.

SPV노드 (단순지불검증노드)


하지만 여러분은 안드로이드 지갑부터 시작해서
브라우저 지갑등.. 사실 풀노드 지갑은 거의 사용하지
않고 있을것입니다.

특히 안드로이드 같은 경우는 그 용량을 감당하지 못하죠

그래서 초기에는 풀노드 지갑뿐이었지만..
시대에 맞춰 풀노드가 아니더라도 사용할 수 있는 노드들이
나오기 시작했습니다.

그중 하나가 단순지불검증 노드

SPV (Simple Payment Verification)

노드 입니다.
다른 말로는 라이트웨이트 노드라고 합니다.

이 노드의 장점은 당연 가벼움입니다.
반면 가벼운 만큼 블록체인의 거래데이터가 없기에
다른 풀노드들에게 자료를 요청해야만
거래를 진행할 수 있습니다.

잔고확인


어떤 거래를 진행할려면
당연히 계좌에서 잔고를 확인해야합니다.

블록체인의 경우는 마지막 거래가 이뤄진
계좌를 찾아야만 하죠.
매번 변경되니까..

문제는 데이터가 어마어마하다는 것입니다.
컴퓨터에서 원하는 것을 찾으려고
'찾기'를 돌려도 엄청 걸리는데

2억8천건의 내에서 그런 것을 찾을려면
엄청난 시간이 걸릴 수밖에 없습니다.

다행히 풀노드의 경우 처음 블록체인을 차곡차곡
받을때 최종적으로 돈이 들어있는 계좌(UTXO)들을
블록체인이 아니라 훨씬 빠르게 찾는
데이터베이스에다가 모아둡니다.
수도 5천6백건 정도로 확 줄어들어 금방 찾을 수 있게되죠

SPV 노드의 경우는
다른 풀노드에게서 데이터를 받아서 검증하게 됩니다.
하지만 다른 노드를 의지하기 때문에
처음부터 제대로된 데이터가 날아오느냐의 문제가 있죠.
악의적 노드가 가짜를 날리면
SPV 노드로썬 구분할 방법이 없습니다.
이것이 커다란 문제를 야기하진 않지만
그럴경우 잘못된 거래를 발송할 것이기에
다른 노드들이 자꾸 취소시켜버릴테고
거래지연이 발생하게되겠죠

맺으며


하지만 SPV 노드도 나름 최소한의 블록체인 정보를
받는 블록체인의 일원인 만큼
없는 거래를 있었다고 조작한다거나 할 순 없습니다.

그런 것이 가능한 것은
블록체인의 전부를 받진 못하지만
요약본을 받아서 작은 검증은 되기 때문이죠.

그리고 그것을 가능케하는 것이
거래들의 요약본 머클트리 입니다.
다음엔 머클트리를 알아보겠습니다-ㅅ-/

H2
H3
H4
3 columns
2 columns
1 column
38 Comments