본문 바로가기

블록체인/[초보] 블록체인

IPFS란 무엇인가?

[출처] 해시넷, IPFS

 

▶ IPFS 개념

IPFS(Inter Planetary File System)는 분산형 파일 시스템에 데이터를 저장하고 인터넷으로 공유하기 위한 프로토콜이다. 기존의 HTTP 방식은 데이터가 위치한 곳의 주소를 찾아가서 원하는 콘텐츠를 한꺼번에 가져오는 방식이었지만, IPFS는 데이터의 내용을 변환한 해시값을 이용하여 전 세계 여러 컴퓨터에 분산 저장되어 있는 콘텐츠를 찾아서 데이터를 조각조각으로 잘게 나눠서 빠른 속도로 가져온 후 하나로 합쳐서 보여주는 방식으로 작동한다. 분산형 파일 시스템답게 몇몇 노드들의 연결이 끊어지더라도 안정적으로 생태계가 유지될 수 있으며, 고용량의 파일을 빠르고 효율적으로 전달할 수 있고 파일들의 중복을 알 수 있기에 저장소를 효율적으로 사용할 수 있다. 

[출처] 해시넷

▶ IPFS 특징

1. HTTP와 비교하여 대역폭 비용을 60%이상 절감할 수 있다.

2. 데이터 미러링을 위한 백업과 버전 관리 시스템인 Git이 제공된다.

3. 웹의 중앙화를 제한한다. 탈중앙화이다.

4. 지속적인 가용성을 토대로 탄력적인 네트워크 생성을 가능하게 하는데, 이는 인터넷 백본 연결 여부와 상관없다.

 

▶ IPFS 동작 원리

1. 각 파일은 여러 개의 블록으로 이루어지고 블록은 해시로 표현되는 고유의 이름이 존재한다.
2. 각 노드는 자신이 원하는 파일만 저장하며 인덱스 정보로 누가 어떤 파일을 가지는지 알 수 있다.
3. 네트워크에서 파일을 찾기 위해 파일명을 조회하고 파일을 가지는 노드에게 요청한다(IPNS를 통해서 모든 파일명은 사람이 읽기 쉬운 형태로 변환될 수 있다.)
4. 업로드 된 파일의 해시 값은 영구적인 이름이 되고 이를 이용하여 IPFS를 제공하는 노드의 End 포인트를 토큰의 이미지를 저장하는 tokenURI로 블록체인에 저장하여 온체인 NFT를 구현한다.

 

▶ IPFS 구조

- 분산해시테이블(DHT: Distributed Hash Table): 분산해시테이블은 부하가 집중되지 않고 분산된다는 장점이 있어 콘텐츠의 빠른 검색이 가능하다. 하지만 DHT는 실질적으로 구현하는데 어려움이 따르고, 특히 완전한 일치검색만 가능하여 복잡한 세부 검색은 할 수 없다는 단점이 있다. ex)카뎀리아(Kademlia)