토렌트 네트워크와 순수한 P2P 네트워크에 대한 설명

in #kr6 years ago (edited)

비트코인이 제공한 블록체인 기술은 순수한(pure) P2P 네트워크를 운영하는 신뢰할 수 있는 방법을 처음으로 제공하였습니다.

하지만, 가끔 "토렌트가 P2P 네트워크를 이용하지 않나?"라는 질문을 받게 됩니다.

이에 대한 대답은 아래의 그림에서 확인을 할 수 있습니다.

토렌트는 결론적으로 하이브리드 P2P 네트워크를 사용합니다. 즉 서버와 P2P 네트워크를 모두 사용합니다.

구체적으로, 토렌트는 트렉커라는 서버를 통해서 특정 데이터(예, 영화 동영상)를 가지고 있는 피어의 IP 주소를 얻습니다. 즉 먼저 서버를 이용합니다. (아래 그림의 짧은 점선 참조)

그 후, 직접 피어들이 P2P 네트워크를 연결하여 데이터를 주고받게 됩니다. 즉 이번에는 P2P 네트워크를 이용합니다. (아래 그림의 긴 점선 참조)

1.png

이를 조금 구체적으로 알기 위해서 클라이언트-서버 모델과 순수한 P2P 네트워크에 대한 잠깐 알아보겠습니다.

아래 그림은 클라이언트-서버 모델(왼쪽)과 순수한 P2P 네트워크(오른쪽)를 보여줍니다.

왼쪽에 보인, 클라이언트-서버 모델은 우리가 거의 대부분 이용하는 방법이며, 서버가 네이버 서버인 경우를 예를 들었으며, 모두 서버에 접속을 해야 하므로, 중앙화된 경우입니다.

이 시스템의 특징은 모든 데이터는 서버(의 DB)에 저장을 합니다. 즉, 클라이언트인 노트북 등의 컴퓨터로 이 서버에 자료를 저장하고, 또한 필요한 데이터를 이 서버로 부터 불러와서 클라이언트인 노트북 등에 이를 표시하게 됩니다.

즉, 모든 자료는 서버의 DB에 저장이 됩니다.

이에 따라서 서버는 많은 사람들이 동시에 접속할 수 있도록 1) 대역폭이 매우 넓어야 하고, 2) 저장 용량이 매우 크고, 3) 처리 속도가 매우 빨라야 하는 것이 특징입니다. 이런 기능을 구비하기 위해서, 많은 투자를 해야 합니다.

또한 이런 시스템은 네이버라는 특정 회사가 데이터, 즉 DB를 독점하고 있기 때문에, 모든 데이터는 기본적으로 네이버가 통제를 하게 됩니다.

이 때문에 정부가 네이버를 통해서 검열이 가능하게 하는 통로로 작용할 수 있습니다. 즉, 정부가 원하지 않는 특정 자료를 제공하지 못하게 할 수 있습니다. 여러 국가에서 이런 방법으로 정보를 통제하고 있습니다.

아래의 오른쪽 그림은 비트코인에 적용된 순수한 P2P 네트워크를 보여줍니다.

이 그림과 같이, P2P 네트워크는 다수의 피어로 구성이 되고, 특정 피어는 다른 피어들 중 일부와 통신으로 연결되어 있는 것이 특징이고, 이는 거미줄과 비슷한 모습이며, 분산화된 모습입니다.

물론 이 그림과 달리, 피어들은 지역적으로 가까운 피어와 연결이 되는 것은 아니고 임의의 피어와 연결이 됩니다. 하지만, 특정 피어가 일부의 피어들과 연결된다는 것이 중요합니다.

물론, 이 P2P 네트워크의 목적은 클라이언트-서버 모델과 같습니다. 즉, 서버의 역할을 분산된 피어들이 담당을 하게 됩니다.

다시 말해서, 데이터를 분산된 피어들이 관리를 하게 됩니다.

이것은 서버가 관리하던 데이터(즉, DB)를 분산된 피어들이 대신 관리하는 것입니다. 즉, 블록체인을 피어들이 생성 및 유지를 하게 됩니다.

따라서, 제3자인 네이버가 서버를 관리하는 대신에 다수의 피어들이 협동하여 하나의 DB(즉, 블록체인)를 생성 및 관리하고 유지하는 것이 블록체인 기술인 것입니다.

이런 방법은 데이터를 다수의 피어가 관리를 하고, 이 피어들이 한 국가에 있는 것이 아니고 일반적으로 다수의 국가에 분산되어 있기 때문에 특정 정부가 정보를 검열할 수 없는 것입니다.

2.png

Sort:  

블럭체인을 이용해서 네이버나 구글과 같은 거대한 검색 색인 디비를 수많은 노드들에서 같은 꼴로 공유하려면 컴퓨팅 리소스가 지금의 중앙집중식보다 엄청나게 많이 들어가지않을까요?

네 맞습니다.
그래서, DApp 플랫폼의 경우 EOS와 같이 AWS에서 소수의 블록생성자를 두는 것이 완전히 분산화하는 것보다 좋은 선택일 수 있습니다.

Coin Marketplace

STEEM 0.29
TRX 0.12
JST 0.033
BTC 63373.75
ETH 3170.63
USDT 1.00
SBD 3.88