카테고리 없음

IPFS(InterPlanetary File System)란?

dev.Woody 2022. 4. 13. 04:10

IPFS란?

IPFS는 파일, 웹 사이트, 응용 프로그램 및 데이터를 저장하고 액세스하기 위한 분산 시스템이다. 먼저, 땅돼지 연구를 하고 있다고 가정보자. 우선, 땅돼지의 위키백과 페이지를 방문하는 것으로 시작한다.

 

https://en.wikipedia.org/wiki/Aardvark

 

Aardvark - Wikipedia

Medium-sized, burrowing, nocturnal mammal native to Africa The aardvark ( ARD-vark; Orycteropus afer) is a medium-sized, burrowing, nocturnal mammal native to Africa.[2][3] It is the only living species of the order Tubulidentata,[4][5] although other preh

en.wikipedia.org

 

이 URL을 브라우저의 주소 표시줄에 넣으면 컴퓨터가 나라 반대편(혹은 지구) 어딘가에 있는 위키피디아의 서버  중 하나에 땅돼지 페이지를 요청하게 된다. 다음 요청에 대한 페이지를 받아서 정보를 획득할 수 있다. 하지만 이렇게 지구 반대편에 있는 서버에 요청하는 것이외에 IPFS에 있는 미러된 파일을 가져오는 것도 가능하다.  IPFS에 저장된 위키피디아의 미러된 파일이 있는데, 대신 그걸 사용할 수 있다. IPFS를 사용하는 경우 아래와 같은 링크를 통해 위의 위키피디아 문서를 가져올 수 있다.

 

/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/Aardvark.html

 

위의 링크를 보는 가장 쉬운 방법은 IPFS 게이트웨이를 통해 브라우저에서 링크를 여는 것이다. 위의 링크 시작 부분에 https://ipfs.io 을 추가하기만 하면 페이지를 바로 볼 수 있다.

 

IPFS는 웹 페이지의 위치가 아닌 콘텐츠를 기반으로 찾는 방법을 알고 있다. 따라서,  IPFS로 분류된 땅돼지 정보는 URL 중간에 있는 숫자(QmXo…)로 표시되며, 위키피디아의 서버중 하나에 페이지를 요청하는 대신 IPFS를 사용하여 전세계 많은 컴퓨터에 페이지를 공유하도록 요청한다. 따라서 위키피디아 서버뿐만 아니라 동일한 웹페이지를 가진 사람에게서 페이지를 받아볼 수 있다.

 

또한, IPFS를 사용하면 다른 사람이 보낸 파일만 다운로드하는 것이 아니라 컴퓨터가 배포하도록 한다. 근처에 있는 다른 사용자가 위키피디아 페이지를 필요로 할 때, IPFS를 사용하는 다른 누군가로부터와 마찬가지로 내 컴퓨터에서의 파일을 보낼 수 있다.

IPFS는 웹 페이지뿐만 아니라 문서, 이메일, 심지어 데이터베이스 레코드 등 컴퓨터가 저장할 수 있는 모든 파일에서 사용이 가능하다.

 

분산처리

만약 누군가가 위키피디아의 웹 서버가 공격받아 서버가 동작하지도 않아도, IPFS를 사용하면 언제나 웹 페이지를 얻는 것이 가능하다. IPFS는 여러곳에서 파일을 가져오기 때문에, 콘텐츠를 검열하거나 차단하는 것이 더 어렵다. 웹 서버가 멀리 있는 경우 근처에 있는 사용자로 부터 정보를 받아오는 것이 가능하므로 웹 서버 속도를 높이는 것도 가능하다. 

 

내용 주소 지정

ProtoSchool의 튜토리얼인 분산형 웹 상의 콘텐츠 주소 지정

 

DWeb Tutorial | Content Addressing on the Decentralized Web

Learn how hashing and content addressing enable verifiable data sharing with peers on the decentralized web.

proto.school

 

에 땅돼지 페이지로 연결되는 링크는 어떻게 구성되는 것인가?

/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/Aardvark.html

 

/ipfs/ 뒤에 이렇게 문자가 뒤섞여 있는 것을 콘텐츠 식별자라고 하며 IPFS가 여러 곳에서 콘텐츠를 가져올 수 있는 방법이다.

다음과 같은 기존 URL 및 파일 경로는

 

어떤 컴퓨터에 존재하지만, 다른 컴퓨터에서는 작동하지 않는 주소일 수도 있다.

따라서, IPFS는 위치 기반인 대신 파일 내용이나 내용에 따라 파일의 주소를 지정합니다. 위의 콘텐츠 식별자는 해당 주소에 있는 콘텐츠의 암호화 해시이다. 해시는 원본 콘텐츠에 비해 짧아 보일 수 있지만, 원본 콘텐츠와는 동일하고. 또한 요청한 내용을 받았는지 확인할 수 있다.

 

👉🏻 분산된 파일 처리 시스템으로 주소의 위치가 아닌 콘텐츠를 기준으로 여러 컴퓨터에서 위치를 찾아간다는 점이 차별점이고,  일부 Torrent와 유사한 점이 존재한다.