IPFS 홈랩 공개 노드 및 DHT 검토

본 문서는 IPFS Home Lab 발표 세션의 내용을 정리한 것으로, IPFS 노드 운영 아키텍처 비교, DHT 동작 원리, 대역폭 비용 제어 전략, 그리고 실용적인 하이브리드 배포 방안을 중심으로 논의가 이루어졌다.

IPFS 아키텍처 유형 비교

1. 퍼블릭 홈 노드 (Public Home Node)

정적 공인 IP와 무제한 대역폭을 보유한 환경에서 최적의 구성이다. 비즈니스용 라우터(예: Fortinet)를 사용하면 포트 포워딩 설정이 용이하며, IPFS 노드를 DHT 서버로 완전히 운영할 수 있어 Pinata 같은 외부 핀닝 서비스 비용이 불필요하다. 장점은 저비용, 데이터 주권 확보, 외부 의존성 없음이며, 단점은 포트 포워딩·IP 노출 직접 관리, Dynamic DNS 미설정 시 ISP의 DHCP 변경에 따른 접근 불가 위험이다.

2. 올드 클라이언트 모드 (Old Client / NAT 뒤 노드)

NAT 환경에서 라우터 설정 없이 동작하는 기본 구성으로, Kubo의 기본 옵션이다. 설정이 간단하고 IP 노출이 없으나 치명적 단점이 존재한다. 올드 클라이언트는 DHT 서버가 아니므로 자신의 콘텐츠를 DHT에 직접 재공표(reprovide)할 수 없다. 부트스트랩 노드를 통해 초기 전파는 가능하지만, 수 주~1개월 후 DHT 정보가 소멸하여 콘텐츠가 네트워크에서 사라지는 **무음 장애(silent failure)**가 발생한다. 실제로 이 문제로 인해 Pinata로 전환한 경험이 공유되었으며, 이후 Fly.io 마이그레이션 시도 중 하루 $18의 대역폭 비용이 발생한 사례도 언급되었다.

3. VPS 하이브리드 배포 (VPS Hybrid)

현재 권장 아키텍처로, VPS 노드에서 DHT 서버를 운영하고 홈 노드에 실제 데이터를 저장하는 구성이다. VPS는 고가용성·고도달성으로 DHT 전파를 담당하고, 홈 노드는 VPS와 영구 피어링(persistent peering)을 유지하여 콘텐츠 CID를 지속 광고한다. 이를 통해 홈 네트워크의 IP 변경 문제를 해결하고, Pinata나 VPS 풀노드 대비 비용을 절감할 수 있다. 단, 아직 완전한 테스트는 완료되지 않은 상태이다.

DHT 및 대역폭 관련 핵심 논의

**DHT(분산 해시 테이블)**는 BitTorrent와 유사하게 콘텐츠 위치 정보를 P2P로 전파하는 구조다. IPFS는 가십 프로토콜(gossip protocol)을 사용하므로 대역폭 소비가 크며, 홈 네트워크에서 인바운드/아웃바운드 트래픽 비율이 비정상적으로 보여 일부 ISP가 연결을 차단할 수 있다. 한국 KT의 BitTorrent 사용자 스파이웨어 설치 사례가 ISP 위험성의 예시로 언급되었다.

피어 수 제한과 관련하여, IPFS 설정의 highWater / lowWater 옵션으로 연결 피어 수를 제한할 수 있다. 피어가 많을수록 DHT 전파가 빠르고 콘텐츠 접근성이 높아지지만, 피어가 적으면 가십 전파가 느려져 CID 발견이 어려워진다. AWS 등 클라우드에서 피어 수를 제어하지 않으면 비용이 급증할 수 있다는 점이 강조되었다.

**프로바이더 전략(Provider Strategy)**으로는 루트 CID만 전파하는 roots 전략과 핀된 파일의 모든 CID를 전파하는 pinned+MFS 전략이 소개되었다. 최저 대역폭을 원할 경우 pinned+MFS 전략이 권장되나, roots 전략은 자식 CID를 전파하지 않아 다운로드 시 피어 홉이 증가한다.

Docker 컨테이너화 및 리소스 제어

IPFS 커뮤니티가 노드 성능 제한 방법을 적극적으로 공유하지 않는 점이 지적되었으며, 이는 BitTorrent 커뮤니티의 "리치(leech) 금기" 문화와 유사한 암묵적 규범에서 비롯된 것으로 분석되었다. 이에 대한 실용적 대안으로 Docker 및 Docker Compose를 활용한 리소스 제한이 제안되었다. Docker Compose로 메모리·CPU 상한을 설정할 수 있으나, 대역폭 제한은 Docker Compose 자체로는 불가능하다. 릴레이 트래픽을 줄이기 위해 프라이빗 서비스 비활성화도 권장되었다.

발표의 최종 제안은 모든 아키텍처 논의와 설정을 단일 Dockerfile 및 Docker Compose 파일로 구현하는 것이며, 이를 통해 누구나 쉽게 배포할 수 있는 검증된 이미지를 제공하는 것을 목표로 한다.

다대다(Many-to-Many) 피어링 및 커뮤니티 운영 모델

VPS DHT 서버 1개에 다수의 홈 노드(NAT 뒤)가 연결되는 1:N 구조가 가능하며, 더 나아가 다수의 DHT 서버와 다수의 홈 노드가 연결되는 N:N 구조도 지원된다. 이는 BitTorrent의 트래커-시더 구조와 유사하다. 인증 자격증명을 특정 그룹에만 공유하여 폐쇄적 커뮤니티 DHT 서버를 운영하는 모델이 이상적인 사용 사례로 제시되었다. 배포 가이드 작성 시 홈 노드 설정만 다루고, 환경 변수로 VPS DHT 서버 주소를 지정하는 방식이 제안되었다.

결론 및 다음 단계

논의 결과 VPS 하이브리드 아키텍처가 장기 운영 목적에 가장 적합한 구성으로 합의되었다. 주요 후속 과제는 다음과 같다.

홈 노드의 리소스 사용량을 최소화하여 Raspberry Pi 또는 Fly.io에서도 경량 운영 가능하도록 Docker 이미지 구성

highWater/lowWater 피어 수 제한 및 프로바이더 전략(pinned+MFS) 적용으로 대역폭 비용 절감

VPS DHT 서버와 홈 노드 간 영구 피어링 설정을 포함한 배포 가이드 작성

시코쿠(Shikoku) 워크숍에서 실제 DHT 서버-홈 노드 연결 실험을 통해 연구 자료 확보 및 결과 공개 검토