前回書いたように、取引所に置いておくと何が起こるか分からないのが仮想通貨。

仮想通貨は、常時システムに対してオンラインになっていない環境で保管することが推奨されています。オンライン状態で保管しておくものを「ホットウォレット」と呼ぶのに対して、オフライン状態をつくって保管しておくものを「コールドウォレット」と呼びます。

 

コールドウォレットとは

コールドウォレットにもいろんな種類があるのだけれども、USBタイプのものは結構あります。有名どころでいうと「Ledger Wallet」「TREZOR」といった会社からハードウエアウォレットとして販売されています。

この製品自体はとても安心なのですが、Amazonで買えば安心かというとそうでも無く、悪意ある販売代理店がパスフレーズを盗み取り(というかあらかじめ設定しており)、ユーザーから仮想通貨の預け入れが行われたタイミングで、中身を華麗に抜き取っていくという次世代型泥棒が流行っているそうです。公式からの販売はそもそも品薄でもあるらしい。

コールドウォレットの取り扱いで注意すべきポイント

あと、そもそも留意しておくべきポイントがあって、これらUSBタイプのハードウェアウォレットが仮想通貨を保管できるといっても、厳密にはUSBのなかにコイン的なデータが入っているわけでは無いということ。ブロックチェーン技術というのは、情報を分散台帳としてオープンな場所で保管していることに意義があります。なので、これらウォレットに保管されているのは、その台帳にアクセスするための「鍵」だけです。さらにいうと、その鍵がなくなってしまうと(要はデータが消失してしまうと)、完全にアクセスすることは不可能になります。大事なことなのでもう一度書いておきます。鍵が無くなると、あなたの資産が記入されているブロックチェーンにアクセスすることは、不可能です。

USBタイプのウォレットも、一応デジタル製品なのでファームウェアを定期的にアップデートする必要がある場合も、あったりするだろうとは思いますが、復元する手段を控えずにアップデートしてしまうと、そのUSBは一切無価値になるわけです。

このあたりは、イケハヤ氏はじめ、仮想通貨OLさんあたりもちゃんと詳しく解説してくれているので、きちんと読んでおくと良いかなと思います。世の中親切なひとも多くて、まだまだ捨てたもんじゃないですね。

・【よくある間違い】ハードウェアウォレットの中に、仮想通貨は保管されていません。

・仮想通貨はハードウォレットで資産管理!Ledger Nano S(レジャー・ナノ)の使い方と注意点

 

iPod classicでコールドウォレットをつくる

ウォレットの仕組みから自作できるか考えてみる

さて、ここからが本題ですが、USBに保存されているのが鍵だけなのであれば、結構簡単に自作できるんじゃないかなって思ったんですよね。

ただ、最近はDropboxやEvernoteでPodcastやブログを編集しているので、USBメモリなんて使う機会も無い。そこで思いついたのが、これを使ってみてはどうだろうと。

第6世代、つまり最後のiPod classicです。最近まで使っていましたが、日々音楽を探しているため、容量的にもう入らなくなってしまったのと、最近はBluetoothのワイヤレスイヤホンを使っているので、あまり出番がなくなって、先日iPhoneXに移行しました。捨てるのもったいないし、万が一強盗に押入られても、よもやiPodにお金を入れているとは思うまい。これを使わない手は無い。

iPodをストレージとして活用するときに使う、「ディスクモード」という方法が実はあるのですが、この方法を採用してみます。コールドウォレットと呼ぶにはお粗末かもしれないですが。仕組みとしては、このiPodのストレージ領域を使ってブロックチェーンにアクセスする管理画面と、アクセスするための秘密鍵をファイル化したものをぶっこんでおけば、ウェブブラウザからファイルを参照して覗けるようにできるだろう。多分な。

初期化後のiPod設定は、変な挙動を起こさないようにしたほうが良さそう

というわけで、まずは初期化。名前を付け直してみましたが、絵文字使えんのかなと思って、冗談でお寿司マークをつけたらそのまま認識できました。

このお寿司をストレージとして読み込むと、Macではデバイス欄にお寿司マークが出てきます。中身は下のような感じ。デフォルトでは、「Calendars」「Contacts」「Notes」「Recordings」とあるので、この上位フォルダに「Wasabi」というフォルダを追加してみました(2段目にある最後のファイル)。このフォルダに管理画面と秘密鍵を入れていくことにします。

ストレージとして使うとはいえ、iPodなので「保管後にiPodとMacを繋げてみたら、勝手にアップデートがかかってファイルがぶっ飛ぶ」という可能性も否めないため、iPodを接続したときにiTunesが立ち上がらないようにしたほうが良いかもしれません。

今回は“MyEtherWallet”を使います

iPod classicをウォレット化するには、wasabiフォルダにウォレットの管理画面をもっておかないといけません。そこで今回はMyEtherWalletというプログラムを使いたいと思います。MyEtherWalletは、ブロックチェーン界隈では有名なプラットフォーム「Ethereum」にアクセスするためのウォレット。Ethereum上の仮想通貨である「ETH」はもちろん、Ethereum上で構築された分散型アプリケーション(Dapps)の各種トークンを管理することができます。日本では仮想通貨というと一括りですが、いろんな団体がいろんな用途に特化したアプリケーションをつくっています。

ということで、iPod classicのMyEtherWallet化を行うわけですが、もともとはウェブサイトでも公開されています。まず最初にいろんな注意事項が出てくるのですが、頑張って読んでください。

このデータを貰いたい。というわけで、右下に様々な関連リンクがありますが、「Github: Latest Release」というリンクからデータをDLします。

ウォレット作成のためのデータをDL→iPodへコピー

Github.comのページにアクセスすると、最新版のデータがあるので、これをDL。Chrome拡張のverもありますが、今回はオフライン版が必要なので、「etherwallet-v3.11.3.3.zip」をDL。

データをDLして解凍すると「etherwallet-v3.11.3.3」というフォルダができるので、これをそのまま、丸ごとお寿司のWasabiフォルダ内へコピー。コピーしたフォルダ内を開くと、いくつかファイルがあります。階層構造はこんな感じ。初期化すると変更日が2000年になるみたいですね。

見る方が見れば一目瞭然ですが、この「etherwallet-v3.11.3.3」の構造、ウェブサイトを構築するときにサーバーに格納するファイルと同じようになっています。なので、ウェブブラウザからこのファイルにアクセスすることが可能というわけです。

iPodからウェブブラウザ経由でウォレット作成

Wasabiフォルダの「index.html」をSafariで開くと、MyEtherWallet.comと同じ画面が現れます。最初の注意も同じように出てきます。アドレス欄をチェックして、お寿司から読み込まれてるかを確認するようにしてください。今回の場合だとMacなので、ファイルパスが「file:///Volumes/(お寿司マーク)/Wasabi/etherwallet-v3.11.3.3/index.html」になってます。

注意書きを全部読んだら、右上のEnglishとなっている言語表示を日本語に変更して、日本語表示にします。最初の画面は「お財布の作成」。

まずはパスワードと秘密鍵をつくって、ウォレットを構築する必要があります。

パスワードと秘密鍵、JSONファイルはiPodへ

パスワードをまずはつくります。当たり前ですが、お金に相当するものをやりとりするので、パスワードは使い回し厳禁。40桁ぐらいの乱数でパスワード生成サイトを使うことを推奨します。作ったパスワードを入力すると、Keystoreファイルを保存するように促されますので、これもDLしてパスワードとともにWasabiフォルダ内に保存。必ず保存するようにしてください。これが無いとお財布を開くことができなくなります。

さらに出てくる秘密鍵もコピーし、テキストファイルにして、Wasabiフォルダに保存。お財布を開くときは、このKeystoreファイルか、秘密鍵を使ってお財布を開きます。今回はKeystoreファイルを使って開いてみます。

「お財布ファイルを選択」を選択すると、MacだとFinderが開かれるので、先ほどお寿司に保存しKeystoreファイルを選択。さらに下の欄に最初に設定したパスワードを入力して、アンロックを押してください。

無事開けました!

この画面にある「自分のアドレス」というのが、自分の口座のようなものに当たります。Ethereum上で発行されたトークンは、全て「0x~」から始まるこのアドレスに送信すれば、全部このウォレットで管理することができます。下にあるQRコードはアドレスをQR化したものなので、対応しているアプリであれば、QRコードを読み込めばアドレスを簡単に入力することが可能です。

 

iPod classic版コールドウォレットを使ってみる

というわけで使ってみました。

Ethereumの“ERC20トークン”なら1つのアドレスでOK

MyEtherWalletはEthereum上のトークンで対応していれば、1つのアドレスに色々送ることができます。代表的なのだとAugarとか。このところ大暴落を記録している仮想通貨業界ですが、絶好のタイミングと思い、満を持してEthereumのETHを購入。お寿司ウォレットに送金してみます。

取引所からお寿司ウォレットのアドレス「0x17E9699B997421856855aBF510934CBBa2Faf94d」へ送金。送金手数料は本来は大抵自分で決めることができ、手数料が高いほどブロックへの記入順が早くなるため処理速度が上がったりするものですが、取引所からの送金である場合は取引所ごとに定められた一定の手数料がかかります。今回使った取引所のbitbankは0.005ETHでした。まずは取引所のアカウントにお寿司ウォレットのアドレスを保存 → 引き出し(Withdraw)ます。この取引所はけっこう厳格なので、出金操作をしてもメールアドレスから承認したりしないといけないので、若干の安心感はありますね。

数秒で到着するわけではないので、取引状況をetherscan.ioというブロックチェーンの確認サイトから確認してみます。「TxReceipt Status」の部分が「Success」になっているので、取引ブロックの生成には成功したようです。

数秒で到着することは無いであろうと踏んでいましたが、ものの数秒でお寿司ウォレットに到着しました。そら手数料上がってるし速いはずよな。

アカウント残高の部分に、取引所から手数料を差っ引かれた「0.1247ETH」が表示されています。ちなみにですが、ETHではなくEthereum上のアプリケーションで使われるトークンをこのアドレスに送信した場合、「アカウント残高」ではなく「トークン残高」のところの「Show All Tokens」をクリックして、送ったトークンの名前をクリックすると残高をローディングしてくれます。

結果:iPodはウォレットに使えるか?

使えることは使えますが、正直なところ仕組みに対してある程度理解のある人でないと、難しいんじゃないかなあと思います。一般ユーザーが自分のUSBでやるか?と言われるとあんまり現実的じゃないかも。実際「Ledger Wallet」「TREZOR」といったウォレットは打ち間違いを防止できるようにUSBにディスプレイや確認ボタンがついてますし、静電気でデータが吹っ飛んだりといったことが起こらないように対策されているのではないかと邪推します。

仮想通貨の普及によって、ブロックチェーンが銀行にとって代わり金融システムが再構築されるという主張も理解していますが、僕の考えはちょっと違っていて、既存の金融機関が行なっている「手間」の部分が、現状ではユーザーに丸投げされている状態。生体認証とかそういうのと組み合わせれば、もっと手軽になって普及するかもね。

ただ分散台帳、ブロックチェーンという技術自体はものすごく革新的だと僕は思っていて、著作権管理とか株式の所有権であったり、記帳の厳密性が求められる領域においては現段階においてもユースケースを散見することができるし、2018年はそういうプライベートチェーンから浸透が進んでいくのではないかな。

2018年はじめの現段階では、儲かった損したとかそういうニュースばかりで辟易しますが、新しいものは闇雲に否定したり賞賛したりするんじゃなく、実地でトライ&エラーを繰り返して求められるレベルまで引き上げていくべきもの。ウェブの技術なんてそもそも「永遠のデータ版」とか言われるわけですから。ブロックチェーンや既存の金融システムのどちらが偉いかとか、そんなことではなくて、世界をどういうふうにしていくとハッピーなのか。その視点が大事かもしれないですね。

 

投げ銭用のアドレスはこちらです

ちなみに、先日仮装通貨の記事を書いたのは、実はこれをやってみたかったからです。やろうと思えば、iPodをUSBで繋いだときにKeystoreファイルを自動で読み込むようにしたり、結構いろいろ遊べそう。iPodのなかにある起動ファイルをいじれば、ディスプレイに表示させたりとかもできるかもしれません。Apple製品は原則リバースエンジニアリングを認めないので、自己責任でお願いします。

久々に長めの記事でしたが、お付き合いありがとうございました。この財布は放置プレイ状態ですが、好事家の方がいらっしゃったらERC20トークンで投げ銭でもお願いします。

 

<お寿司ウォレットのアドレス>

0x17E9699B997421856855aBF510934CBBa2Faf94d

 

また何か思いついたら何かつくってみることにします。