핵심 요약
- Rust 기반 경량 P2P 라이브러리 iroh가 4년간의 개발과 설계를 거쳐 1.0 정식 버전을 공개했습니다.
- 기존 IPFS 호환성과 복잡한 추상화를 과감히 버리고 QUIC과 BLAKE3 기반의 경량 전송에 집중해 실 서비스 성능을 극대화했습니다.
- Delta Chat 메신저 실서비스 탑재와 Tailscale 방식 홀펀칭 도입을 통해 신뢰성 높은 P2P 툴킷으로 자리잡았습니다.
요약 4년간의 개발과 여러 차례의 방향 전환 끝에 Rust 기반 P2P 네트워킹 라이브러리인 'iroh'의 1.0 버전이 공식 출시되었습니다. 개발팀은 이번 1.0 릴리스를 맞아 그동안의 커밋 기록과 주요 기술적 결정 과정을 회고하는 글을 공개했습니다.
초기 iroh 프로젝트는 모바일 등 저사양 기기를 타깃으로 한 IPFS(InterPlanetary File System)의 Rust 구현체로 시작되었습니다. 기존 프로토콜의 대용량 데이터 전송 효율에 한계를 느낀 팀은 BLAKE3 검증 스트리밍을 활용한 프로토콜(krakensync)을 고안했고, rust-libp2p 대신 Quinn을 이용해 QUIC 기반 네트워킹을 구현했습니다.
이후 팀은 메신저 앱 Delta Chat의 기기 간 백업 데이터 전송이라는 실제 서비스 문제를 해결하는 과정에서 기존 IPFS 호환성을 유지할 경우 의존성이 너무 크고 성능이 떨어진다는 점을 체감했습니다. 결국 IPFS 호환성을 과감히 포기하고, 엔드포인트는 Ed25519 공개키로, 데이터 검증은 BLAKE3로, 전송 프로토콜은 오직 QUIC만 남기는 경량화 결정을 내렸습니다. 기능은 단순해졌지만 성능이 비약적으로 향상되면서 Delta Chat의 실제 상용 서비스에 성공적으로 탑재되었습니다.
이어 P2P 통신 최적화를 위해 복잡한 자체 인증서 대신 TLS 내 순수 공개키(raw public keys)를 채택하고, Tailscale 방식을 참고한 홀펀칭(hole punching) 기술을 도입해 방화벽 환경에서도 안정적인 직접 P2P 연결 및 릴레이 전송이 가능하도록 완성도를 끌어올렸습니다.
Sponsored · 광고