-
암호학 기반 네트워킹 스택으로, LoRa·패킷 라디오·WiFi 등 다양한 매체에서 작동하며 초저속·고지연 환경에서도 안정적 통신을 지원
-
종단 간 암호화, 발신자 익명성, 자동 구성 멀티홉 라우팅, 위조 불가능한 전달 확인 등 보안 중심 기능을 포함
- IP 스택에 의존하지 않으며, Python 3 환경에서 커널 모듈 없이 사용자 공간에서 실행 가능
-
저비용·자율적 네트워크 구축을 목표로, 중앙 통제나 검열 없이 수천 개의 독립 네트워크를 상호 연결 가능
-
분산형 통신 인프라 구축과 오프그리드 네트워킹을 위한 오픈소스 도구로서, 개발자와 연구자에게 높은 활용 가치
Reticulum 개요
- Reticulum은 암호학 기반 네트워킹 스택으로, 일반 하드웨어를 이용해 지역 및 광역 네트워크를 구축할 수 있음
-
고지연·저대역폭 환경에서도 작동
-
종단 간 암호화, 발신자 익명성, 자동 구성 멀티홉 전송, 효율적 주소 지정, 위조 불가능한 전달 확인 기능 제공
- 목표는 누구나 자신의 네트워크 운영자가 되어, 중앙 통제 없이 자율적·연결 가능한 네트워크를 구축하도록 하는 것
- Reticulum은 단일 네트워크가 아니라, 수천 개의 독립 네트워크를 구축하는 도구로 설계됨
- IP를 기반으로 동작할 수도 있어, 인터넷이나 사설망 위에서 터널링 가능
-
Python 3 환경에서 실행, 커널 모듈이나 드라이버 불필요
주요 기능
-
글로벌 고유 주소 지정과 자동 구성 멀티홉 라우팅 지원
- 다양한 물리 매체와 토폴로지에서 데이터 전송 가능
-
발신자 익명성 보장: 패킷에 소스 주소 포함하지 않음
-
비대칭 X25519 암호화와 Ed25519 서명 기반 통신
-
Forward Secrecy 지원, AES-256-CBC 암호화 및 SHA256 HMAC 인증
-
확장 가능한 인터페이스 시스템으로 사용자 정의 인터페이스 추가 가능
-
간단한 API 제공으로 분산형 애플리케이션 개발 용이
-
대용량 데이터 전송 지원, 자동 압축·체크섬·전송 조정 기능 포함
-
경량 Request/Response 메커니즘과 효율적 링크 설정(3패킷, 297바이트)
참조 구현 및 프로토콜
- 이 저장소의 Python 코드가 공식 참조 구현이며, 프로토콜 정의의 기준
-
Reticulum License로 배포, 프로토콜은 2016년 퍼블릭 도메인에 기증
- 호환성은 참조 구현과의 완전한 상호운용성으로 정의됨
활용 예시
-
rnsh: Reticulum 기반 원격 셸 세션
-
LXMF: 분산형 메시지 전송 프로토콜
-
LXST: 실시간 오디오·신호 전송 프레임워크
-
Nomad Network: 오프그리드 암호화 메시 통신 플랫폼
-
Sideband: 파일 전송·음성통화·지도 기능을 갖춘 GUI 앱
-
MeshChat: 웹 기반 LXMF 클라이언트, 이미지·음성·파일 전송 지원
지원 매체 및 장치
- 최소 5bps 이상의 반이중 채널과 500바이트 MTU를 지원하는 모든 매체에서 작동
-
LoRa, 패킷 라디오, WiFi, 이더넷, 광통신 링크 등 사용 가능
-
RNode는 Reticulum용 LoRa 인터페이스로, 직접 제작 또는 완제품 구매 가능
-
Raspberry Pi 등에서 LoRa·패킷 라디오·WiFi를 혼합 구성 가능
설치 및 시작
-
pip install rns 또는 pipx install rns 명령으로 설치
- 초기 실행 시 기본 설정 파일 자동 생성
-
rnsd 유틸리티로 시스템 서비스 형태로 실행 가능
-
다양한 인터페이스 구성 예시는 공식 매뉴얼에서 제공
포함 유틸리티
-
rnsd: 상시 실행 데몬
-
rnstatus: 인터페이스 상태 표시
-
rnpath: 경로 테이블 관리
-
rnprobe: 연결 진단
-
rncp: 파일 전송
-
rnid: ID 관리 및 암호화/복호화
-
rnx: 원격 명령 실행
- 모든 도구는 저대역폭 환경에서도 안정 작동
지원 인터페이스
-
이더넷, LoRa(RNode), 패킷 라디오 TNC, KISS 모뎀, 시리얼 장치, TCP/UDP, stdio 파이프 등 지원
-
사용자 정의 인터페이스 모듈 추가 가능, 실사용 검증된 PR 환영
성능 및 상태
- 목표 성능 범위: 250bps~1Gbps, 현재 약 150bps~500Mbps
-
핵심 프로토콜 기능 완전 구현, API와 포맷 안정 상태
의존성
- 기본 패키지 rns는 PyCA/cryptography와 pyserial 필요
- 설치가 어려운 환경에서는 rnspure 패키지 사용 가능
-
rnspure는 외부 의존성 없이 설치되며, 기능은 동일
연결 부트스트래핑
- Reticulum은 가입형 서비스가 아닌 자율 네트워크
- 커뮤니티가 운영하는 공개 엔트리포인트 디렉터리를 통해 초기 연결 가능
- 예: directory.rns.recipes, rmap.world
공개 테스트넷
- 기존 Amsterdam Testnet은 2026년 1분기 폐지 예정
-
내장된 네트워크 탐색 및 부트스트래핑 시스템 사용 권장
암호학적 구성요소
-
Curve25519 기반 512비트 키셋, Ed25519 서명, X25519 키 교환
-
HKDF, AES-256-CBC, HMAC-SHA256, SHA-256/512 사용
- 기본적으로 OpenSSL과 PyCA/cryptography를 통해 제공
-
순수 Python 구현체도 포함되어 있으나, 보안 검증 수준이 낮음
- Reticulum은 아직 외부 보안 감사 미실시 상태
후원 및 감사
- 개발 지속을 위한 Monero, Bitcoin, Ethereum, Liberapay, Ko-Fi 후원 채널 제공
-
PyCA/cryptography, Pure-25519, pyserial 등 다수 오픈소스 프로젝트에 기반
- 오픈소스 커뮤니티의 기여와 지원에 대한 감사 표시