웹브라우저 기반 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 데이터를 업로드할 때는 1) pinning 서비스를 이용하거나, 2)직접 운영하는 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 서비스를 실현할 수 있습니다. 이제 필요한 건 당신의 상상력입니다.

Posted by ingeeC
,

IPFS Camp 2024 요약

Dev 2024. 12. 12. 11:24

유튜브 세션 모음을 요약합니다.
벨기에 브뤼셀에서 있었던 IPFS Camp 2024 행사 동영상입니다.

3줄 요약

  • IPFS 기술에 대한 이야기보다 블록체인 응용사례에 대한 이야기가 많았다 (다소 실망)
  • 개발 업체가 망했다가 오픈소스로 되살아난 '탈중앙화 인증기술, UCAN'과 개발 활동이 멈췄다가 되살아난 '탈중앙화 DB, OrbitDB'가 흥미로왔다
  • 트위터의 대안 서비스 'BlueSky'가 널리 쓰이는 것 같았다 (BlueSky 계정 소개가 많았다)

TOP3 세션

The State of IPFS in JS

  • 12분 동영상
  • kubo(IPFS go 구현체)와 helia(IPFS js 구현체) 개발팀이 PL에서 Interplanetary Shipyard로 분사했다 (후원 바란다)
  • helia의 성능 지표들이 kubo와 비교해서도 양호하다 (helia를 써라)
  • OrbitDB가 돌아왔다 (한때 개발이 중단됐다가 다시 재개됐으며, Helia를 기반으로 한다)

Decentralised Super app. Local First + Blockchain

  • 17분 동영상
  • 중앙 서버에 의존하는 소셜네트워크는 검열을 피할 수 없다 (Post Cloud 기술에 기반한 소셜네트워크가 필요하다)
  • 오프라인에서도 동작하는 소셜네트워크 데모가 좋았다 소스레포

What's New in UCAN 1.0

  • 22분 동영상
  • Fission 회사가 망했어도 UCAN 스펙은 커뮤니티를 기반으로 지속되고 있다
  • JWT와 UCAN의 관계를 청산해서 문제를 단순화시켰다 (JWT 포맷 대신 IPLD를 이용한다)
  • 관련 자료: Ucanto 소스레포, Ucan 워킹그룹

기타등등

그밖에

  • 과학 분야의 대용량 데이터 스토리지 운영 사례,
  • 게이밍 분야의 블록체인 응용 사례,
  • 법률 분야의 분쟁 해소 자동화 사례
    등이 발표됐으나 흥미롭지 않았다.

(이상입니다)

Posted by ingeeC
,

https://www.youtube.com/playlist?list=PLfW9my7NCey-y5_j6QGCtGoigQuVlZ3Bj

3줄 요약

  • IPFS는 캐즘을 넘는 중이다
  • 중국 발표자가 많았다 (국가 규제를 극복하기 위한 서비스를 실험하는 것 같았다)
  • CAR 파일 포맷과 UCAN 인증 기술에 대한 언급이 많았다

 

TOP3 세션

The State of Helia: IPFS in the Browser

 

IPFS + Browsers: Synergistic Decentralization for the Masses

  • https://www.youtube.com/watch?v=GR-SvYSrslE&list=PLfW9my7NCey-y5_j6QGCtGoigQuVlZ3Bj&index=12
  • 2023-11-23, 25분 동영상
  • 발표자는 브레이브 브라우저 개발자
  • 브레이브가 웹3 브라우저인 이유
    • 멀티체인 월렛이 내장되어 있다
    • ENS/ UD/ SNS/ IPNS 도메인 해석 기능이 내장되어 있다
    • 사용자에게 BAT 인센티브를 준다
    • IPFS node가 내장되어 있다
    • IPFS URL을 HTTP IPFS gateway로 맵핑하는 기능을 기본으로 제공한다

 

Event based Mutability on IPFS

 

기타등등 세션

Opening Session with Boris Mann

 

Privacy-Focused User Access for Consumer dApps with Vijay Krishnavanshi

Web3 서비스 아키텍처

 

Juan Benet of Protocol Labs

 

Working IPFS Systems: A Love/War Story with Hannah Howard

 

Transitioning from Curiosity to Commodity - Mainstreaming IPFS

 

Modelling the Scientific Record as a DAG with Edvard Hübinette

 

A decentralized social graph made with IPNS with Guo Liu

 

Dataverse Computer with Qibing Li

 

Saturn — A new Web3 CDN built on IPFS and Filecoin with Ansgar Grunseid

 

Structured Data with IPLD with Carson Farmer

 

Debox - Enabling More Decentralized Storage Acceptance Among Web2 Users

 

What is Content Addressing & Why is it the 2nd Best Thing in the World?

 

IPFS over Storj Backend

 

Cars and Other Forms of Transportation

 

Boom!

 

Infinite Compression, Zero Knowledge Auth and Merkle Proofs

 

Iroh - Take IPFS to Millions of New Places

Iroh 네트워크 솔루션 소개

 

IPVM - Bringing Wasm-Based Edge Compute to IPFS

 

Indexing Co and The Road to Data 3.0

 

Deploy a dApp to IPFS in less than 15 minutes

 

IPFS Connect Istanbul 2023 Recap Video

 

(이상입니다)

Posted by ingeeC
,

IPFS 2023 컨퍼런스 요약

Dev 2023. 10. 16. 16:27

 

이름만으로 가슴 뛰게 만드는 프로젝트가 있습니다.
IPFS (InterPlanetary File System) 얘기입니다.
지난 4월 벨기에에서 IPFS 2023 컨퍼런스가 열렸습니다.
관련 내용을 요약합니다.

모든 발표 동영상은 유튜브에 올려져있습니다.
https://www.youtube.com/playlist?list=PLuhRWgmPaHtQ-TO65P62tqfUM85HCIqSj

 

IPFS þing 2023 - IPFS on the Web

 

www.youtube.com

 

IPFS on the Web in 2023 (so far) - Dietrich Ayala (30분)

https://youtu.be/dn8PssXkRbY

  • 행사 개요와 연사들을 소개한다
  • Brave 브라우저가 IPFS를 적극 지원하고 있다 - Brave는 IPFS엔진을 내장하고 있다
  • 모바일 IPFS 플랫폼 DURIN을 개발하고 있다 - 모바일에서 IPFS 컨텐츠를 볼 수 있다
  • IPFS를 인공위성에서 운영하는 실험을 하고 있다 - https://github.com/ipfs-shipyard/space

What Is The Web? - Robin Berjon (30분)

https://youtu.be/s878bm15mrk

  • 웹의 형태를 바꾸자 - 지금은 서버가 기능을 제공, 서버에 권력이 있다
  • 2023-03-28에 "IPFS Principles" 표준을 출간했다 - IPFS가 웹의 미래다

A better web: secure, private, p2p apps with user-owned data and identity - Ian Preston, 30분 동영상

https://youtu.be/mSElk2jcFqY

  • 감시와 통제, 아이덴티티, 데이터 소유권에 관한 문제를 해결하고자 Peergos(회사)가 노력하고 있다
  • 서버 없는 REST API, "Sandbox"를 잠깐 언급한다

WNFS: Versioned and Encrypted Data on IPFS - Philipp Krüger (30분)

https://youtu.be/LBMyRp4Ywew

  • fission(회사)가 데이터를 암호화해서 IPFS에 저장하는 서비스를 제공한다
  • 커뮤니티 프로젝트다, 참여하라 - https://github.com/wnfs-wg/

Content Based Addressing and the Web Security Model - Fabrice Desré (40분)

https://youtu.be/H_1JVGDnctI

  • 처음부터 Security를 고려한 파일시스템 Web Tiles를 소개한다
  • Web Tiles는 IPFS와 닮았지만 다르다

Hello Helia - achingbrain (30분)

https://youtu.be/T_FlhkLSgH8

  • js-ipfs와 js-libp2p 메인테이너가 "브라우저 IPFS 구현체"의 미래/마일스톤을 직접 소개한다
  • js-ipfs를 대치하는 Helia가 릴리즈되어 지금 당장 쓸 수 있다 - https://github.com/ipfs/helia

JavaScript performance - how to wring the most out of your Helia deployment - achingbrain (20분)

https://youtu.be/zPeLYosZ3Ak

  • 새로운 "브라우저 IPFS 구현체" Helia의 성능 측정 자료를 공개한다

Connecting everything, everywhere, all at once with libp2p - Prithvi Shahi (20분)

https://youtu.be/4v-iIB0C9_8

  • libp2p 프로토콜로 모든 소프트웨어와 모든 네트워크를 한번에 연결하자
  • libp2p가 QUIC, WebRTC, WebTransport를 어떻게 이용하는지 소개한다
  • 더 알고 싶다면 github를 참조하라 - github.com/libp2p/universal-connectivity

The Incredible Benefits of libp2p + HTTP - Marten Seemann & Marco Munizaga (15분)

https://youtu.be/Ixyo1G2tJZE

The Name Name Service - Blaine Cook (30분)

https://youtu.be/CHiCEd36KtI

  • NNS (Name Name Service)는 탈중앙화된 DNS를 목표로 한다
  • NNS는 DID를 이용한다 - NNS의 Name은 DID가 아니지만, 적어도 1개의 DID를 갖는다
  • Decentralized, Human Readable, Secure 사이의 상충을 보여주는 Zooko's Triangle을 소개한다

Building decentralized websites on IPFS - Ryan Shahine (30분)

https://youtu.be/TeFAHmzvIdg?si=2vGIcNfwYDBi58VV

  • giliam.eth 같은 ENS에 웹사이트를 생성/배포하는 도구를 개발했다 - Portrait
  • Brave 브라우저는 giliam.eth 같은 ENS를 해석/처리할 수 있다

ODD.js, a technical overview - icidasset (10분)

https://youtu.be/ByQbY3lNAck?si=gcAHRhoPqRDysdoy

  • ODD.js는 백엔드가 없는 어플리케이션을 위한 프레임워크다
  • ODD.js는 DID, WNFS, UCAN을 이용한다

IPFS native frontend development using Importmaps - Dilip Shukla (20분)

https://youtu.be/4HY_7DxScMo?si=5dp82haOtmpm3XHk

  • 웹페이지를 위한 package.json 역할을 하는 importmap을 소개한다
  • importmap을 지원하는 jspm 도구를 개발했다 - npm을 대체할 수 있다

Explorations into Decentralized Publishing - David Justice (10분)

https://youtu.be/fn5QNvRXMIo?si=eojMK9sD7jlbuwOb

  • IPFS와 FVM을 이용해서 팀블로그를 만들었다 - GH: meandavejustice/blog-builder
  • IPFS에 호스팅된 SPA 형태의 Viewer와 FVM에서 동작하는 스마트컨트랙트를 이용했다
  • 짧은 발표와 긴 Q&A가 인상적

 


기타 번외로 참조한 IPFS 동영상들을 나열합니다.

How IPFS deals with files - IPFS Camp Workshop

https://youtu.be/Z5zNPwMDYGg

  • 2019-09-18, 1시간 동영상
  • IPFS가 데이터를 다루는 방식을 자세히 소개한다
  • CID와 CID 탐색기를 소개한다 - cid.ipfs.tech
  • DAG와 DAG 빌더를 소개한다 - dag.ipfs.tech

libp2p NAT Hole Punching Success Rate - @dennis-tra - Measuring IPFS

https://youtu.be/fyhZWlDbcyM

  • 2022-08-10, 30분 동영상
  • 방화벽과 NAT 장벽을 넘어 p2p 연결을 달성하는 Hole Punching에 대해 소개한다
  • kubo v0.11 부터 kubo가 릴레이 역할을 함께 수행한다 (kubo는 go-ipfs의 새 이름)

Intro to libp2p: helping with real world application problems - Max Inden

https://www.youtube.com/watch?v=J7ZWbpo2AZk

  • 2022-11-01, 15분 동영상
  • libp2p 프로토콜은 IFPS, Ethereum2, Poladot 등에 적용되어 있다
  • 현재 libp2p 팀은 브라우저에서의 연결성 개선을 위해 노력하고 있다

Browser connectivity state of union and demo

https://youtu.be/qG_1bYVtGO4

  • 2022-11-01, 20분 동영상
  • 브라우저의 문제는 TCP 프로토콜과 QUIC 프로토콜을 쓸 수 없다는 점이다
  • libp2p의 브라우저 연결성 개선에 관하여 WebTransport 프로토콜에 기대를 걸고 있다

libp2p NAT Hole Punching

https://youtu.be/bzL7Y1wYth8

  • 2022-11-01, 30분 동영상
  • Hole Punching 개념과 DCUtR 프로토콜의 개요를 설명한다

WebRTC signalling data over QR codes

https://youtu.be/EQFUPZK9CwI

  • 2022-11-02, 10분 동영상
  • 일련의 QR코드 스트림(동영상)을 이용하여 기기와 기기가 WebRTC 통신을 수행하는 데모를 시연한다 - 재밌음

Why WebRTC

https://youtu.be/ZBIFFuakFHQ

  • 2022-11-02, 10분 동영상
  • libp2p 브라우저 연결성 개선을 위해 시도한 노력의 내용과 현황을 소개한다
  • 아직 완벽하지 않다

이상입니다.

 

Posted by ingeeC
,