디지털 양피지/Blockchain

[Blockchain] 비트코인 네트워크

빨간 양말 2016. 2. 4. 17:35

P2P 네트워크 아키텍쳐


P2P 기술을 가장 광범위하게 성공시킨 사례는 파일 공유의 선구자이자 비트토렌트(BitTorrent)의 전신인 냅스터(Napster) 이다.

비트코인의 P2P 네트워크 아키텍처는 토폴로지의 선택 그 이상을 의미한다. 설계적인 측면에서 P2P 체제의 전자화폐 시스템이며 아키텍쳐의 근간으로 삼고 있다. 스트라텀(Stratum) 등 다른 프로토콜도 사용되지만 라이트웨이트 지갑이나 모바일지갑, 채굴용으로 사용되어진다.

'확장 비트코인 네트워크'란 비트코인 P2P 프로토콜, 풀 채굴 프로토콜, 스트라텀 프로토콜 및 비트코인 시스템의 구성 요소를 연결하는 연관 프로토콜 등이 포함되어 있는 네트워크 전반을 나타낸다. 


노드의 유형 및 역할


풀노드라고 불리는 노드는 완전하고 가장 최신의 블록체인 복사본을 가지고 있고 외부 참조 없이 독자적으로 신뢰할 수 있는방법으로 검증 가능하며, 라이트웨이트 노드는 단순 지불 검증(SVP)라는 방법을 통해 부분 집합만으로 유지되기도 한다. 파란색 노드가 풀노드를 나타내며 없는 노드들은 복사본을 유지하지 않는 노드이다.


< 지갑, 채굴자, 풀 블록체인 DB, 네트워크 라우팅 등 4개의 기능에 따른 비트코인 네트워크 노드>


아래는 확장 비트코인 네트워크 내에 있는 노드 중 가장 일반적인 형태를 보여준다.


<확장 비트코인 네트워크상에 있는 다양한 유형의 노드들>




< 다양한 노드의 유형, 게이트웨이, 프로토콜을 보여주는 확장 비트코인 네트워크>


네트워크 검색

네트워크에 들어가기위해서는 검색을 해야 한다. 일반적으로 각 노드는 8333번(보통 비트코인이 사용하는 포트로 알려짐)으로 연결하고 Handshake를 시작한다. version을 보내면 verack로 응답한다. 양방향 연결을 원할경우 version을 보내 다시 연결한다. 


< 이웃 노드간의 초기 핸드쉐이크>

새로운 노드는 어떻게 검색할까? 비트코인에는 종자노드(seed node)가 기록되어 있는데 니는 오랜 기간동안 안정되게 동작하고 있는 노드들이다. 노드는 비트코인 네트워크로 들어가는 경로를 다양하게 만들어 놓기 위해서 여러 다른 노드와 접속해야 한다.


< 주소 전파 및 검색>


풀노드

풀 블럭체인 노드들은 모든 거래가 담겨있는 비트코인 블럭체인의 최신 완성본이다. 현재 20기가 정도의 저장 공간이 필요하다.

가장 흔하게 사용하는 것이 기본 클라이언트인 비크코인 코어이며 사토시 클라이언트로 알려져 있다.


'인벤토리' 교환하기