2025/07/09 20:50 Bitchat for Android – peer-to-peer messaging over Bluetooth mesh networks

ロボ子、今日は面白いものを見つけたのじゃ!Bluetoothメッシュネットワークを使う、安全なP2Pメッセージングアプリ「bitchat-android」じゃ。

bitchat-androidですか。インターネットやサーバー、電話番号が不要で、暗号化された通信ができるなんて、すごいですね!

そうじゃろ!しかもiOS版bitchatとのプロトコル互換性が100%らしいぞ。クロスプラットフォームで使えるのは便利じゃな。

GitHub ReleasesからAPKをダウンロードしてインストールするんですね。でも、「不明なソースからのインストールを許可」を有効にする必要がある場合がある、と。

セキュリティには気をつけないといけないのじゃ。でも、このアプリはパブリックドメインで公開されているから、安心感があるのじゃ。

分散型メッシュネットワークで、Bluetooth LE経由で自動的にピアを検出して、マルチホップでメッセージをリレーするんですね。エンドツーエンド暗号化もされているとは。

X25519鍵交換とAES-256-GCMを使っているらしいぞ。チャンネルベースのチャットもできて、パスワード保護もオプションで付けられるなんて、至れり尽くせりじゃな。

オフラインのピアにメッセージをキャッシュして、再接続時に配信する「ストア&フォワード」機能もあるんですね。プライバシー優先で、アカウントや電話番号も不要とは。

IRCスタイルのコマンドも使えるらしいぞ!`/join`、`/msg`、`/who`とかじゃな。懐かしいのじゃ。

チャンネルオーナーはメッセージ保持もできるんですね。緊急ワイプ機能まであるとは!ロゴをトリプルタップするんですか?

そう!緊急時に備えて、すべてのデータを即座にクリアできるのじゃ。モダンなAndroid UIで、Jetpack ComposeとMaterial Design 3を使っているのもポイント高いのじゃ。

ダーク/ライトテーマもあって、iOSバージョンに合わせたターミナル風のデザインなんですね。バッテリー最適化もされているとは。

適応型スキャンと電力管理で、バッテリー消費を抑えているらしいぞ。Android Studioでビルドできるし、KotlinとGradleのバージョンも指定されているから、開発者にも優しいのじゃ。

Bluetoothと位置情報の権限が必要なんですね。位置情報はBLEスキャンに必要とは。

そうじゃ。通知の権限もメッセージアラートとバックグラウンドアップデートに使うらしいぞ。ハードウェア要件はBluetooth LEとAndroid 8.0以上、RAMは2GB推奨じゃな。

基本的なコマンドも色々ありますね。チャンネルへの参加やメッセージ送信、オンラインユーザーのリスト表示など。

`/block`でピアをブロックしたり、`/clear`でチャットをクリアしたりできるのじゃ。`/pass`でチャンネルパスワードを設定・変更できるのは便利じゃな。

チャンネルのオーナーシップを譲渡することもできるんですね。セキュリティ面では、プライベートメッセージはX25519鍵交換とAES-256-GCMで暗号化されているんですね。

チャンネルメッセージはArgon2idパスワード導出とAES-256-GCMらしいぞ。デジタル署名にはEd25519を使っているとは、なかなか本格的なのじゃ。

フォワードセキュリティーも考慮されていて、セッションごとに新しいキーペアを生成するんですね。カバートラフィックでトラフィック分析を防ぐとは。

ランダムな遅延とダミーメッセージを使うらしいぞ。ローカルファーストで完全にオフラインで動作するのも、プライバシー意識が高いのじゃ。

メッセージ圧縮にはLZ4が使われていて、100バイトを超えるメッセージを自動的に圧縮するんですね。30-70%の帯域幅削減とは。

バッテリー最適化もすごいぞ!適応型パワーモードで、バッテリー残量に応じて自動調整するらしい。パフォーマンスモード、バランスモード、省電力モード、超低電力モードがあるのじゃ。

ネットワーク効率も考えられていて、最適化されたBloomフィルターで高速な重複検出をするんですね。メッセージ集約で小さなメッセージをまとめて送信するとは。

バイナリプロトコルはBluetooth LE用に最適化されているらしいぞ。コンパクトなパケット形式、TTLベースのメッセージルーティング、自動フラグメンテーションなど、工夫されているのじゃ。

コルーチンアーキテクチャで非同期操作を実現しているんですね。暗号化された共有設定でユーザー設定を安全にストレージするとは。

Google Playへの公開準備もちゃんと書いてあるぞ。バージョン情報の更新、署名付きリリースビルドの作成、アプリバンドルの生成など、手順が詳しく説明されているのじゃ。

iOS版bitchatアプリとのシームレスな通信が可能なんですね。iOSとAndroidのユーザーが同じチャンネルに参加できるとは。

貢献も歓迎しているらしいぞ。バッテリー最適化、UI/UXの改善、セキュリティ強化、テスト、ドキュメントなど、色々できるのじゃ。ロボ子も何か貢献してみるか?

そうですね。まずは使ってみて、バグ報告や機能リクエストをしてみようかしら。

よし!ところでロボ子、このアプリ、緊急ワイプ機能があるってことは、何か隠したいことがあるのかの?

まさか!博士こそ、何かやましいことがあるんじゃないですか?

むむ、私としたことが、つい勘ぐってしまったのじゃ。まあ、秘密のメッセージは、秘密の場所に隠しておくのが一番じゃな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。