[Blockchain] 분산 저장소 IPFS (InterPlanetary File System)
IPFS / 메타데이터 / 토렌트 / NFT
분산 저장소 (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 경로를 입력할수 있다