BitChat: 블루투스와 Nostr를 통한 분산 메쉬 메시징

BitChat: 블루투스와 Nostr를 통한 분산 메쉬 메시징

BitChat은 중앙 서버, 전화번호, 또는 사용자 계정이 필요 없도록 하는 iOS 및 macOS용 분산 피어 투 피어 메시징 애플리케이션입니다. 이중 전송 아키텍처를 사용하여 사용자는 로컬 블루투스 메쉬 네트워크를 통해 오프라인으로, 그리고 Nostr 프로토콜을 통해 전 세계적으로 통신할 수 있습니다.

하이브리드 메시징 아키텍처

BitChat은 인터넷 가용성과 관계없이 메시지 전달을 보장하기 위해 두 가지 보완적인 전송 계층을 활용합니다.

블루투스 메쉬 네트워크 (오프라인)

오프라인 통신을 위해 BitChat은 Bluetooth Low Energy (BLE) 메쉬 네트워크를 구현합니다. 이 시스템은 셀룰러 및 WiFi 인프라가 이용 불가능한 재난 상황, 시위, 또는 원격 지역에서 사용하기 위해 설계되었습니다.

  • 멀티홉 릴레이: 근처의 기기를 통해 최대 7홉까지 라우팅할 수 있어 단일 직접 연결을 넘어 도달 범위를 확장합니다.
  • 보안: Noise 프로토콜을 통해 엔드 투 엔드 암호화가 처리되어 순방향 비밀성을 제공합니다.
  • 효율성: 앱은 컴팩트한 바이너리 프로토콜과 적응형 전력 듀티 사이클링을 사용하여 모바일 기기의 배터리 수명을 최적화합니다.
  • 자동 발견: 피어 발견 및 연결 관리가 수동 페어링 없이 자동으로 처리됩니다.

Nostr 프로토콜 (인터넷)

인터넷 접속이 가능한 경우, BitChat은 글로벌 연결을 제공하기 위해 Nostr 프로토콜을 활용합니다.

  • 글로벌 릴레이 네트워크: 메시지는 290개 이상의 릴레이로 구성된 분산 네트워크를 통해 라우팅됩니다.
  • 위치 기반 채널: BitChat은 지오해시 좌표를 사용하여 지리적 채팅방을 생성합니다. 이들은 정밀도 수준별로 분류됩니다:
    • Block (7 chars): 도시 블록 수준
    • Neighborhood (6 chars): 동네/지구
    • City (5 chars): 도시 수준
    • Province (4 chars): 주/도
    • Region (2 chars): 국가/대규모 지역
  • 프라이버시: 개인 메시지는 인터넷上的 프라이버시를 유지하기 위해 NIP-17 '선물 포장' 암호화를 사용합니다.

지능형 메시지 라우팅

BitChat은 직접 메시지에 대해 가장 효율적이고 개인 정보 보호가 보장된 전송 방법을 결정하기 위해 스마트 라우팅 시스템을 사용합니다:

  1. 블루투스 우선: 앱은 최대 프라이버시와 속도를 위해 확립된 Noise 세션이 있는 직접 블루투스 연결을 선호합니다.
  2. Nostr 폴백: 블루투스를 사용할 수 없는 경우, 앱은 수신자의 Nostr 공개 키로 폴백하고 글로벌 릴레이 네트워크를 통해 메시지를 라우팅합니다.
  3. 스마트 큐잉: 두 가지 전송 모두 사용할 수 없는 경우, 메시지는 연결이 설정될 때 자동으로 전달되도록 큐에 들어갑니다.

기술적 기능 및 프라이버시

BitChat은 '프라이버시 우선' 철학을 바탕으로 설계되어 지속적인 식별자나 계정이 필요하지 않습니다.

  • 암호화: 메시 mesh에는 Noise 프로토콜을, Nostr에는 NIP-17을 사용합니다.
  • 데이터 관리: 'Emergency Wipe' 기능은 트리플 탭 동작을 통해 모든 데이터를 즉시 삭제할 수 있게 합니다.
  • 성능: 앱은 데이터 오버헤드를 줄이기 위해 LZ4 메시지 압축을 포함합니다.
  • 인터페이스: 앱은 /slap, /msg, /who 와 같은 IRC 스타일 명령을 지원합니다.

커뮤니티 통찰 및 실제 세계 테스트

사용자 토론은 분산 메쉬 네트워킹의 잠재력과 실제적인 과제를 모두 강조합니다.

네트워크 밀도 도전 과제

대규모 행사(Fusion Festival)에서의 실제 테스트는 네트워크 밀도가 앱의 효과에 중요한 요소임을 나타냈습니다. 한 사용자는 80,000명의 참가자 중 약 20대의 기기를 목격했다고 보고했으며, 대부분의 홉이 2로 제한되어 메시지가 grounds 전반에 의미 있는 거리까지 도달하는 것을 막았다고 언급했습니다.

검열 저항

커뮤니티 구성원들은 이 프로젝트가 정부 기관으로부터 압력을 받아왔다고 지적했습니다. 보고에 따르면 인도 정부가 GitHub에서 BitChat의 제거를 요청했으며, 이로 인해 프로젝트가 분산 코드 협업 플랫폼인 Radicle에 존재하게 되었다고 합니다.

사용자 경험

사용자들은 WiFi나 셀룰러 서비스 없이 문자를 보내는 경험을 '초현실적'이라고 설명하며, 중앙집중식 기업 통신 플랫폼의 대안을 찾는 사람들에게 이 도구의 가치를 강조했습니다.

Sources