BitChat: 藍牙與 Nostr 的去中心化網狀通訊
BitChat: 藍牙與 Nostr 的去中心化網狀通訊
BitChat 是一個適用於 iOS 和 macOS 的去中心化點對點通訊應用程式,無需中央伺服器、電話號碼或使用者帳戶。它採用雙傳輸架構,使用戶既能透過本地藍牙網狀網路離線通訊,也能透過 Nostr 協議進行全球通訊。
混合通訊架構
BitChat 利用兩個互補的傳輸層,確保訊息傳遞不受網路可用性影響。
藍牙網狀網路 (離線)
針對離線通訊,BitChat 實作了一個藍牙低能耗 (BLE) 網狀網路。此系統專為災難情境、抗議活動或蜂窩及 WiFi 基礎設施不可用的偏遠地區而設計。
- 多跳轉發:訊息可以透過最多 7 次跳躍的附近設備進行路由,延伸超過單一直接連線的範圍。
- 安全:端到端加密透過 Noise Protocol 進行處理,提供前向保密。
- 效率:應用程式使用緊湊的二進位協議和自適應功率 duty cycling,以優化行動設備的電池壽命。
- 自動發現:對等發現與連線管理會自動處理,無需手動配對。
Nostr 協議 (網際網路)
當網際網路可用時,BitChat 利用 Nostr 協議提供全球連線。
- 全球中繼網路:訊息會透過超過 290 個中繼節點的分散式網路進行路由。
- 基於位置的頻道:BitChat 使用 geohash 座標來建立地理聊天室。這些聊天室依精度等級分類:
- 街區 (7 個字元):城市街區級別
- 鄰里 (6 個字元):地區/鄰里
- 城市 (5 個字元):城市級別
- 省份 (4 個字元):州/省份
- 區域 (2 個字元):國家/大區域
- 隱私:私人訊息使用 NIP-17 "gift-wrapped" 加密,以在網際網路上保持隱私。
智慧訊息路由
BitChat 採用智慧路由系統,以決定直接訊息最有效且私密的傳輸方式:
- 藍牙優先:應用程式優先選擇已建立 Noise session 的直接藍牙連線,以獲得最大隱私與速度。
- Nostr 備援:如果藍牙不可用,應用程式會回退到收件人的 Nostr 公鑰,並透過全球中繼網路路由訊息。
- 智慧排隊:如果兩種傳輸方式皆不可用,訊息將會被排隊,並在建立連線時自動傳遞。
技術特性與隱私
BitChat 以『隱私優先』的哲學設計,不需要任何持久標識或帳戶。
- 加密:它在網狀網路中使用 Noise Protocol,在 Nostr 中使用 NIP-17。
- 資料管理:「緊急清除」功能允許使用者透過三擊動作立即清除所有資料。
- 效能:應用程式包含 LZ4 訊息壓縮,以降低資料開銷。
- 介面:應用程式支援 IRC 風格的指令,例如
/slap、/msg和/who。
社群見解與實測試驗
使用者討論凸顯了去中心化網狀網路的潛力與實際挑戰。
網路密度挑戰
在大型活動(Fusion Festival)的實測顯示,網路密度是應用程式效能的關鍵因素。一位使用者報告稱,在 80,000 名參與者中約看到 20 台設備,並指出多數跳躍僅限於 2 次,這阻礙了訊息在場地內達到有意義的距離。
抗審閱能力
社群成員指出,該項目曾受到政府機構的壓力。報告顯示,印度政府曾請求將 BitChat 從 GitHub 移除,因而導致該項目出現在 Radicle 上,Radicle 是一個去中心化的程式碼協作平台。
使用者體驗
使用者將無需 WiFi 或蜂窩服務的文字傳輸體驗描述為『超現實』,強調了該工具對尋求中央企業通訊平台替代方案的人們的價值。