Computer >> 컴퓨터 >  >> 네트워킹 >> 인터넷

IPFS(인터플래너티어 파일 시스템)는 어떻게 웹을 탈중앙화하는가?

IPFS(인터플래너티어 파일 시스템)는 어떻게 웹을 탈중앙화하는가?

최신 밈(meme)을 다운로드하고 다 받기를 기다렸다고 상상해 보세요. 물론 그 밈이 정말 훌륭하니 친구들에게 링크를 보냅니다. 친구들은 여러분의 폰에서 파일을 받아 자기들끼리 또 공유하기 시작합니다. 이 시점에서 그 밈은 수십 대의 기기에 저장되어 있는데, 누군가 새로 링크를 받으면 실제로는 주변의 여러 사람과 동시에 연결되어 각자에게서 조각을 나눠 받게 됩니다. 결과적으로 다운로드는 거의 즉시 완료됩니다.

인터플래너티어 파일 시스템(IPFS, Interplanetary File System) 덕분에 이렇게 현실적이면서도 놀랍도록 사용하기 쉬운 시스템이 더 빠르고 민주적인 인터넷으로 가는 열쇠가 될지도 모릅니다. 기본 아이디어는 간단합니다. 현재 중앙화된 서버에 있는 데이터를 사용자 기기들이 저장하고, 색인하고, 전달하는 것입니다. 암호화폐와 비슷하게 들린다면 정확합니다. 프로젝트의 창시자 후안 베네트(Juan Benet)는 IPFS를 "어떤 의미에서 비트코인이 화폐에 한 일을 웹사이트에 하는 것"이라고 표현했습니다.

인터플래너티어 파일 시스템(IPFS)이란?

비트토렌트(BitTorrent)나 다른 P2P(Peer-to-Peer) 기술의 작동 방식을 알고 있다면 IPFS가 하려는 일을 절반 이상 이해한 셈입니다. IPFS는 대부분의 웹사이트를 구성하는 HTML, CSS, JavaScript 파일을 포함한 파일과 파일 조각들을 사용자 기기 사이에서 주고받습니다. 마치 퍼블릭 도메인 음악을 합법적으로 토렌트하듯이 말입니다.

IPFS(인터플래너티어 파일 시스템)는 어떻게 웹을 탈중앙화하는가?

즉, 사이트를 보기 위해 서버에 접속하는 대신, 근처에 그 페이지(또는 일부 조각)를 저장하고 있는 사람이 있는지 확인하고 바로 그들에게 연결하는 것입니다. 페이지를 다운로드하면 여러분의 기기도 잠시 동안 그 페이지를 저장해 다른 사람들이 여러분에게서 받을 수 있게 해줍니다. 다소 복잡해 보이지만, 실제로는 HTTP 프로토콜로 단일 서버-클라이언트 경로를 통해 데이터를 전송하는 기존 방식보다 훨씬 효율적입니다.

IPFS의 강점은 무엇인가?

IPFS는 기존 웹에 비해 몇 가지 큰 장점이 있습니다.

  • 더 빠르고 효율적인 콘텐츠 전송: 지리적으로 가까운 여러 소스에서 파일 조각을 동시에 받아 이동 시간과 대역폭을 최소화할 수 있습니다.
  • 탈중앙화: 특정 단일 주체가 데이터나 접근 권한을 통제할 수 없습니다.
  • 정보 보존: 모든 데이터를 하나의 서버만 저장하지 않으므로, 서버가 사라지더라도 지오시티(GeoCities) 웹사이트처럼 모든 것이 함께 증발하는 일은 없습니다.
  • 연결 불안정 지역에서의 안정적인 접속: 원하는 콘텐츠가 접근 가능한 곳에 이미 저장되어 있다면 장거리 연결이 필요 없습니다. 연결이 드물거나 불안정한 지역에서 큰 도움이 됩니다.
  • 검열 저항성: 완벽하지는 않지만 중앙화된 모델보다는 훨씬 유리합니다.
IPFS(인터플래너티어 파일 시스템)는 어떻게 웹을 탈중앙화하는가?

작동 원리: 요약 버전

IPFS 네트워크는 매우 사용자 친화적으로 발전했기 때문에 지금 당장 누구나 사용할 수 있습니다. 과정은 다음과 같습니다.

IPFS(인터플래너티어 파일 시스템)는 어떻게 웹을 탈중앙화하는가?
  1. 파일을 IPFS에 추가하면 파일은 블록 단위로 분할되고, 각 블록은 알고리즘을 거쳐 고유한 ID를 부여받습니다. 블록 ID들을 포함한 파일 전체에도 ID가 할당됩니다. 처음에는 여러분의 컴퓨터가 그 파일을 받을 수 있는 유일한 곳이지만, 다른 노드(컴퓨터)들도 파일을 가져와 배포할 수 있습니다.
  2. 네트워크가 여러분의 데이터 중 일부가 이미 저장된 콘텐츠와 동일하다는 것을 감지하면, 복사본을 새로 추가하는 대신 기존 것을 재사용합니다. 예를 들어 직접 녹음한 앨범의 디럭스 에디션을 호스팅한다고 해봅시다. 10곡은 기존 앨범과 같고 2곡만 신곡이라면, IPFS에 추가할 때 시스템이 중복 트랙을 인식해 기존 ID를 사용하고 두 개의 신곡에만 새 ID를 부여합니다.
  3. 네트워크상의 각 노드는 일부 데이터(대개 노드가 배포하고자 하는 데이터와 최근 열어본 데이터)와 네트워크에서 콘텐츠 위치를 찾는 데 도움을 주는 색인(index)의 일부를 저장합니다.
  4. 파일을 열고 싶으면 네트워크에 해당 ID를 조회해 달라고 요청하면 되고, 네트워크가 파일을 가진 사람과 연결해 줍니다. IPNS라는 이름 체계가 사람이 읽을 수 있는 이름을 시스템이 검색할 수 있는 기계 판독형 ID로 변환해 줍니다.
IPFS(인터플래너티어 파일 시스템)는 어떻게 웹을 탈중앙화하는가?

더 간단히 말하면, IPFS는 모든 데이터 조각에 이름을 붙이고, 해당 데이터가 현재 어디에 있는지 목록을 만들며, 기기들이 서로 직접 데이터를 주고받도록 돕는 시스템입니다.

작동 원리: 기술적 세부 사항

IPFS를 작동하게 하는 핵심 요소는 세 가지입니다. 콘텐츠 어드레싱(content addressing)이 데이터에 고유한 정체성을 부여하고, 머클-DAG(Merkle-DAG)가 구조를 제공하며, 분산 해시 테이블(distributed hash table)이 데이터의 위치를 알려줍니다.

콘텐츠 어드레싱: '어디'가 아니라 '무엇'

IPFS(인터플래너티어 파일 시스템)는 어떻게 웹을 탈중앙화하는가?

현재 우리가 사용하는 대부분의 콘텐츠는 위치 기반 주소(C:/Users/Username/Documents, 192.124.249.3 등)를 가지고 있어 데이터를 찾을 장소를 알려줍니다. 하지만 콘텐츠가 어디에나 저장될 수 있는 탈중앙화 시스템에서는 이런 방식이 잘 맞지 않습니다. 그래서 IPFS나 비트토렌트 같은 시스템은 '콘텐츠 어드레싱' 방식을 사용합니다.

콘텐츠 어드레싱 시스템은 데이터를 알고리즘에 통과시켜 고유한 ID, 즉 해시(hash)를 부여하는 방식으로 작동합니다. 동일한 파일의 모든 복사본은 같은 ID를 가지므로, IPFS가 조회할 때 네트워크에 저장된 모든 인스턴스를 찾을 수 있습니다.

머클-DAG: 모든 것에 CID가 있고, 모두 연결되어 있다

IPFS(인터플래너티어 파일 시스템)는 어떻게 웹을 탈중앙화하는가?

독일 정당 이름처럼 들리지만, 머클-DAG(Directed Acyclic Graph, 방향 비순환 그래프)는 실제로 데이터를 조직화하는 방법입니다. 이 시스템에서는 모든 데이터 조각이 자체 콘텐츠 ID(CID)를 가집니다. 폴더, 파일, 파일 내부의 데이터 블록까지 전부입니다. 덕분에 파일은 여러 부분으로 분할되고, 검증되고, 다시 조립될 수 있습니다.

IPFS 공식 문서는 이를 "거북이가 무한히 겹겹이 쌓인 구조"라고 설명합니다. 모든 것이 CID로 식별 가능한 데이터 모음으로 분해될 수 있기 때문입니다. 폴더의 CID는 파일과 폴더 CID들의 집합을 가리키고, 그 CID들은 다시 다른 콘텐츠 조각을 나타내는 또 다른 CID들을 가리킵니다. 어떤 파일이라도 변경되면 그 파일의 해시와 그것이 속한 폴더의 해시도 함께 변경됩니다.

IPFS(인터플래너티어 파일 시스템)는 어떻게 웹을 탈중앙화하는가?

실제 데이터가 여기에 저장되는 것은 아닙니다. 머클-DAG는 모든 데이터를 어디서 찾을 수 있는지, 그리고 데이터를 다 모았을 때 어떻게 조립해야 하는지만 알려줍니다. 머클-DAG는 본질적으로 이 모든 ID에 구조를 부여하는 역할을 하며, 컴퓨터의 파일 시스템과 비슷한 기능을 합니다.

분산 해시 테이블: IPFS가 콘텐츠를 찾는 방법

IPFS(인터플래너티어 파일 시스템)는 어떻게 웹을 탈중앙화하는가?

그렇다면 원하는 데이터를 가진 사람을 어떻게 찾을까요? 기본적으로 콘텐츠 ID와 해당 콘텐츠를 호스팅하는 컴퓨터의 위치를 연결해 주는 거대한 데이터베이스가 있으며, 이 데이터베이스 자체가 네트워크 참가자 모두에게 분산되어 있습니다. CID로 표현되는 콘텐츠를 요청하면 컴퓨터가 해당 CID를 검색해 파일을 보유한 노드들의 목록을 찾습니다. 이후 그들에게 연결해 필요한 데이터 조각들을 내려받고 조립합니다. 이것이 바로 분산 해시 테이블로, 본질적으로 '누가 무엇을 가지고 있는지'에 대한 거대한 목록입니다.

IPFS는 대세가 될 수 있을까?

IPFS(인터플래너티어 파일 시스템)는 어떻게 웹을 탈중앙화하는가?

IPFS는 2015년에 시작되어 이후 빠르게 성장해 왔습니다. 블록체인 기반 파일 스토리지 시스템인 파일코인(Filecoin), 지오시티 대체 서비스인 네오시티즈(Neocities) 등 수십 개의 앱과 사이트가 IPFS 위에 구축되었습니다. IPFS는 탈중앙화와 사용자 편의성 사이의 적절한 균형을 이루어냈는데, 이것이 소셜엔(Sociall, 탈중앙화 소셜 네트워크)이나 브레이브(Brave)처럼 탈중앙화를 지향하는 프로젝트들이 IPFS를 선택하는 이유일 것입니다.

클라우드플레어(Cloudflare)의 IPFS 게이트웨이도 큰 호응을 얻었고, 네트워크 사용은 갈수록 쉬워지고 있습니다. 프로그램을 다운로드하고 브라우저 확장 프로그램을 설치하기만 하면 됩니다. 물론 IPFS가 정말 최선의 해결책인지에 대한 논쟁은 남아 있습니다. 같은 비전을 가진 프로젝트가 IPFS만 있는 것은 아니기 때문입니다. 하지만 IPFS의 성장세가 꺾일 기미는 보이지 않습니다. HTTP를 완전히 대체하지 못하더라도, 차세대 인터넷의 중요한 축이 될 것으로 전망됩니다.