セキュリティとプライバシー
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暗号化がメッセージの読み取りを防止 |
| 検閲 | 分散型ブロックチェーンはシャットダウン不可能 |