본문 바로가기

IT

블록체인 네트워크, P2P 네트워크란 무엇인가

블록체인이 제대로 작동하기 위해서는 기본적으로 네트워크가 반드시 필요합니다.​

블록체인은 피투피 네트워크를 사용합니다. 그 피투피 네트워크의 방식과 개념을 알아보도록 하겠습니다.

우선, 피투피 네트워크를 설명하기 전에, 일반적인 네트워크를 먼저 설명하겠습니다.​

인터넷으로 검색하고 메일을 보내고 하는 것을 서비스라고 합니다.​

이런 서비스를 제공해 주는 컴퓨터들이 있는 데, 이런 컴퓨터를 써버라고 합니다. ​

그리고, 이런 서비스를 요청하기 위해서는 스마트폰이나 노트북 같은 컴퓨터를 사용하게 됩니다.​

인터넷 검색을 위해서 검색어를 입력하고, 메일을 써서 보내고 하는 컴퓨터나 스마트폰을 클라이언트하고 합니다.

예를 들어, 인터넷에서 검색을 하는 것은, 클라이언트에 설치되어 있는 크롬 같은 웹브라우저에서 검색어를 입력해서 써버로 보내는 것입니다.​

그러면 써버에 설치되어 있는 웹서버가 그 검색어를 받아서 검색한 결과를 클라이언트 쪽으로 보내주게 됩니다.​

그러면 클라이언트에서 검색결과를 볼 수 있는 것입니다.

일반적으로, 하나의 서버에 여러대의 클라이언트가 연결됩니다. 수 많은 클라이언트에서 서비스 요청이 들어오게 됩니다.​

그래서, 써버는 용량이 크고 빠른 컴퓨터로 만들어야만 합니다.

다음은 피투피 네트워크에 대해서 설명하도록 하겠습니다.​

피어라는 것은 써버와 클라이언트 역할을 모두 할 수 있습니다. ​

그래서 피어는 서로가 요청을 보내기도 하고 답변을 보내기도 합니다. ​

요청을 보낼 때는 클라이언트 역할을, 답변을 보낼 때는 써버 역할을 하는 것입니다.

 

이러한 피어로 구성된 네트워크를 피어 끼리 통신한다는 의미에서 피어 투 피어 네트워크라고 합니다.​

피어 투 피어 네트워크를 줄여서 주로 피투피 네트워크라고 합니다. ​

피투피 네트워크는 새로운 피어가 추가되는 방식으로 무한하게 네트워크를 확장해 갈 수 있습니다.​

피어는 근처의 피어와 연결되고, 다시 그 피어는 다른 피어와 연결되어 전체 네트워크가 형성되는 방식입니다.​

피어는 네트워크를 구성하는 요소라는 의미에서 노드라고도 합니다.

피투피 네트워크는 사람들 간의 연결된 모습과 닮았습니다. ​

사람이 하나의 피어라고 할 수 있고, 사람들 간에 서로 대화하는 것이, 마치 피어 간에 요청과 답변이 오가는 모습과 비슷하다고 볼 수 있습니다. 

서버와 클라이언트 네트워크는 써버에 서비스가 집중되기 때문에 전체 네트워크를 설계하고 유지하기가 쉬운 편입니다.​

그래서 새로운 기능을 추가하거나, 오류를 수정하는 것 같은 관리가 쉽습니다.​

하지만 서버에 장애나 문제가 생기면, 네트워크 전체가 중단될 수 있다는 단점이 있습니다.​

그에 반해서, 피투피 네트워크는 서버를 준비할 필요가 없습니다. ​

각 노드들이 각각 서버 및 클라이언트 역할을 하기 때문에 네트워크 전체의 부담을 분산시켜 줍니다. ​

새로운 노드가 추가되더라도 서비스를 유지하기가 쉬워서 확장성이 좋다고 할 수 있겠습니다.​

하지만, 새로운 기능을 추가하거나 업데이트를 하려면 모든 노드를 수정해야 하므로 관리가 어려운 편이고, ​

네트워크 전송 시간 차이 때문에 노드들 간의 정보가 일치하지 않을 수 있고, 또한 전체 네크워크 속도가 느려지는 현상이 발생할 수 있는 단점도 있습니다.

 

맨 앞에서, 블록체인은 피투피네트워크를 사용한다고 말씀드렸는데요.​

 그것은 블록체인이 분산된 장부로 구성되기 때문입니다. ​

그리고, 분산된 장부는 하나의 서버에 의존하지 않는 분산된 네트워크를 필요로 하고, ​

분산된 네트워크에는 피투피 네트워크 방식이 좀더 보다 적합하다고 하겠습니다.​

분산된 장부에 대해서는 다음 동영상에서 설명하도록 하겠습니다.

https://youtu.be/JC5_2gbnrU8