Z-Textドキュメント

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

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

PIN保護

Z-Textは、初期設定時に設定する8桁の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はユーザーデータを一切収集しません:

  • いかなる種類の分析やトラッキングもなし
  • 外部にデータを送信するクラッシュレポートなし
  • 私たちへの利用データの送信なし
  • アプリは、あなたが選択したlightdサーバー(既定では私たちのサーバー、または自分のノード)に接続し、公開されているBTCZ価格を参照します。Torがオンの場合は、どちらもTorを経由します
  • パスワードボールトのウェブサイトアイコンは、オンにした場合にのみ取得されます
  • アプリ自体によるIPアドレスのログ記録なし

ソースコード

Z-Textアプリはクローズドソースです。ワイヤープロトコルは、公開レビューのために 仕様として公開される予定です。

脅威モデル

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

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