IPFS 그리고 HTTP

HTTP 는 전체 네트워크에 서비스를 제공하기 위해 중앙 서버를 실행하는 중앙 집중식 하이퍼 텍스트 전송 프로토콜 입니다. 그러나 인터넷과 성장하는 데이터의 발전으로 인해 그 단점이 더욱 두드러졌습니다:

  • [네트워크 지연]: 모든 사용자 액세스 데이터가 중앙 서버에 연결되며 사용자가 많으면 네트워크 정체가 발생할 수 있습니다. 네트워크 전송을 사용하면 네트워크 요청이 서버에 더 빨리 도달 할 수 있지만 서버가 모든 요청을 처리하여야 합니다. 네트워크 요청이 폭발적으로 증가하면 서버가 정상 속도로 데이터를 처리 할 수 없으며 사용자가 보낸 요청에 대한 응답이 지연됩니다.
  • [높은 서버 비용]: 중앙 집중식 서버의 유지 관리 비용은 매우 높습니다. 서버의 운영 환경 및 유지 보수는 굉장히 까다로우며 네트워크의 안정성과 보안을 유지하기 위해 많은 기업들이 여러 원격 컴퓨터와 서버를 백업으로 사용합니다.
  • [보장되지 않는 데이터 보안]: 데이터는 중앙 서비스 제공 업체에 저장됩니다. 여러 백업 서버가 있지만 서버에 문제가 있으면 전체 네트워크에 영향을 미칩니다. 네트워크에 정상적으로 액세스 할 수 없으면 치명적인 결과를 얻습니다. 동시에 데이터는 중앙 서버에 저장됩니다. 중앙 서버가 해킹되거나 서버가 악의적인 행동을 하는 경우 데이터가 크게 위협 받게됩니다.
  • [네트워크 리소스 낭비]: 모든 사람들이 중앙 서버에서 데이터를 가져 오도록 요청하기 때문에 중앙 집중식 서버의 트래픽이 늘어나 많은 비용을 소비하게 됩니다. 특히 일부 중복 파일의 전송, 예를 들어 싸이의 ‘강남스타일’ 뮤직비디오가 30억 view 인데 이 파일의 크기가 100MB 라고 가정하면 네트워크 트래픽이 300P (1P = 1,000,000GB) 낭비되고 0.01USD/GB 에 따라 CDN 비용이 계산됩니다.
  • [느려진 네트워크]: HTTP 프로토콜을 사용하면 매번 중앙 서버에서 전체 파일 (웹 페이지, 비디오, 그림 등) 을 다운로드하기 때문에 속도가 느리고 비효율적입니다.

위의 문제를 잘 해결하기 위해 IPFS 가 등장했습니다. IPFS 데이터 분산 스토리지는 물론 내결함성 메커니즘을 통해 각 노드가 생태적 안정성과 보안을 동시에 유지 관리 할 수 있습니다. 다음은 IPFS 가 어떻게 이러한 문제를 해결하고 그 효과가 무엇인지 분석합니다.

  • 네트워크 복잡성 해소: IPFS 는 분산 스토리지 리던던시 메커니즘을 채택하고 있습니다. 네트워크에 데이터가 저장되면 256kb 크기에 따라 여러 조각으로 나뉘며 여러 복사본이 백업됩니다. 그런 다음 데이터 조각이 수요에 따라 해당 노드에 업로드 됩니다. 데이터가 검색되면 데이터 조각을 처음 저장하는 노드는 시드와 같으며 다른 노드가 데이터를 얻은 후 다운로드 완료된 데이터를 네트워크에 제공합니다. 즉, 네트워크에서 데이터를 보유한 사람은 데이터를 네트워크에 제공합니다.
  • 저렴한 시스템 운영 비용: 중앙 서버의 유지 관리 비용이 없습니다.
  • 강화된 데이터 보안: 데이터는 n 개 (256kb) 로 나뉘어 네트워크의 여러 노드의 백업 노드 스토리지에 저장됩니다. 이런 방식은 누군가에 의해 가로 챈 데이터는 불완전하고 단편이기 때문에 파일을 결합할 수 없음을 보장합니다. 또한 데이터를 더욱 안전하게 유지하기 위해 스토리지 노드는 여러 백업을 설정할 수 있습니다.
  • 네트워크 리소스 해소: 네트워크 전송은 분산 노드를 사용하므로 에지 트래픽을 효과적으로 활용하고 트래픽 낭비를 효과적으로 해결합니다.
  • 빠른 다운로드: IPFS 시스템은 분산 파일 저장 시스템이며 관련 데이터를 다운로드 할 때 중앙 서버 방식의 HTTP 와 비교하여 여러 노드에서 동시에 파일 조각이 다운로드되기 때문에 속도가 매우 빠릅니다. (BitTorrent 를 사용하는 방식과 비슷함)

IPFS 기술은 아직 개념 단계에 있으며 아직은 응용 프로그램이 거의 없기 때문에 다양한 테스트를 거쳐야하며 현재 http 를 곧 대체 할 것으로 예상됩니다. 물론 이것은 IPFS 의 디자인 비전이기도 합니다.