1P by neo 1달전 | favorite | 댓글 1개

Nomad Network - 자유로운 통신

오프라인, 강력한 암호화, 포워드 시크릿, 극도의 프라이버시를 제공하는 메쉬 통신

Nomad Network는 사용자들이 완전히 통제하고 소유할 수 있는 개인적이고 탄력적인 통신 플랫폼을 구축할 수 있게 함. 가입, 동의, 데이터 전달, 권한 및 게이트키퍼가 필요 없음

Nomad Network는 LXMF와 Reticulum을 기반으로 구축되어 암호화된 메쉬 기능과 피어 투 피어 메시지 라우팅을 제공함. 이 기반은 패킷 라디오부터 광섬유까지 다양한 통신 매체를 사용할 수 있게 함

Nomad Network는 공공 인터넷 연결이 필요하지 않음. IP나 이더넷 네트워크도 필요하지 않음. 패킷 라디오, LoRa, 시리얼 라인 등을 통해 완전히 사용할 수 있음. 원한다면 인터넷이나 개인 이더넷 네트워크를 통해 네트워크를 연결할 수도 있음

Reticulum을 사용하기 때문에 매우 낮은 대역폭에서도 효율적으로 작동할 수 있으며, 300bps 라디오 링크에서도 성공적으로 사용됨

그래픽 사용자 인터페이스를 가진 LXMF 클라이언트를 원한다면, Linux, Android, macOS용 Sideband를 참고할 것

주요 기능

  • 패킷 라디오, LoRa, WiFi 등 Reticulum이 지원하는 모든 매체를 통한 암호화 메시징
  • 제로 구성, 최소 인프라 메쉬 통신
  • 오프라인 사용자를 위한 분산 및 암호화된 메시지 저장소
  • 페이지와 파일을 호스팅할 수 있는 연결 가능한 노드
  • PHP, Python, bash 등을 사용한 노드 측 페이지 생성
  • 노드의 콘텐츠와 상호작용할 수 있는 내장 텍스트 기반 브라우저
  • 페이지 작성에 용이하고 대역폭 효율적인 마크업 언어
  • 브라우저 내 페이지 캐싱

시작하는 방법

Nomad Network를 설치하는 가장 쉬운 방법은 pip를 사용하는 것임:

pip install nomadnet
nomadnet
nomadnet --daemon
nomadnet --help

운영 체제가 pip를 통한 일반 사용자 패키지 설치를 차단하는 경우, ~/.config/pip/pip.conf 파일을 편집하여 다음 지시문을 추가할 것:

[global]
break-system-packages = true

또는 pipx 도구를 사용하여 Nomad Network를 격리된 환경에 설치할 수 있음:

pipx install nomadnet
pipx install rns
pipx install lxmf
nomadnet
nomadnet --daemon
nomadnet --help

처음으로 pip를 사용하여 프로그램을 설치하는 경우, 시스템을 재부팅해야 프로그램이 사용 가능해질 수 있음. "command not found" 오류가 발생하면 시스템을 재부팅하고 다시 시도할 것

패킷 라디오나 LoRa에서 Nomad Network를 사용하려면, Reticulum 설치를 구성해야 함. Reticulum 문서를 참고할 것

물리적 네트워크를 구축하지 않고 Nomad Network를 시도하려면, 인터넷을 통해 Unsigned.io RNS Testnet에 연결할 수 있음. Testnet에 연결하면 네트워크의 다른 노드에서 페이지나 서비스를 호스팅하는 노드의 발표를 받을 수 있음

Android에 설치

Termux를 사용하여 Android에 Nomad Network를 설치할 수 있음. 자세한 과정은 Reticulum Manual의 Android 설치 섹션을 참고할 것

그래픽 사용자 인터페이스를 가진 네이티브 Android 애플리케이션을 원한다면, Sideband를 참고할 것

Docker 이미지

Nomad Network는 Github Packages에 Docker 이미지로 자동으로 게시됨. 이미지 태그는 master 또는 특정 릴리스 번호임:

docker pull ghcr.io/markqvist/nomadnet:master
docker run -it ghcr.io/markqvist/nomadnet:master --textui
docker run -d \
  -v /local/path/nomadnetconfigdir/:/root/.nomadnetwork/ \
  -v /local/path/reticulumconfigdir/:/root/.reticulum/ \
  --network host \
  ghcr.io/markqvist/nomadnet:master
docker run -d \
  -v /local/path/nomadnetconfigdir/:/root/.nomadnetwork/ \
  -v /local/path/reticulumconfigdir/:/root/.reticulum/ \
  ghcr.io/markqvist/nomadnet:master
docker run -i ghcr.io/markqvist/nomadnet:master --daemon --console

도구 및 확장

Nomad Network는 매우 유연하고 확장 가능한 플랫폼이며, 다양한 커뮤니티 제공 도구, 유틸리티 및 노드 측 확장이 존재함:

  • NomadForum (GitHub mirror)
  • NomadForecast
  • micron-blog
  • md2mu
  • Any2MicronConverter
  • Nomadnet 페이지 예제
  • LXMF-Bot
  • LXMF Messageboard
  • LXMEvent
  • POPR
  • LXMF Tools

도움말 및 토론

Nomad Network와 관련된 도움 요청, 토론, 아이디어 공유 등을 위해 Nomad Network 토론 페이지를 참고할 것

Nomad Network 지원

개방적이고 무료이며 개인적인 통신 시스템의 지속적인 개발을 지원하려면 다음 채널을 통해 기부할 수 있음:

  • Monero: 84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
  • Ethereum: 0xFDabC71AC4c0C78C95aDDDe3B4FA19d6273c5E73
  • Bitcoin: 35G9uWVzrpJJibzUwpNUQGQNFzLirhrYAH
  • Ko-Fi: https://ko-fi.com/markqvist

개발 로드맵

  • 새로운 주요 기능
    • 네트워크 전반에 걸친 공지 및 토론 스레드
    • 협업 지도 및 지리 정보 공유
  • 소규모 개선 및 수정
    • 대화 또는 대화 목록에서 링크 상태 (RSSI 및 SNR)
    • 메뉴로 이동하는 Ctrl-M 단축키
    • 다른 사용자와 노드 공유 / 사용자에게 노드 정보 전송
    • 일부 OS에서 "editor" 별칭이 없는 경우 내부 편집기 실패 수정
    • 필요한 너비 헤더 추가 가능성
    • 원격 링크 닫기 시 브라우저 처리 개선
    • 요청 실패 시 더 나은 탐색 처리 (링크 닫힘으로 인한 경우 포함)
    • 실패한 메시지 재시도 메커니즘
    • 버튼 재배치로 일관성 향상
    • 페이지 입력 필드
    • 게시 메커니즘
    • readme에 터미널 호환성 알림
    • 대화 목록에서 선택된 아이콘
    • 로컬 노드 검색 기능 가능성
    • 노드 정보 상자 옆에 거리와 함께 경유 항목 추가 가능성

주의 사항

Nomad Network는 베타 소프트웨어이며, 그렇게 간주해야 함. 암호화 모범 사례를 염두에 두고 구축되었지만, 외부 보안 감사가 이루어지지 않았으며, 프라이버시를 침해할 수 있는 버그가 있을 수 있음. 도움을 주거나 감사를 후원하고 싶다면 연락할 것

GN⁺의 정리

Nomad Network는 사용자들이 완전히 통제할 수 있는 개인적이고 탄력적인 통신 플랫폼을 제공함. 다양한 통신 매체를 지원하며, 공공 인터넷 연결이 필요하지 않음. Reticulum을 기반으로 하여 낮은 대역폭에서도 효율적으로 작동함. Nomad Network는 패킷 라디오, LoRa, 시리얼 라인 등을 통해 사용할 수 있으며, 다양한 커뮤니티 제공 도구와 확장이 존재함. 베타 소프트웨어로서 외부 보안 감사가 이루어지지 않았으므로 주의가 필요함.

Hacker News 의견
  • NextNav가 900Mhz ISM 대역의 큰 부분을 차지하면 문제가 될 것임
  • ISM 라디오 대역에 대한 정보는 Wikipedia에서 확인할 수 있음
  • FCC 웹사이트에서 피드백을 등록할 수 있음
  • 관련 진행 중인 스레드: "Private, Secure and Uncensorable Messaging over a LoRa Mesh (2022)"
  • Reticulum 네트워크는 다양한 전송 매체를 제공하여 매우 흥미로움 (패킷 라디오 등)
  • 사용자 의견:
    • 사용자가 이해할 수 있도록 번호를 앞에 표시하는 것이 좋음
    • 신뢰와 대화를 결합하는 것이 상대적으로 이해하기 쉬움
    • 신뢰와 비신뢰 외에 다른 카테고리를 두는 것은 좋은 생각이지만 즉시 이해되지는 않음
    • 사용자는 이 문맥에서 "신뢰"가 무엇을 의미하는지 알아야 함
    • 사용자는 Curve25519를 사용하고 있다는 것을 알 필요는 없고, 암호화가 이루어졌다는 것만 알면 됨
    • ID 번호에 16진수를 사용하는 것은 최악의 선택임. 10진수나 base32가 더 나음
    • ID 번호는 유용한 그룹으로 일관되게 표시되어야 함 (예: 4개의 5자리 그룹)
  • 오프그리드 메시 네트워크 구축에 대해 읽는 것이 매우 흥미로움. 이는 내 SF 소설 'Mesh'의 중심 주제임
  • Meshtastic와 유사하지만 Nomad는 PC용이고 Meshtastic는 마이크로컨트롤러용임
  • 이 프로젝트가 감사되었는지 찾을 수 없었음
  • Reticulum 사용:
    • 조정 없는 전역 고유 주소 지정 및 식별
    • 완전 자가 구성 멀티 홉 라우팅
    • 위조 불가능한 패킷 전달 확인
    • 발신자 익명성
  • 가장 시끄러운 프로토콜이며 플러드 보호가 없음. 이 문제를 해결했다면 큰 뉴스이자 학문적 진보일 것임
  • Python으로 작성된 것이 아쉬움. 몇 가지 질문:
    • 완전히 오프라인에서 부트스트랩할 수 있는지?
    • 노드 요구 사항은 무엇인지? CPU와 메모리 요구 사항은? 내 P150에 16MB RAM으로 실행 가능한지?
  • Nomadnet/Reticulum이 yggdrasil, ipfs, nostr, 또는 scuttlebot과 어떻게 비교되는지?