IPFS (InterPlanetary File System)

1 minute read

IPFS

  • 모든 컴퓨터를 연결하고자 하는 분산 P2P File System

특징

  • 중앙화된 서버 없이 노드들의 P2P 통신으로 실현된 더 빠르고 안전한 열린 네트워크
  • 몇몇 노드의 연결이 끊어지더라도 생태계가 안전하게 유지된다
  • 고용량의 파일을 빠르고 효율적으로 전달할 수 있고 (Bitswap) 파일들의 중복을 알 수 있기 때문에, 저장소도 효율적으로 사용할 수 있다. (Merkle DAG, contents_addressed)

구성 기술

  1. DHT (Distributed Hash Tables)
    • Routing 에 사용
    • 부하가 집중되지 않고 분산되기 때문에, 극단적으로 큰 규모의 노드도 관리 가능하다.
    • 와일드카드 등의 복잡한 검색이 불가능하다.
    • 수십억개의 노드를 P2P 상에서 검색범위로 할 수 있다.
    • content-addressed : 컨텐츠 자체가 주소 역할을 한다. (해시테이블 상에서 컨텐츠 이름을 찾으면 해당 컨텐츠를 보유하고 있는 노드를 알 수 있다.)
  2. Bit Swap Protocol
    • File Exchange 에 사용 (BitTorrent)
    • 하나의 파일을 여러 조각으로 나누어, 각 노드끼리 자신이 갖고 있는 조각의 정보를 알려주고 다른 노드들에게 자신이 필요한 조각을 요청함
  3. merkle DAG
    • Version Control System 에 사용 (Git)
    • Content addressing : 모든 컨텐츠는 그 자체가 링크이며, multihash checksum으로 무결성 확인이 가능
    • Tamper resistance : 모든 컨텐츠는 자체적으로 checksum으로 무결성을 확인할 수 있고, 위변조시 merkle root의 해시값이 변경되기 때문에 IPFS 자체적으로 탐지 가능
    • Deduplication : 같은 컨텐츠는 같은 해시값을 갖기 때문에, 컨텐츠가 중복되지 않는다.
  4. IPNS
    • DNS와 비슷한 역할

IPFS와 블록체인

  • IPFS를 통해 인터넷에 존재하는 모든 파일을 블록체인 상에 올릴 수 있다.
    1. IPFS에 해당 파일 업로드
    2. 해당 파일의 해시값이 산출 (IPFS 상에서 해당 파일의 영구적인 이름 - contents addressing)
    3. 해당 해시값을 블록체인에 저장 (SSI 기술을 사용하는 uport에서 해당 방식으로 이더리움 블록체인을 활용함)

IPFS와 Filecoin

  • https://docs.filecoin.io/about-filecoin/ipfs-and-filecoin/
  • IPFS 자체에서는 인센티브를 수여하는 빌트인 메커니즘이 존재하지 않기 때문에, Filecoin을 통해서 인센티브를 제공하고자 함
  • Filecoin is built on IPFS to create a distributed storage marketplace for long-term storage. Nodes with a large storage capacity can rent their storage to users and get paid for it.

참고 문헌
IPFS docs
Filecoin docs

Categories:

Updated: