{
  "path": "/3mldczv3l7s2y",
  "site": "at://did:plc:2jsk5qbrx3f6od3755x6cmjl/site.standard.publication/3mekkgrjais24",
  "tags": [
    "DMRG Miniconf 2026"
  ],
  "$type": "site.standard.document",
  "title": "IPFS 홈랩 공개 노드 및 DHT 검토",
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "id": "019e06b6-10e7-7ff6-93bc-9fb280772fed",
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 27,
                    "byteStart": 14
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ]
                }
              ],
              "plaintext": "본 문서는 IPFS Home Lab 발표 세션의 내용을 정리한 것으로, IPFS 노드 운영 아키텍처 비교, DHT 동작 원리, 대역폭 비용 제어 전략, 그리고 실용적인 하이브리드 배포 방안을 중심으로 논의가 이루어졌다."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "plaintext": "IPFS 아키텍처 유형 비교"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 3,
              "plaintext": "1. 퍼블릭 홈 노드 (Public Home Node)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "정적 공인 IP와 무제한 대역폭을 보유한 환경에서 최적의 구성이다. 비즈니스용 라우터(예: Fortinet)를 사용하면 포트 포워딩 설정이 용이하며, IPFS 노드를 DHT 서버로 완전히 운영할 수 있어 Pinata 같은 외부 핀닝 서비스 비용이 불필요하다. 장점은 저비용, 데이터 주권 확보, 외부 의존성 없음이며, 단점은 포트 포워딩·IP 노출 직접 관리, Dynamic DNS 미설정 시 ISP의 DHCP 변경에 따른 접근 불가 위험이다."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 3,
              "plaintext": "2. 올드 클라이언트 모드 (Old Client / NAT 뒤 노드)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 166,
                    "byteStart": 150
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ]
                }
              ],
              "plaintext": "NAT 환경에서 라우터 설정 없이 동작하는 기본 구성으로, Kubo의 기본 옵션이다. 설정이 간단하고 IP 노출이 없으나 치명적 단점이 존재한다. 올드 클라이언트는 DHT 서버가 아니므로 자신의 콘텐츠를 DHT에 직접 재공표(reprovide)할 수 없다. 부트스트랩 노드를 통해 초기 전파는 가능하지만, 수 주~1개월 후 DHT 정보가 소멸하여 콘텐츠가 네트워크에서 사라지는 **무음 장애(silent failure)**가 발생한다. 실제로 이 문제로 인해 Pinata로 전환한 경험이 공유되었으며, 이후 Fly.io 마이그레이션 시도 중 하루 $18의 대역폭 비용이 발생한 사례도 언급되었다."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 3,
              "plaintext": "3. VPS 하이브리드 배포 (VPS Hybrid)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 68,
                    "byteStart": 31
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 115,
                    "byteStart": 75
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ]
                }
              ],
              "plaintext": "현재 권장 아키텍처로, VPS 노드에서 DHT 서버를 운영하고 홈 노드에 실제 데이터를 저장하는 구성이다. VPS는 고가용성·고도달성으로 DHT 전파를 담당하고, 홈 노드는 VPS와 영구 피어링(persistent peering)을 유지하여 콘텐츠 CID를 지속 광고한다. 이를 통해 홈 네트워크의 IP 변경 문제를 해결하고, Pinata나 VPS 풀노드 대비 비용을 절감할 수 있다. 단, 아직 완전한 테스트는 완료되지 않은 상태이다."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "plaintext": "DHT 및 대역폭 관련 핵심 논의"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "**DHT(분산 해시 테이블)**는 BitTorrent와 유사하게 콘텐츠 위치 정보를 P2P로 전파하는 구조다. IPFS는 가십 프로토콜(gossip protocol)을 사용하므로 대역폭 소비가 크며, 홈 네트워크에서 인바운드/아웃바운드 트래픽 비율이 비정상적으로 보여 일부 ISP가 연결을 차단할 수 있다. 한국 KT의 BitTorrent 사용자 스파이웨어 설치 사례가 ISP 위험성의 예시로 언급되었다."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 17,
                    "byteStart": 0
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 59,
                    "byteStart": 50
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 70,
                    "byteStart": 62
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    }
                  ]
                }
              ],
              "plaintext": "피어 수 제한과 관련하여, IPFS 설정의 highWater / lowWater 옵션으로 연결 피어 수를 제한할 수 있다. 피어가 많을수록 DHT 전파가 빠르고 콘텐츠 접근성이 높아지지만, 피어가 적으면 가십 전파가 느려져 CID 발견이 어려워진다. AWS 등 클라우드에서 피어 수를 제어하지 않으면 비용이 급증할 수 있다는 점이 강조되었다."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 87,
                    "byteStart": 82
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 152,
                    "byteStart": 142
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 224,
                    "byteStart": 214
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 254,
                    "byteStart": 249
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    }
                  ]
                }
              ],
              "plaintext": "**프로바이더 전략(Provider Strategy)**으로는 루트 CID만 전파하는 roots 전략과 핀된 파일의 모든 CID를 전파하는 pinned+MFS 전략이 소개되었다. 최저 대역폭을 원할 경우 pinned+MFS 전략이 권장되나, roots 전략은 자식 CID를 전파하지 않아 다운로드 시 피어 홉이 증가한다."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "plaintext": "Docker 컨테이너화 및 리소스 제어"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 344,
                    "byteStart": 289
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ]
                }
              ],
              "plaintext": "IPFS 커뮤니티가 노드 성능 제한 방법을 적극적으로 공유하지 않는 점이 지적되었으며, 이는 BitTorrent 커뮤니티의 \"리치(leech) 금기\" 문화와 유사한 암묵적 규범에서 비롯된 것으로 분석되었다. 이에 대한 실용적 대안으로 Docker 및 Docker Compose를 활용한 리소스 제한이 제안되었다. Docker Compose로 메모리·CPU 상한을 설정할 수 있으나, 대역폭 제한은 Docker Compose 자체로는 불가능하다. 릴레이 트래픽을 줄이기 위해 프라이빗 서비스 비활성화도 권장되었다."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 120,
                    "byteStart": 67
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ]
                }
              ],
              "plaintext": "발표의 최종 제안은 모든 아키텍처 논의와 설정을 단일 Dockerfile 및 Docker Compose 파일로 구현하는 것이며, 이를 통해 누구나 쉽게 배포할 수 있는 검증된 이미지를 제공하는 것을 목표로 한다."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "plaintext": "다대다(Many-to-Many) 피어링 및 커뮤니티 운영 모델"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "VPS DHT 서버 1개에 다수의 홈 노드(NAT 뒤)가 연결되는 1:N 구조가 가능하며, 더 나아가 다수의 DHT 서버와 다수의 홈 노드가 연결되는 N:N 구조도 지원된다. 이는 BitTorrent의 트래커-시더 구조와 유사하다. 인증 자격증명을 특정 그룹에만 공유하여 폐쇄적 커뮤니티 DHT 서버를 운영하는 모델이 이상적인 사용 사례로 제시되었다. 배포 가이드 작성 시 홈 노드 설정만 다루고, 환경 변수로 VPS DHT 서버 주소를 지정하는 방식이 제안되었다."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "plaintext": "결론 및 다음 단계"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 46,
                    "byteStart": 14
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ]
                }
              ],
              "plaintext": "논의 결과 VPS 하이브리드 아키텍처가 장기 운영 목적에 가장 적합한 구성으로 합의되었다. 주요 후속 과제는 다음과 같다."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "홈 노드의 리소스 사용량을 최소화하여 Raspberry Pi 또는 Fly.io에서도 경량 운영 가능하도록 Docker 이미지 구성"
                  }
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 9,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#code"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 18,
                          "byteStart": 10
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#code"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 74,
                          "byteStart": 64
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#code"
                          }
                        ]
                      }
                    ],
                    "plaintext": "highWater/lowWater 피어 수 제한 및 프로바이더 전략(pinned+MFS) 적용으로 대역폭 비용 절감"
                  }
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "VPS DHT 서버와 홈 노드 간 영구 피어링 설정을 포함한 배포 가이드 작성"
                  }
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "시코쿠(Shikoku) 워크숍에서 실제 DHT 서버-홈 노드 연결 실험을 통해 연구 자료 확보 및 결과 공개 검토"
                  }
                }
              ]
            }
          }
        ]
      }
    ]
  },
  "bskyPostRef": {
    "cid": "bafyreieq42aevhaunoekaplvh26z25lnaqmhkqu3fqjg4t3fhz556c6nzq",
    "uri": "at://did:plc:2jsk5qbrx3f6od3755x6cmjl/app.bsky.feed.post/3mldczzxu722y",
    "commit": {
      "cid": "bafyreigd357tf5obdulzbgs75yzzgvkfjb3kyg4s2mhbuhyqjiayfazfsy",
      "rev": "3mldd223zyc2f"
    },
    "validationStatus": "valid"
  },
  "description": "by margherita@DMRG",
  "publishedAt": "2026-05-08T08:33:17.058Z"
}