데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      브라우저 기반 IPFS 네트워크 동향 (2025년 1월 기준)

      ingee.kim 25.01.16
      1,110 3 1
      DEVOTEE 요약
      브라우저 기반 IPFS 네트워크를 구축하기 위해 Helia 라이브러리와 PubSub 프로토콜을 사용하면 비용 없이 웹3 서비스를 실현할 수 있습니다. Helia는 브라우저를 IPFS 노드로 만들어주며, 다양한 기능을 통해 데이터 검증 및 수신을 가능하게 합니다. GossipSub 프로토콜을 활용하면 브라우저 간 p2p 연결이 가능하며, 이는 서버 비용 없이 웹3 서비스를 구축하는 데 도움을 줍니다.

      서론

      브라우저 기반 IPFS 네트워크에 관심이 많습니다.

      웹브라우저만으로 IPFS 네트워크를 구축할 수 있다면, 서버 없는 서비스(웹3 서비스)가 가능해질 것입니다.


      IPFS 블로그(https://blog.ipfs.tech/)에서 이와 관련된 기사를 엄선하여 요약합니다.


      The State of Dapps on IPFS: Trust vs. Verification

      https://blog.ipfs.tech/dapps-ipfs/ | 2024-01-29

      • SPA 또는 MPA 형태로 개발된 Dapp은 IPFS로 쉽게 배포할 수 있다

      • Helia는 브라우저를 IPFS 노드로 만들어주는 라이브러리다

      • Helia가 브라우저에서 제공하는 기능은 'CID 데이터 관리'와 'CID 데이터에 대한 Verified Retrieval' 2가지다

        • CID 데이터 관리: 데이터를 CID 데이터로 만들고 해석하는 기능을 제공한다

        • CID 데이터에 대한 Verified Retrieval: CID로 지정된 데이터를 Bitswap 또는 IPFS Gateway를 통해 가져올 수 있다

        • 브라우저 IPFS 노드는 보통 수명주기가 짧기 때문에, CID 데이터를 업로드할 때 pinning 서비스를 이용하거나 직접 운영하는 IPFS 노드(서버)를 이용하는 것이 좋다


      Verified IPFS Retrieval in Browsers with @helia/verified-fetch

      https://blog.ipfs.tech/verified-fetch/ | 2024-04-18

      • IPFS Gateway는 브라우저에서 IPFS 데이터를 가져올 때 특히 유용한 기술이다

      • IPFS 데이터에 대한 검증(Verification: IPFS Gateway가 전송한 데이터가 내가 요구한 그 데이터가 맞는가에 대한 검증)을 브라우저가 수행한다면,

        브라우저는 IPFS Gateway를 신뢰하지 않더라도 문제 없이 이용할 수 있다 (Trustless Gateway 사용이 가능하다)

      • 이를 위해 Interplanetary Shipyard팀(프로토콜랩으로부터 분사한 개발조직)이 @helia/verified-fetch 라이브러리를 개발/배포한다

      • Shipyard팀의 다음 목표는 WebRTC와 WebTransport 프로토콜을 이용해서 브라우저에서 직접 Kubo IPFS 노드와 통신하는 것이다


      IPFS on the Web in 2024: Update From Interplanetary Shipyard

      https://blog.ipfs.tech/2024-shipyard-improving-ipfs-on-the-web/ | 2024-11-25

      • 우리(Interplanetary Shipyard)가 관심을 갖는 주제는 웹에서 IPFS를 사용하는 것이다

      • 다시 말해 웹브라우저에서 다른 IPFS 노드에 연결할 수 있게 만드는 것이다

      • 이를 위해 다음과 같은 프로젝트를 진행하고 있다

        • Verified Fetch: 브라우저의 fetch API와 유사한 API를 제공, 이를 통해 IPFS 데이터를 검증/수신하는 기능을 제공한다

        • Browser Transport: 브라우저에서 사용할 수 있는 WebRTC와 WebTransport 프로토콜을 기반으로 외부 IPFS 노드와 통신하는 기능을 제공한다

        • AutoTLS: 브라우저는 보안 통신을 위해 CA 공인 인증서를 요구하나 IPFS 노드는 통상 인증서 없이 운영된다. AutoTLS는 이 갭을 메꾸는 기능을 한다

        • Delegated Routing: 브라우저가 IPFS 기능을 호출할 때 이용할 수 있는 https://delegated-ipfs.dev/routing/v1 엔드포인트를 프로토콜랩이 운영/제공한다


      Browser P2P Connectivity with WebRTC and js-libp2p

      https://docs.libp2p.io/guides/getting-started/webrtc/ | 2024-06-12

      • 브라우저 p2p 커넥션을 만들려면 서버의 지원이 필요하다

        • STUN: 브라우저 노드의 public ip를 알아내기 위해 필요하다

        • TURN: 공개 IP가 부여된 서버가 브라우저-to-브라우저 통신을 중계한다 (서버 비용이 든다. 이 글에서는 TURN 서버 대신 GossipSub 프로토콜 이용을 추천한다)

        • Signaling: libp2p의 WebRTC 통신 초기 연결을 위해서 필요하다

        • Libp2p relay: 브라우저 노드도 PubSub 프로토콜(GossipSub)을 이용하면 서로 연결될 수 있다 (데모 용도로는 좋으나 배틀 테스트를 거치지 않아서 제품 용도로는 신뢰할 수 없다)

      • GossipSub 프로토콜을 이용한 브라우저 간 libp2p 통신 수립 가이드 (실제 동작하는 데모. 강추!)

        • 스텝1: 소스레포 복사 및 라이브러리 설치

        • 스텝2: js-libp2p node.js relay 실행

        • 스텝3: 브라우저에서 js-libp2p 실행

        • 스텝4: 브라우저에서 relay로 연결

        • 스텝5: Circuit Relay를 이용, 브라우저를 dialable하게 만들기

        • 스텝6: relay를 브라우저 앱의 부트스트랩 피어로 설정

        • 스텝7: WebRTC를 listen하여 direct connection 만들기

        • 스텝8: PubSub 피어 찾기


      결론

      1) 인프라 등에서 제공하는 무료 IPFS 노드와 2) Helia 라이브러리와 3) PubSub(GossipSub) 프로토콜을 이용하면 비용 없이 브라우저-to-브라우저 IPFS 통신이 가능합니다.

      다시 말해, 비용 없이 웹3 서비스를 실현할 수 있습니다. 이제 남은 건 당신의 상상력입니다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      ingee.kim 님의 최신 블로그

      더보기
      동영상 기고하기