ジャック・ドーシー氏の「bitchat」とは?通信インフラ不要の次世代チャットアプリを徹底解説

ジャック・ドーシー氏の「bitchat」とは?通信インフラ不要の次世代チャットアプリを徹底解説

近年の自然災害の増加や、大規模イベントでの通信障害など、私たちは情報伝達手段の脆弱性を度々経験しています。そんな中、既存の通信インフラに一切依存しない、革新的なチャットアプリケーション「bitchat」が注目を集めています。

 

Twitter創業者ジャック・ドーシー氏が手掛ける「bitchat」の全貌

twitterアイコン

bitchatは、Twitterの共同創業者でありBlock社のCEOでもあるジャック・ドーシー氏が、その開発に深く関与していることで大きな話題を呼んでいます。ドーシー氏は自身の週末を費やし、「Bluetoothメッシュネットワーク、リレー、ストア&フォワードモデル、メッセージ暗号化モデルなど」について学習した上で、「bitchat」をX(旧Twitter)上で紹介したと述べています。彼はこのシステムを「IRC(Internet Relay Chat)の雰囲気がある」とも表現しており、1990年代後半の初期ウェブベースメッセージングシステムへの回帰を感じさせます。

この「bitchat」は、まるでレトロな「IRC」のような操作感を持ちながら、最新の技術を駆使して、サーバーやインターネット接続なしに人々が繋がり合える未来のコミュニケーションを提案しています。

「bitchat」とは?その驚きの仕組み

bitchatは、Bluetoothメッシュネットワーク上で動作する、安全で分散型のP2P(ピアツーピア)メッセージングアプリです。最大の特徴は、インターネット接続、中央サーバー、そして電話番号が一切不要である点にあります。

各デバイスが通信のクライアントと周辺機器の両方として機能し、周囲のピア(他のデバイス)を自動的に検出し、接続を管理します。メッセージは、直接通信できないデバイス間でも、他のデバイスを経由して転送される「マルチホップメッセージリレー」により、遠隔地のピアにも到達します。これにより、各デバイスが「信頼性の高いメッセージングウェブ」を形成し、相互に通信を中継し合うことで、ネットワーク全体の堅牢性を高めています。

インターネット不要!「bitchat」の主要機能とメリット

bitchatが提供する機能は多岐にわたり、その全てがユーザーのプライバシーと効率性を重視して設計されています。

エンドツーエンド暗号化

プライベートメッセージには「X25519鍵交換」と「AES-256-GCM」が、ルームメッセージには「Argon2id」と「AES-256-GCM」が使用され、非常に高いセキュリティを確保しています。メッセージの真正性は「Ed25519によるデジタル署名」で保証され、セッションごとに新しい鍵ペアが生成される「フォワードシークレシー」も採用されており、過去の通信が解読されるリスクを低減します。

プライバシー最優先設計

アカウント登録、メールアドレス、電話番号は一切不要で、永続的な識別子も使用されません。メッセージはデフォルトでデバイスのメモリにのみ存在し、データがサーバーに残る心配がありません。さらに、「カバー・トラフィック」としてランダムな遅延やダミーメッセージを送信することで、外部からのトラフィック分析を防ぎ、ユーザーの行動を特定されにくくします。緊急時には、ロゴをトリプルタップするだけで、デバイス内の全データを瞬時に消去できる「緊急ワイプ機能」も搭載されています。

ルームベースチャット

トピックベースのグループメッセージングが可能で、オプションとしてパスワード保護機能も備わっています。ルームの所有者は、「/pass」コマンドでパスワードを設定したり、「/save」コマンドでルーム内のメッセージ保持設定を切り替えたりすることができます。

ストア&フォワード

相手がオフラインの場合でもメッセージが一時的にキャッシュされ、相手がネットワークに再接続した際に自動的に配信されます。これにより、リアルタイムでの接続が難しい状況でもメッセージが確実に届きます。

IRC風コマンドインターフェース

「/j #room」でルームに参加・作成、「/m @user message」でプライベートメッセージを送信、「/w」でオンラインユーザーリストを表示するなど、昔ながらのIRCスタイルコマンドで直感的に操作できます。

災害時やアウトドアで真価を発揮!想定される利用シーン

アウトドア

bitchatの「通信インフラ不要」という特性は、特定の状況下で極めて重要な意味を持ちます。以下のようなシーンでその真価を発揮するでしょう。

災害発生時

地震や台風などで通信インフラが遮断された際でも、bitchatはBluetooth圏内の人々と連絡を取り合う手段を提供します。周辺の安否確認や情報共有に役立ち、孤立を防ぐ可能性を秘めています。

イベントなどでの通信混雑時

大規模なコンサートやスポーツイベントなど、多くの人が集まる場所では、携帯電話のネットワークが混雑し、通信が不安定になることがあります。bitchatは、そうした状況でも安定したコミュニケーションを可能にします。

通信環境が未整備な地域

電波の届かない山奥でのアウトドア活動や、そもそも通信インフラが整備されていない僻地などでも、bitchatがあればオフラインでコミュニケーションが可能です。緊急時や遭難時の連絡手段としても非常に有用です。

 

Bluetoothの限界を超越!メッシュネットワークが実現する通信範囲

Bluetoothの通信距離に限りがあるという懸念はもっともですが、bitchatはこれを「Bluetooth LEメッシュネットワーク」という革新的な方法で克服しています。

従来のBluetoothが1対1、または1対複数で直接接続するのに対し、bitchatは各デバイスをメッセージの中継器として利用します。この「マルチホップメッセージリレー」機能により、直接通信できないデバイス間でも、間にある他のデバイスを経由してメッセージが転送されます。これにより、通信範囲は単一のBluetooth接続よりもはるかに広がり、あたかも糸が複雑に絡み合った「信頼性の高いメッセージングウェブ」が構築され、離れた場所にあるピアにもメッセージが届けられます。システムは30メートルのBluetooth範囲を使用し、ブリッジノードが個別のクラスターを接続します。

将来的な計画として、WiFi経由でのメッセージングも可能にし、大容量メッセージの帯域幅を増やすことが検討されています。

パフォーマンスと効率性:バッテリーとデータ通信の最適化

bitchatは、オフラインでの利用を前提としているため、バッテリー消費とデータ効率にも配慮した設計がなされています。

メッセージ圧縮

「LZ4圧縮」技術を導入しており、100バイトを超えるメッセージは自動的に圧縮されます。これにより、一般的なテキストメッセージで30〜70%の帯域幅削減が実現し、より少ないデータ量で効率的な通信が可能です。

アダプティブパワーモード

バッテリー残量に応じて動作モードを自動的に調整する「アダプティブパワーモード」を搭載しています。

  • パフォーマンスモード: 充電中やバッテリー残量60%以上で、フル機能を提供します。
  • バランスモード: バッテリー残量30〜60%の場合の標準動作モードです。
  • パワーセーバー: バッテリー残量30%未満で、スキャンを減らして消費電力を抑えます。
  • ウルトラローパワー: 緊急モードで、バッテリー残量10%未満の場合に作動します。

アプリがバックグラウンドにある場合も「自動的な省電力」が行われるなど、様々な工夫が凝らされています。

「bitchat」を始めるには?

bitchat mesh

「bitchat」は、通信インフラを必要としない革新的なチャットアプリです。利用を開始するには、主に以下の方法が考えられます。

iOSデバイスでの利用(ベータテスト)

iOSデバイス向けの「bitchat」は、iOS向けアプリのベータテストプラットフォームであるTestFlightを介して配布されています。

> AppStore「TestFlight」アプリ公式 ダウンロードページはこちら(iPhone用)

> bitchat meshインストールページはこちら

開発者によるセットアップ(アプリのビルド)

もしご自身でアプリをビルドしてみたい場合は、GitHubリポジトリに記載されている以下のいずれかの方法でセットアップが可能です。

XcodeGen (推奨)

  1. brew install xcodegen コマンドでXcodeGenをインストールします。
  2. bitchat ディレクトリに移動し、codegen generate コマンドでXcodeプロジェクトを生成します。
  3. 生成されたプロジェクトファイルを open bitchat.xcodeproj コマンドで開きます。

Swift Package Manager

  1. bitchat ディレクトリに移動し、open Package.swift コマンドでプロジェクトをXcodeで開きます。
  2. ターゲットデバイスを選択して実行します。

Manual Xcode Project

  1. Xcodeで新しいiOS/macOSアプリプロジェクトを作成します。
  2. bitchat ディレクトリ内のすべてのSwiftファイルを自身のプロジェクトにコピーします。
  3. Info.plistファイルを更新し、Bluetooth権限を設定します。
  4. デプロイメントターゲットをiOS 16.0 / macOS 13.0に設定します。

基本的な使い方

アプリを起動したら、以下の手順で使い始めることができます。

  1. デバイスでbitchatアプリを起動します。
  2. ニックネームを設定します(自動生成されたニックネームを使用することも可能です)。
  3. 近くにいる他のピア(デバイス)に自動的に接続されます。
  4. /j #general と入力して一般的なルームに参加するか、そのまま公開チャットを開始します。
  5. メッセージは、Bluetoothメッシュネットワークを介して、遠く離れたピアにも中継されて届きます。

> bitchat GitHubページはこちら

「bitchat」が描く未来:通信の常識を変える可能性

「bitchat」は、単なるメッセージングアプリに留まらず、通信インフラに依存しない新たなコミュニケーションの可能性を切り拓く、革新的なツールです。その高いプライバシー保護、堅牢なセキュリティ、そしてメッシュネットワークによる通信の信頼性は、特に非常時やリモート環境において、私たちのコミュニケーション手段に大きな変革をもたらすでしょう。

これは、私たちがコミュニケーションのあり方を見つめ直し、未来の技術がもたらす安心と自由を享受する一歩となるかもしれません。

 

PC・スマートフォンカテゴリの最新記事