비트코인 네트워크는 P2P ( peer-to-peer )네트워크 아키텍처 구조를 이루고 있습니다.
이겨서 P2P란 클라이언트, 서버 개념 없이 네트워크에 참여한 개인이 서버이기도, 클라이언트이기도 하면서 모두 동등한 지위를 가지고 있고, '특별한' 노드는 존재하지 않으며 모든 노드가 네트워크에 서비스를 공급, 지원하는 역할을 하는 네트워크를 의미합니다.
여기서 가장 중요한 것은 서버가 없다는 것입니다.
P2P 네트워크의 노드는 서비스를 제공하고 동시에 서비스를 이용하며, 네트워크에 참여에 대한 인센티브를 제공함으로써 호혜적인 역할도 수행합니다.
대표적인 예로, 예전의 소리바다, 토렌트가 있습니다.
다시 본론으로 들어가 비트코인 네트워크는 '비트코인 P2P 프로토콜'을 실행하는 노드들의 집합이라고 할 수 있습니다.
그렇다면 비트코인 네트워크에 존재하는 노드들에 대해 살펴보겠습니다.
비트코인 노드의 유형 및 역할
비트코인 네트워크에 모든 노드들이 동등한 위치에 있다하더라고 지원하는 기능에 따라 역할이 달라집니다.
Wallet (지갑)
- 사용자의 개인키와 공개키를 관리하고 거래에 사용되는 주소를 생성하는 기능
Miner (채굴)
- 작업 증명 알고리즘을 사용하여 10분간의 유효한 거래를 블록으로 생성하고 메인체인에 연결하는 기능
Full BlockChain (블록체인 데이터베이스)
- 최초의 블럭인 제네시스블록과 가장 최신의 블록까지 포함한 완전한 블록체인 복사본 (용량이 매우 큼)
Network Routing (네트워크 라우팅)
- 블록체인상의 P2P 네트워크 전송 기능
위와 같은 4가지의 기능을 조합함으로써 다양한 형태의 노드가 형성됩니다.
- 레퍼런스 클라이언트 Reference Client (Bitcoin Core): 비트코인 창시자 사토시 나카모토가 만든 공식 클라이언트. 초창기에는 이 노드 형태밖에 없었으며 시간이 지나면서 다양한 유형의 노드가 생김.
- 풀 블록체인 노드 Full Block Chain Node: 풀 노드라고도 불리우며, 온전한 최신 블록체인 복사본을 유지.
- 단독 마이닝 노드 Solo Miner: 단독으로 마이닝이 가능한 노드. 마이닝 풀에 의존하는 마이닝 노드와 구별됨.
- 라이트웨이트 지갑 Lightweight (SPV) wallet: 풀 노드가 모든 거래기록을 포함 하는것과 달리 1,000배 가량 작은 헤더만 포함하여 지갑 기능만 수행.
- 풀 프로토콜 서버 Pool Protocol Servers: P2P 네트워크에 접속하는 게이트웨이 역할. 마이닝 풀의 노드들이 연결된 중앙 서버라고 보면 됨.
- 마이닝 노드 Mining Nodes: 풀 프로토콜 서버에 연결 및 의존하여 마이닝에 참여하는 노드.
- 라이트웨이트 스트라텀 지갑 Lightweight (SPV) Stratum wallet: 스트라텀 프로토콜을 사용하는 지갑. 역시 헤더만 포함하여 가볍게 지갑 기능만 수행.
'BlockChain > BitCoin' 카테고리의 다른 글
[BitCoin] 블룸 필터 (0) | 2019.05.02 |
---|---|
[BitCoin] 타원 곡선 암호화 (0) | 2019.05.02 |
[BitCoin] 단순지불검증(SPV) 노드 (0) | 2019.04.16 |
[BitCoin] 비트코인내에서의 거래 (0) | 2019.04.16 |
[BitCoin] 키, 주소, 지갑 (0) | 2019.04.15 |
댓글