巷で流行りのTailsOSUSBスティックをコールド・ウォレットとして利用してみます。 (オフグリッドというのかオフラインというのか、どれが正しいのかな。)
安物USBメモリーだと久しぶりに立ち上げるとハードが認識されないとか、 数回使って壊れるとかもままありますので、 なるべく信頼性のあるメーカーのUSBメモリーを使いましょう。 (今までに突然読込不能など不具合があったのは、KingstoneとBuffalo)
Amazonではそろそろ在庫が切れそうですが、 大きさが魅力のソニーの8GB(写真の黒いやつ)が良いかもです。 速度も思ったより高速でした。
ハードウェア・ウォレット(ウェブ経由で繋ぐのがちょっと心配)を買うならこっちの方が安上がりでよいのかなと、、 試してませんが複数用意してマルチ・シグにしたりもできますし、結構使えそうな感じがします。
TailsOS側もそういった用途も念頭にあるようで、 デフォルト状態でビットコイン管理の定番アプリ、Electrumがインストールされています。
ただし:シードの管理が不要になるわけではないので厳重に管理のほど。。
設定作業
インストール作業は割愛します。 インストール終了、起動後に以下の設定作業を行います。
- ウェルカムスクリーン設定
- 共有領域の作成(256MBくらいで十分)
- 永続化領域の作成
- Electrumにてウォレットの復元
最初にブートした時にファイルが展開されます。 8GBのメモリーだと4GBが割り当てられます。 (32GBのメモリーだと8G近く割り当てられていました。) 残りは空きスペースになります。
ウェルカムスクリーン設定
起動後に表示されるウェルカム・スクリーンの追加設定をします。
- 管理者のパスワード設定
- ネット接続:オフライン
共有領域を作成時に必要になりますので、管理者のパスワードを設定し、ログインします。
共有領域の作成
オフグリッドで使うにしても外部とトランザクション・ファイルのやりとりが必要になるので共有領域を作ります。 (セキュリティー的に心配な方は、ちょっとだけ利便性が低くな理ますが、別のメディアを使ってのもありです。)
Win/Mac Key -> Disk
でDiskアプリケーションを起動します。
トランザクションのファイルのやり取りするためなので、 容量は少なくても構いません。256MBにもあれば十分かな、FATでシェアーボリュームを作ります。 +のマークより容量を指定して作成します。
永続化領域の作成
アプリはデフォルトで付いてきているのですが、 初期状態でのTailsOSではデーターは保持されません。 ファイルを保存するために暗号化されたファイルシステムを作る必要がありあます。
ファイル永続化のための領域を作ります。 残りのディスクの残り全てが割り当てられます。 パスワードも確りしたものにしましょう。
Bitcoin Client(ビットコイン管理アプリ)のところにチェックマークを入れておきます。
他にも
- WelcomeScreen(管理者パスワードとネット設定の保存)
- Dotfiles (各種設定の保存)
にチェックを入れ、Save。 再起動時に有効化されます。
オフライン・ウォレットを運用するためには コールド・ウォレット(オフライン)と作業用のWatching-Onlyウォレットの最低2つが必要です。
ウォレットの復元
コールド・ウォレットなので、基本オフラインで使います。
Electrumを起動し、ウォレットを新規作成・復元します。
コールド・ウォレットはサインをするためのウォレットになります。 ネットに繋がっていないので、残金等の表示はされません。(なんか心配ですが、、)
作業用の端末に、Watching-Onlyのウォレットを作っておきます。 必要なMater Public KeyをElectrumよりコピーしおきます。
Electrum > Menu: Wallet > Information
※ ペーパーウォレットが外部に漏れてしまったとかの緊急時にはオンラインにつないで作業を行うことができます。
Watching-Only Wallet
コールド・ウォレットはネットには接続しないことでセキュリティーを高めています。 利用するには、Watching-Onlyウォレットが必要です。
Electrumを起動し、ウォレットを新規・マスターキーを使う|キーを入力で作成します。
こちらのウォレットにて資金の入出金作業を行います。
運用:
Watching-Onlyウォレットにてウォレットの残高などの確認ができます。 入金作業もこちらで手続きできます。 送金時にのみコールド・ウォレットにてサインを得る必要があります。
手順は以下、
- 端末にての作業
2. Stick.TailsOSを端末に接続、共有領域がマウントされる
- 端末のWatching-OnlyWalletで送金手続き(サインが必要)
- 送金トランザクション・ファイルを共有領域にコピー
- TailsOSにての作業 4. Stick.TailsOSを起動 5. Electrumを使って送金トランザクション・ファイルに署名をする 5. 署名済み送金トランザクション・ファイルを共有領域に書き出し
- 端末にての作業 5. Watching-OnlyWalletより共有領域の署名済み送金トランザクション・ファイルを処理
- 送金完了
という手続きになります。
リスク分散
リスクを考えると(パスワードは覚えておく必要はありますが)分散しておくのが良いと考えてます。 スキルレベルもまちまちなので、皆にあうベスト・ソリューションはないと思ってます。 ただこのUSBタイプのものですと、緊急時にはネットに繋いでしまえばそのまま使えることになるので、 ペーパー・ウォレットを紛失してもリカバリー可能。
まぁ、一案として参考にされてください。 (結構クリプトって面倒なんですねぇ。)