분산 저장소 (IPFS)

  • IPFS는 “InterPlanetary File System”의 약자

    ‘InterPlanetary’ 라는 표현이 사용된 이유는
    지구 상의 컴퓨터 뿐만 아니라 , 다른 행성의 컴퓨터들까지 모두 연결하겠다는 IPFS팀의 비전이 담겨 있다
    기존의 HTTP Web의 문제점을 해결하고 보완한 새로운 Web

  • 분산형 파일 시스템에 데이터를 저장하고 인터넷으로 공유하기 위한 프로토콜이다
    👉 분산 저장소

  • 모든 컴퓨터를 연결하고자 하는 분산된 P2P (Peer to Peer) 파일 시스템

  • 냅스터 / 토렌트(Torrent) 등 P2P 방식으로 대용량 파일과 데이터를 공유하기 위해 사용한다


IPFS 특징

  • IPFS는 파일 조각을 동시에 여러 컴퓨터 노드로부터 가져오는 구조이다

  • 기존 대역폭 비용을 60% 이상 절감할 수 있다

  • 대용량의 파일을 빠르고 효율적이게 전달할 수 있다

  • IPFS는 데이터 미러링을 위한 백업과 버전 관리 시스템인 깃(git)이 제공된다

  • IPFS는 개방적이고 중앙집중화되어 있지 않다 (탈중앙화)
    👉 중앙화된 서버 없이 노드들의 P2P 통신으로 실현한 더 빠르고 안전하고 열린 네트워크이다

  • 인터넷에 원활하게 접속할 수 없는 상황이더라도 IPFS의 생태계는 유지된다


NFT 정보 저장소로 쓰이는 IPFS

  • 위변조가 불가능 하다

  • ‘메타데이터 JSON 파일’을 블록체인에 그대로 저장하면 가스비(gas)가 많이 나오기 때문에 분산저장소에 데이터를 담고 그 경로를 블록체인에 담는다

‘메타데이터 JSON’ 👉 NFT 에 넣을 정보를 담는 그릇
이미지 / 동영상 / 소리 등 같은 데이터는 가스비가 많이 나온다

  • IPFS 에 파일을 업로드하면, 업로드된 파일의 해시값이 산출되는데 이 해시값은 업로드된 파일의 영구적인 이름으로 사용된다

  • 이 해시값을 이용해, IPFS를 제공하는 노드의 엔드포인트를 tokenURI로써 블록체인에 저장하여 온체인 NFT를 구현할 수 있다

업로드된 파일의 해시값 👆

해쉬값을 붙여넣는데 앞에 ipfs:// 를 꼭 써줘야한다 👆


IPFS 사이트

  • 이미지 / 동영상 / 음악파일 등 무엇이든지
    IPFS 로 업로드 되고 위변조 불가능 상태로 만들어준다

  • ERC-721 표준에 tokenURI 를 설정하는 부분에 IPFS 경로를 입력할수 있다