반응형

1. 블록체인에서의 노드(node)란?


보통 컴퓨터 전공을 하는 사람들에게 노드라는 개념은 하나의 단위로 여겨진다.


트리 구조에서는 하나의 노드가 아래의 그림에서 볼 수 있듯이 A,B,C,D,E,F,G 각각을 의미한다.


블록체인에서는 노드가 무얼 의미하는지 알아보자.


블록체인 네트워크는 중앙을 관리하는 서버가 존재하지 않는다.


하지만 중앙 서버가 없다고 해서 서버가 없는 것은 아니다.


블록체인에서 서버는 개개인이 서버가 되고, 서버는 수십만 수백만개가 될 수 있다.


이러한 개개인의 서버를 블록체인에서는 노드(node)라고 부른다.


즉, 전 세계의 누구라도 노드가 될 수 있고 그러한 노드들은 Full node냐 Lightweight Node냐에 따라 블록체인 네트워크에 연결된 모든 정보를 가지고 있는지, 부분적으로 가지고 있는지로 나뉜다.






2. 풀 노드(Full Blockchain Node)



풀 노드는 블록체인 네트워크의 모든 정보를 받아 온 노드를 의미한다.


즉, 블록체인의 최초 블록부터 계속해서 새롭게 생성되는 블록의 모든 정보를 다 가지고 있는 노드이다.


풀 노드는 모든 블록체인 정보에 대해 수집과 저장을 하고 새로운 블록 추가를 위해 전달받은 블록을 검증한다.





3. 라이트 노드(Lightweight Node)



라이트 노드는 모든 블록체인 원본을 가지고 있지 않고 요약본(헤더정보)만 가지고 있게 된다.


따라서 라이트 노드가 검증에 참여하기 위해 즉, 개별 거래에 대한 트랜잭션을 확인하기 위해서는 SPV를 수행하게 된다.




SPV(Simple Payment Verify)


라이트 노드는 앞서 말했듯이 모든 블록정보를 가지고 있지 않기에 새로운 트랜잭션을 받았을 경우 이 거래가 유효한지 검증하기위해 풀 노드에게 블록 정보를 조회하여 검증을 하게 된다.


이때 현재 블록의 머클트리중 풀 노드에게 머클 경로를 받아 라이트 노드는 이 트랜잭션이 유효한지 검증하게 된다.


http://www.crocus.co.kr/1238?category=270981를 참고해보자.


이러한 방법을 SPV라고 한다. 




이러한 이트 노드가 필요한 이유는 다음과 같다.


용량이 큰 데스크탑의 경우에는 모든 데이터를 저장하고 있어도 상관 없지만,


용량이 작은 모바일의 경우에는 모든 데이터를 저장하기에 무리가 있기 때문이다.


하지만 블록체인 네트워크를 더 안전하게 하기위해서는 라이트 노드의 역할이 필수 불가결적이다.








반응형