Z-Textドキュメント

セキュリティとプライバシー

Z-Textはゼロトラストセキュリティモデルでゼロから構築されています。分析なし、 追跡なし、サーバー側のデータ保存なし。

PIN保護

ウォレットとメッセージは、初期設定時に設定する6桁のPINで保護されます。 PINは以下の場合に必要です:

  • アプリを開く
  • トランザクションを送信する(メッセージとBTCZ送金)
  • シードフレーズをエクスポートする
  • セキュリティ設定を変更する

PINはソルト付きハッシュとしてデバイスに保存されます。複数回の入力失敗後は、 ブルートフォース攻撃を防ぐためにクールダウン期間が適用されます。

生体認証

対応デバイスでは、アプリへのアクセス時にPIN入力の代わりとして 指紋認証または顔認証を有効にできます。生体データはデバイスのセキュアエンクレーブで 完全に処理されます -- Z-Textは生の生体データにアクセスしません。

二層暗号化

Z-Textは多層防御を提供するデュアル暗号化アーキテクチャを採用しています:

レイヤー1:ブロックチェーンシールディング(zk-SNARKs)

BitcoinZブロックチェーンのシールドトランザクションはzk-SNARKsを使用して トランザクションメモフィールドを暗号化します。これにより:

  • メッセージ内容がオンチェーンで暗号化
  • 送信者と受信者のz-addressが隠蔽
  • トランザクション金額が隠蔽
  • z-addressのビューイングキー保持者のみがメモを復号可能

レイヤー2:コンタクト鍵暗号化

メッセージをトランザクションメモに格納する前に、Z-Textはハンドシェイクで導出された 共有鍵でメッセージを暗号化します。これにより第二の保護レイヤーが追加されます:

  • z-addressのビューイングキーを入手しても、メッセージは読めない
  • 共有鍵はコンタクトペアごとに固有
  • 鍵はECDHにより導出され、直接送信されることはない

なぜ二層なのか?

レイヤー1はブロックチェーン観察者から保護します。レイヤー2はビューイングキーの 漏洩から保護します。メッセージを読むには両方のレイヤーを突破する必要があり -- これは極めて困難です。

zk-SNARKsの解説

Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge(zk-SNARKs)は、 ある当事者が値を明かすことなく、その値を知っていることを証明できる 暗号学的証明です。

Z-Textの文脈では、zk-SNARKsはトランザクションが有効(正しい残高、認可された送信者) であることを、誰が送信し、誰が受信し、いくら送金されたかを明かすことなく証明します。 これがシールドトランザクションを真にプライベートにするものです。

ゼロテレメトリー

Z-Textはユーザーデータを一切収集しません:

  • いかなる種類の分析やトラッキングもなし
  • 外部にデータを送信するクラッシュレポートなし
  • Z-Textサーバーへの通信接続なし
  • ネットワーク接続はBitcoinZブロックチェーンノードへのもののみ
  • IPアドレスのログ記録なし(アプリは分散型ノードに接続)

オープンソース

Z-Textはオープンソースです。隠されたテレメトリーやデータ収集がないことを 自分でコードを監査して確認できます。

脅威モデル

Z-Textは以下の脅威から保護するよう設計されています:

脅威保護対策
サーバー侵害サーバーなし -- メッセージはブロックチェーン上に存在
ネットワーク監視zk-SNARKシールドトランザクションがすべてのメタデータを隠蔽
デバイス盗難PIN/生体認証保護、暗号化されたローカルストレージ
ビューイングキー漏洩レイヤー2暗号化がメッセージの読み取りを防止
検閲分散型ブロックチェーンはシャットダウン不可能