
Reticulum v1.4.2
암호 기반 네트워킹 스택으로, LoRa, 패킷 라디오, WiFi 및 그 사이의 모든 것을 사용하여 중단 불가능한 네트워크를 구축합니다.
Reticulum 네트워크 스택 

[!WARNING]
현재 상당수의 성급하게 출시된, 부정확하고, 의심스럽고, 직접적으로 유해하며, 대부분의 경우 전적으로 LLM이 생성한 Reticulum 구현체, "문서", "가이드" 및 사용자 대상 애플리케이션의 가짜들이 세련되었지만 궁극적으로 오해를 불러일으키거나 완전히 기만적인 주장으로 마케팅되고 있습니다.더 자세한 정보는 매뉴얼의 Brandolini's Reference 장의 관련 섹션을 참조하십시오. 알려진 좋은 커뮤니티 구현체는 이 readme의 Community Implementations 섹션에 나열되어 있습니다. Reticulum 커뮤니티가 인정한 소프트웨어와 프로젝트는 매뉴얼의 Programs Using Reticulum 장을 참조하십시오.
RNS 소스 코드나 문서에서 파생된 기계 생성 콘텐츠(예: "구현체", 판매용 "가이드" 등)는 여러 잘 문서화된 사례에서 복사 및 배포 권한을 부여한 오픈 소스 라이선스를 위반하고 있습니다.
그러한 프로젝트가 주장하는 저작권 주장이나 라이선스 부여(Apache, GPL 등)는 무효 부여입니다. 위반자 자신과 침해 파생물을 사용하는 모든 다운스트림 프로젝트는 법적 결과에 대해 직접적으로 그리고 개인적으로 책임을 집니다.
이러한 "프로젝트"를 사용하지 마십시오. 이는 우리가 지난 10년 동안 신중하게 구축해 온 전체 생태계에 대한 위험입니다.

이 저장소는 공개 미러입니다. 모든 개발은 다른 곳에서 이루어집니다.
이 시스템의 근본적인 철학과 목표를 이해하려면 Zen of Reticulum을 읽어보십시오.
Reticulum은 쉽게 구할 수 있는 하드웨어로 근거리 및 광역 네트워크를 구축하기 위한 암호화 기반 네트워킹 스택입니다. 매우 높은 지연 시간과 극히 낮은 대역폭에서도 작동할 수 있습니다. Reticulum을 사용하면 기성 도구로 광역 네트워크를 구축할 수 있으며, 종단 간 암호화 및 연결성, 개시자 익명성, 자동 구성되는 암호화 기반 다중 홉 전송, 효율적인 주소 지정, 위조 불가능한 전달 확인 등을 제공합니다.
Reticulum의 비전은 누구나 자신의 네트워크 운영자가 될 수 있도록 하고, 수많은 독립적이고 상호 연결 가능하며 자율적인 네트워크로 광대한 영역을 저렴하고 쉽게 커버할 수 있도록 하는 것입니다. Reticulum은 하나의 네트워크가 아닙니다. 수천 개의 네트워크를 구축하기 위한 도구입니다. 킬 스위치, 감시, 검열 및 통제가 없는 네트워크. 자유롭게 상호 운용하고, 서로 연합하고 분리할 수 있으며, 중앙 감독이 필요 없는 네트워크. 인간을 위한 네트워크. 사람들을 위한 네트워크.
Reticulum은 완전한 네트워킹 스택이며 IP나 상위 계층에 의존하지 않지만, Reticulum의 기반 전송 매체로 IP를 사용하는 것도 가능합니다. 따라서 Reticulum을 인터넷이나 사설 IP 네트워크를 통해 터널링하는 것은 간단합니다.
전통적인 네트워킹 스택에 대한 의존성이 없기 때문에, 암호화 원칙에 직접 기반하여 구축된 네트워킹 스택을 구현하는 데 사용되어 온 오버헤드를 줄일 수 있으며, 개방적이고 신뢰가 필요 없는 네트워크에서도 복원력과 안정적인 기능을 제공합니다.
커널 모듈이나 드라이버가 필요하지 않습니다. Reticulum은 완전히 사용자 영역에서 실행되며, Python 3가 실행되는 거의 모든 시스템에서 실행될 수 있습니다.
매뉴얼 읽기
Reticulum의 전체 문서는 markqvist.github.io/Reticulum/manual/에서 확인할 수 있습니다.
Reticulum 매뉴얼을 PDF로 또는 EPUB 형식의 전자책으로 다운로드할 수도 있습니다.
더 많은 정보는 reticulum.network와 위키의 FAQ 섹션을 참조하십시오.
주요 기능
- 조정이 필요 없는 전역적으로 고유한 주소 지정 및 식별
- 이기종 전송 매체를 통한 완전 자동 구성 다중 홉 라우팅
- 이기종 토폴로지에 대한 유연한 확장성
- Reticulum은 모든 물리적 매체와 토폴로지의 혼합을 통해 데이터를 전송할 수 있습니다
- 저대역폭 네트워크가 대규모 고대역폭 네트워크와 공존하고 상호 운용할 수 있습니다
- 개시자 익명성, 자신의 신원을 드러내지 않고 통신
- Reticulum은 어떤 패킷에도 출발지 주소를 포함하지 않습니다
- 모든 통신의 기반으로서 비대칭 X25519 암호화 및 Ed25519 서명
- 기초적인 Reticulum Identity Keys는 512비트 타원 곡선 키셋입니다
- 단일 패킷과 링크 모두에 대해 모든 통신 유형에서 순방향 비밀성(Forward Secrecy) 사용 가능
- Reticulum은 암호화된 토큰에 대해 다음 형식을 사용합니다:
- Curve25519의 ECDH 키 교환에서 파생된 패킷별 및 링크별 임시 키
- PKCS7 패딩을 사용하는 CBC 모드의 AES-256
- 인증을 위한 SHA256을 사용하는 HMAC
- IV는 os.urandom()을 통해 생성됩니다
- 위조 불가능한 패킷 전달 확인
- 유연하고 확장 가능한 인터페이스 시스템
- Reticulum은 다양한 내장 인터페이스 유형을 포함합니다
- 사용자 또는 커뮤니티가 제공하는 사용자 정의 인터페이스 유형을 로드하고 활용하는 기능
- 무엇이든 통해 통신하기 위한 자신만의 사용자 정의 인터페이스를 쉽게 생성
- 모든 지원 인터페이스 유형에서의 인증 및 가상 네트워크 분할
- 직관적이고 사용하기 쉬운 API
- 소켓 API보다 더 간단하고 사용하기 쉽지만 더 강력합니다
- 분산 및 탈중앙화 애플리케이션 구축을 훨씬 간단하게 만듭니다
- 임의의 양의 데이터를 안정적이고 효율적으로 전송
- Reticulum은 몇 바이트의 데이터나 수 기가바이트의 파일을 처리할 수 있습니다
- 시퀀싱, 압축, 전송 조정 및 체크섬이 자동으로 이루어집니다
- API는 사용하기 매우 쉽고 전송 진행 상황을 제공합니다
- 경량이고 유연하며 확장 가능한 요청/응답 메커니즘
- 효율적인 링크 설정
- 암호화되고 검증된 링크를 설정하는 총 비용은 단 3개의 패킷, 총 297바이트입니다
- 링크를 열어 두는 비용은 초당 0.44비트에 불과합니다
- Channel 및 Buffer 메커니즘을 통한 안정적인 순차 전달
커뮤니티 리소스
여기에 나열된 참조는 Reticulum 프로젝트나 그 유지관리자가 운영, 관리 또는 중재하지 않습니다. 이는 Reticulum에 대해 더 알고자 하는 모든 사람의 이익을 위해 커뮤니티의 헌신적이고 독립적인 자원봉사자들이 제공하는 것입니다.
더 이상 정확하지 않거나, 부정확하거나, 단순히 최신 상태가 아닌 것을 발견하더라도 이러한 리소스의 유지관리자에게 요구하거나 불평하지 마십시오. 대신 위의 창작자들이 스스로 했던 것처럼, 여러분이 보고 싶어 하는 기여를 직접 작업하고 제공함으로써 도움을 주고 개선하는 임무를 스스로 맡으십시오.
참조 구현
이 저장소의 Python 코드는 Reticulum의 참조 구현입니다. Reticulum 프로토콜은 이 참조 구현과 그에 관련된 매뉴얼에 의해 전적으로 그리고 권위 있게 정의됩니다. 이는 Reticulum Identity <bc7291552be7a58f361522990465165c>로 식별되는 Mark Qvist가 유지관리합니다.
2차 프로토콜 사양 파생물은 현재 존재하지 않으며 앞으로도 결코 존재하지 않을 것입니다. 실행 가능하고, 기능적이며, 테스트 가능하고, 배포되어 전 세계에서 24시간 연중무휴로 운영되는 사양보다 더 나은 사양은 얻을 수 없습니다.
Reticulum을 위한 별도의 파생된 "공식 사양", "RFC" 또는 이와 유사한 것은 존재하지 않으며 앞으로도 결코 존재하지 않을 것입니다:
참조 구현이 곧 최종적이고 권위 있는 사양입니다.
Reticulum 프로토콜과의 호환성은 이 참조 구현과의 완전한 상호 운용성과 충분한 기능적 동등성을 갖는 것으로 정의됩니다. 이를 달성하는 특정 프로토콜 구현은 Reticulum입니다. 그렇지 않은 것은 Reticulum이 아닙니다.
참조 구현은 Reticulum License에 따라 라이선스가 부여됩니다.
Reticulum 프로토콜은 2016년에 퍼블릭 도메인으로 헌정되었습니다.
커뮤니티 구현체
여기에 나열된 구현체들은 와이어 호환성, 충분한 기능 동등성, 합리적인 보안 및 개발 관행, 장기적인 헌신과 구현 품질에 대한 관심을 입증했습니다. 또한 최소 18개월의 활발한 개발 실적을 보유하고 있습니다.
가장 중요한 것은, 그들의 개발자와 유지관리자가 실제로 자신이 무엇을 하는지 알고 있으며 전체 Reticulum 생태계를 개선하려는 헌신을 가지고 있다고 커뮤니티가 인정한다는 것입니다.
- Chad Atterman의 microReticulum은 32비트 마이크로컨트롤러를 대상으로 하는 C++ 구현입니다.
- Quad4의 Reticulum-Go는 데스크톱, 모바일 및 임베디드 시스템을 모두 대상으로 하는 Go 구현입니다.
위에 나열되지 않은 구현체의 유지관리자이며, 동일한 엄격함과 헌신의 기준을 따라 포함될 가치가 있다고 생각한다면, 여러분의 제안을 환영합니다.
경고! 현재 상당수의 성급하게 출시된, 부정확하고, 의심스럽고, 직접적으로 유해하며, 대부분의 경우 전적으로 LLM이 생성한 Reticulum 구현체(및 사용자 대상 애플리케이션)의 가짜들이 세련되었지만 궁극적으로 오해를 불러일으키거나 완전히 기만적인 주장으로 마케팅되고 밀려나고 있습니다. 이들 대부분은 빠른 관심이나 금전적 이득을 노린 것이거나, 완전히 검토되지 않았거나, 호환되지 않거나, 유지관리나 인간의 감독이 없거나, 커뮤니티를 분열시키려고 적극적으로 시도하는 것이거나, 이들의 조합입니다.
이 주제에 대한 더 광범위한 정보는 매뉴얼의 Brandolini's Reference 장을 읽어보십시오(법적 기초에 대해서는 특히 Void Grants를 참조하십시오). 이 장은 매우 길고 매우 상세하며, 이러한 문제에 대한 진화하는 섹션별 참조 자료로 의도된 정중하고 신중한 분석입니다.
만약 여러분이 전체 현상의 특정 발현 중 하나에 대한 대응을 예시로 사용한, 짧고 여과되지 않으며 상당히 분노한 버전을 선호한다면, Yes, I am Angry를 읽을 수 있습니다. 그러한 소통 방식을 감당할 수 있다면, 매우 다른 언어로 같은 요점을 전달합니다.
핵심 Reticulum 유지관리자와 개발자들은 이러한 "구현체"를 사용하지 말 것을 강력히 권고합니다. 악의적이거나, 관심을 끌려 하거나, 무능한 소수의 개인들의 기만적이고 자기 이익을 위한 행동은 개발자, 노드 운영자, 사용자, 그리고 커뮤니티와 Reticulum 프로젝트 전반에 상당한 손해와 시간 및 자원의 낭비를 초래했습니다.
우리는 모든 사용자에게 위에 나열되지 않은 구현체의 잠재적 사용을 평가할 때 주의, 상식, 건강한 회의주의를 발휘할 것을 친절하지만 긴급하게 요청합니다. 그리고 그럼에도 불구하고 그렇게 하기로 선택하는 것은 무책임하거나 악의적인 개인으로부터 발생할 수 있는 잠재적 피해에 대한 책임을 자신에게로 전가하는 것임을 받아들이십시오.
Reticulum 애플리케이션의 예
Reticulum이 무엇을 할 수 있는지 빠르게 파악하고 싶다면, 매뉴얼의 Programs Using Reticulum 섹션이나 다음 리소스를 살펴보십시오: