**InterPlanetary File System(IPFS)**는 파일 저장 및 공유에 대한 보다 탄력적이고 분산된 접근 방식을 만들기 위해 설계된 탈중앙화된 P2P 네트워크 프로토콜입니다. [1] [2]
Juan Benet이 개발하고 2014년에 처음 소개된 IPFS는 콘텐츠 주소 지정이 가능하고 버전이 관리되며 암호화 방식으로 안전한 프로토콜을 제공하여 기존의 중앙 집중식 파일 시스템과 관련된 문제를 해결하는 것을 목표로 합니다. [3]
IPFS는 2015년 2월에 알파 버전으로 출시되었으며, 같은 해 10월에는 TechCrunch에서 "입소문으로 빠르게 확산되고 있다"고 설명했습니다. 네트워크 서비스 제공업체인 Cloudflare는 2018년부터 IPFS를 사용하기 시작하여 2022년에 시스템에 게이트웨이를 출시했습니다. 2020년 3월에는 Opera 브라우저가 IPFS에서 콘텐츠를 호스팅하여 Unstoppable Domains 제공업체의 중앙 집중식 리소스에 대한 액세스를 제공했습니다. [4]
IPFS는 BitTorrent와 유사하게 작동하여 사용자가 탈중앙화된 방식으로 콘텐츠를 호스팅하고 액세스할 수 있도록 합니다. 기존의 서버 기반 시스템과 달리 IPFS는 전체 데이터의 세그먼트를 보유한 사용자 운영자의 분산 네트워크에 의존합니다. 이러한 탈중앙화된 접근 방식은 파일 저장 및 공유의 복원력을 향상시킵니다. [5]
IPFS 네트워크에서 모든 사용자는 콘텐츠 주소를 기반으로 파일을 제공할 수 있으므로 피어는 분산 해시 테이블(DHT)을 사용하여 노드에서 콘텐츠를 찾고 요청할 수 있습니다. 파일은 물리적 위치가 아닌 콘텐츠 식별자(CID)로 식별되어 여러 노드에 저장됩니다. 파일의 해시를 포함하는 CID는 고유성을 보장하고 콘텐츠 검색을 용이하게 합니다. [1][5]
해시 계산은 파일 이름이 다른 경우에도 콘텐츠를 기반으로 고유성을 보장합니다. IPFS는 노드를 유지 관리하기 위해 자원 봉사자 커뮤니티에 의존하여 임시 또는 영구적인 노드 중단 시 데이터 가용성을 보장합니다. [1]
IPFS에 추가된 파일은 변경할 수 없지만 이전 버전에 연결된 새 개체를 만들어 업데이트할 수 있으므로 IPFS 내에서 효과적으로 버전 관리 시스템을 구축할 수 있습니다. [1][3]
IPFS는 콘텐츠 주소 지정을 사용하며, 여기서 파일은 콘텐츠에서 파생된 고유한 해시로 식별됩니다. 이를 통해 콘텐츠의 무결성을 확인할 수 있으며 동일한 파일은 한 번만 저장되어 중복성이 줄어듭니다. [5]
기존의 클라이언트-서버 모델과 달리 IPFS는 노드의 탈중앙화된 네트워크로 작동합니다. 각 노드는 전체 콘텐츠의 일부를 저장하고 파일은 여러 노드에 분산됩니다. 이러한 탈중앙화는 복원력과 가용성을 향상시킵니다. [3][5]
IPFS는 사용자가 파일을 원활하게 액세스하고 공유할 수 있는 분산 파일 시스템을 만듭니다. 콘텐츠는 단일 서버에서 호스팅되는 것이 아니라 네트워크 전체에 분산되어 파일 검색 속도가 더 빠르고 안정적입니다. [5]
IPFS는 파일을 콘텐츠의 효율적이고 안전한 연결을 용이하게 하는 데이터 구조인 MerkleDag(Merkle Directed Acyclic Graph)로 구성합니다. 파일을 변경하면 새로운 MerkleDag가 생성되어 버전 관리 및 추적 가능성이 보장됩니다. [5]
IPNS는 IPFS 위에 인간이 읽을 수 있는 변경 가능한 명명 시스템을 제공합니다. 이를 통해 사용자는 업데이트할 수 있는 콘텐츠에 대한 참조를 만들어 지속적이고 공유 가능한 링크를 만들 수 있습니다. [5]
데이터는 IPFS 객체라고 하는 256KB 청크로 저장됩니다. 이보다 큰 파일은 파일을 수용하는 데 필요한 만큼의 IPFS 객체로 분할됩니다. 파일당 하나의 IPFS 객체에는 해당 파일을 구성하는 다른 모든 IPFS 객체에 대한 링크가 포함되어 있습니다. [1]
파일이 IPFS 네트워크에 추가되면 콘텐츠 ID 또는 CID라고 하는 고유한 24자 해시 ID가 부여됩니다. 이것이 IPFS 네트워크 내에서 식별되고 참조되는 방식입니다. 파일을 검색할 때 해시를 다시 계산하면 파일의 무결성이 확인됩니다. 확인에 실패하면 파일이 수정된 것입니다. 파일이 합법적으로 업데이트되면 IPFS는 파일의 버전 관리를 처리합니다. [1][3]
IPFS와 블록체인은 서로를 잘 보완하여 IPFS의 창시자인 Juan Benet이 "훌륭한 결혼"이라고 부르는 것을 형성합니다. IPFS와 블록체인은 모두 Benet이 설립한 Protocol Labs의 일부입니다. IPFS와 밀접하게 관련된 Protocol Labs 프로젝트인 IPLD(Inter-Planetary Linked Data)는 블록체인과 같은 분산 구조를 위한 데이터 모델 역할을 합니다. 이 모델은 IPFS를 통해 블록체인 데이터의 효율적인 저장 및 액세스를 용이하게 합니다. IPFS 데이터를 저장하기로 선택한 사용자는 Filecoin 형태로 보상을 받습니다. IPLD는 다양한 블록체인과의 원활한 상호 작용을 가능하게 하며 Ethereum 및 Bitcoin과 통합되어 있습니다. [5]
"IPFS는 웹이 이러한 모든 웹사이트를 연결하는 방식과 유사한 방식으로 이러한 모든 다른 블록체인을 연결합니다. 한 페이지에 다른 페이지로 연결되는 링크를 삭제할 수 있는 것과 같은 방식으로 이더리움[예를 들어]에 zcash로 연결되는 링크를 삭제할 수 있으며 IPFS는 이 모든 것을 해결할 수 있습니다." — Juan Benet
IPFS는 중앙 서버에 의존하지 않는 애플리케이션 구축을 위한 기반을 제공하여 탈중앙화된 웹의 비전에 기여합니다. 이는 웹 콘텐츠의 복원력과 검열 저항을 향상시킬 수 있습니다. [6]
IPFS는 효율적이고 탈중앙화된 콘텐츠 배포에 활용됩니다. 노드 네트워크에 콘텐츠를 배포하면 중앙 집중식 서버에 대한 의존도가 줄어들어 대규모 데이터 세트 또는 멀티미디어 파일을 공유하는 데 매력적인 솔루션이 됩니다. [6]
IPFS는 데이터를 효율적으로 저장하고 검색하기 위해 블록체인 기술과 통합되는 경우가 많습니다. 일부 블록체인 프로젝트는 트랜잭션 데이터의 탈중앙화된 저장을 위해 IPFS를 사용하여 데이터 무결성 및 가용성을 보장합니다. [3]
예를 들어, 가장 큰 블록체인 및 암호화폐 백과사전인 IQ.wiki는 Polygon에서 해시로 모든 편집 내용을 기록하고 데이터는 IPFS에 저장됩니다. [3]
IPFS는 관련 미디어 및 메타데이터의 탈중앙화되고 분산된 저장을 위해 NFT(Non-Fungible Tokens) 컨텍스트에서 활용될 수 있습니다. NFT 콘텐츠 호스팅을 위해 중앙 집중식 서버에 의존하는 대신 IPFS는 탈중앙화된 대안을 제공하여 접근성 및 검열 저항을 향상시킵니다. 관련 미디어 및 메타데이터에 대한 영구 링크를 제공하고 NFT 생태계를 위한 보다 탄력적이고 검열에 저항하는 인프라에 기여합니다. [5][1]