メインコンテンツまでスキップ

リカバリーフレーズ

BitTool Signer のウォレットは標準的な BIP39 ウォレットです。BitTool Signer で作成したフレーズは、同じ 導出パス を使う任意の BIP39 ウォレットで復元でき、他のウォレットのフレーズを インポート することもできます。

ウォレットの作成​

作成は 4 つのステップで行います。

  1. 生成。 ユーザーはウォレットに名前を付け、24 単語(デフォルト)か 12 単語かを選び、必要に応じて BIP39 パスフレーズ を追加します。フレーズは、システムの CSPRNG を使って端末上で生成されます(詳細)。
  2. バックアップ。 フレーズは、後述のバックアップ形式のいずれかで表示されます。
  3. 確認。 すべての単語が伏せて表示され、そのうち 4 か所(18 単語以上の場合は 5 か所)が空欄になります。ユーザーは、シャッフルされた単語を正しい順にタップして空欄を埋めます。間違えるとその試行はクリアされます。
  4. ウォレットパスワードの設定。 このパスワードで、この iPhone 上のフレーズが暗号化されます(詳細)。

ウォレットが一覧に表示される前に公開インデックス(アドレスと xpub)が導出・保存されるため、すぐにペアリングできます。

バックアップ形式​

どの形式も最初は非表示で、1 回タップすると表示されます。スクリーンショットの撮影、画面収録、アプリからの離脱によって再び非表示になります。スクリーンショットを撮った場合は、画像を削除するよう警告も表示されます。

単語​

12 または 24 の単語を番号付きのグリッドで表示します。ほとんどの人が書き留めるべきバックアップです。

QR コード​

単語を半角スペース 1 つで区切ったプレーンテキストの QR コードで、ウォレットを自分の別の端末に移すためのものです。QR コードからフレーズをインポートできるウォレットなら読み取れ、BitTool Signer は正確な綴りのまま読み戻します。BIP39 パスフレーズは決して含みません。アプリがこの QR コードの保存、印刷、共有を提案することはありません。

リカバリーカード(2-of-3)​

単語を 3 枚のカードに分割し、どの 2 枚でもフレーズ全体を復元できるが、1 枚だけでは復元できないようにします。位置は 3 つずつの行に並べられ、各カードは行ごとに 1 単語を省き、省く位置は行ごとに 1 つずつずれていきます。

card index (0, 1, 2) that leaves out word position p (0-based) = (⌊p / 3⌋ + p mod 3) mod 3

12 単語の場合:

位置123456789101112
カード 1—✓✓✓✓—✓—✓—✓✓
カード 2✓—✓—✓✓✓✓—✓—✓
カード 3✓✓—✓—✓—✓✓✓✓—

配置は単語数だけで決まるため、別のタイミングや別の端末で作成したカードでも必ず組み合わせられます。各カードには、省いた位置が記載されています。

カード 1 枚でも、フレーズの 3 分の 2 が明らかになります。推測すべき残りの情報量は、欠けている単語 1 つにつき 11 ビットから、チェックサムのビットを差し引いたものです。

単語数カードあたりの欠落推測すべき残り
12440 ビット:本気の攻撃者なら現実的に破れる
15550 ビット
24880 ビット

12 単語と 15 単語のフレーズでは、各カードをフレーズ全体と同じように厳重に保管するか、24 単語を使うよう、アプリがユーザーに警告します。リカバリーカードにパスフレーズが含まれることはありません。

保存される内容​

Vault は、フレーズを正準な単語(Unicode NFC)として、BIP39 パスフレーズを入力されたとおりに保持します。フレーズとパスフレーズが平文のファイルに書き込まれることも、iPhone の外に出ることもなく、上記の明示的なリカバリーフレーズ QR コードを除き、どの QR コードにも含まれません。