ビットコインやその他の仮想通貨が普及するとともに、それを保存するためのウォレットの需要が出てきました。
でもちょっと考えてみると、実はウォレット自体には仮想通貨(暗号通貨)が入っていないことがわかります。
ウォレットに仮想通貨を保存する、という言葉は正確には間違いということになります。
ではどこにあるのでしょうか?
さて、今回は基本の勉強会になります。
目次
仮想通貨のウォレットは何を保存しているのか?
つい最近の出来事ではコインチェック(coincheck)のNEM流出事件が印象にあると思います。
ニュースとしては5.4億NEM(XEM)が盗まれたとの報道をされていると思いますが、正確には5.4億XEM分の情報が入った秘密鍵(あるいはseed)が利用された、との解釈の方がいいんじゃないかと思います。
僕もまだ仮想通貨の仕組みを全て理解しているわけではないですが、この技術の中心には秘密鍵とその情報を管理するブロックチェーンによって通貨を存続させていることがだんだんとわかってきました。
あれだけ厳重に保管されていますが、「数字と記号」さえわかれば紙にそれを書き留めて「紙ウォレット」として保存することもできます。
逆にその「数字と記号」を誰かが知っている場合はウォレット自体の存在価値がなくなります。
「パスフレース、ニーモニック、復元パス」とは?
秘密鍵とは別にシードという暗号が作られました。日本語では種です。
今あるウォレットのほとんどがこのシードによって管理されています。
本来の秘密鍵は完全ランダムに生成された「数字と記号」です。
シードはそれをぶら下げておくキーチェーンみたいな役割を果たします。
本来バラバラだった秘密鍵の「数字と記号」をシードと紐付けることでわざわざ一つ一つの秘密鍵を覚えておく必要がなくなります。
また、この場合の秘密鍵は完全ランダムではなく、一つのシードを元にして生成しています。
つまり、秘密鍵をぶら下げたキーチェーンを使うためのパスワードが「パスフレース、ニーモニック、復元パス」になります。
そういうわけで、「パスフレース、ニーモニック、復元パス」は秘密鍵と同じく重要なものになります。
階層的決定性ウォレット
今のハードウェアウォレットの主流はHDウォレット(Hierarchy Deterministic Wellat:階層的決定性ウォレット)と呼ばれる部類になります。
先ほど話したシードで管理されているウォレットで、「パスフレース、ニーモニック、復元パス」が必要になります。
このウォレットの特徴は一つのウォレット内で理論上無限の秘密鍵を作ることができるということ。
ウォレットのシードはマスターキーという形でまとめられて、別のウォレットにそっくりそのまま移動できます。
このタイプのウォレット、正確にはBIP32、BIP39、BIP44などの形式があります。
ウォレットの復元をする際にこの形式が合わないと復元できません(今はほとんど問題ないです)。
ビットコインは存在しない
結論から言うと、ビットコインの仕組みはビットコイン自体の取引記録だけで成り立ってると言えます。
なので、見方によってはビットコインには数の概念がないとも言えます。
ウォレットに100BTC入っているということは、ウォレットの秘密鍵に100BTC送金された履歴が刻まれていることと同じです。
この図はだいぶ極端なたとえで表現していますが、原理はだいたいこれで合ってます笑
一方で、ビットコインとお金(法定通貨)の関係についてはまた別の話になります。
強引な話をすると、例えば「100TBCに〇〇円の価値がある」と、取引する人が勝手に取り決めすることで成り立ってます。
簡単な需要と供給で成り立っています。
今問題になっている「ビットコインの通貨としての裏付けがない」ということはそういうことです。
極端な話、誰もいらないってなると、ビットコインの価値はなくなります。
マイニングの必要性
これは単純に、毎回取引の認証作業に膨大な電気量とコストがかかるため、代わりに全世界のマイナーにやってもらって節約しようってことです。
現にマイニングにかかるコストはすでに多大なものになっています。
これを全部プログラム上でやろうとすると、かなり負担がかかります。
その代わりに取引手数料と新たに市場に放出されたビットコイン(生成されたともいう)をもらえます。
なぜビットコインは安全なのか?
極端な話、取引記録で管理しているのだから、それを書き換えてしまえば簡単にビットコインが手に入ります。
ただし、この記録自体は同じものを何人もの人が持っており、共有しています(分散型台帳)。
記録の証明は多数決なので、例えば数人の取引記録を書き換えたとしても、残る大勢の人たちによって記録自体が消されてしまいます。
専門知識がわからない僕からすれば、プログラムごと乗っ取ればいいじゃないって話になるんですが、現在までの数年間一度もそのような事態になることなく、安定して記録し続けています。
ところで、コインチェックのNEM流出の件など、最近ハッキング事件が頻発しているようですが、これらはまた別の話です。
むしろ取引記録が正確にされている時点で、プログラムがちゃんと稼動している証拠になります。
問題は秘密鍵の管理にあります。
すべての仮想通貨(暗号通貨)では秘密鍵の管理に関しては完全に個人の責任として扱ってるので、通常は管理状態に言及することはありません。
じゃあ絶対的に問題ないかというと、もちろんそうではありません。
最近では量子コンピュータが記録をまるまる書き換えることができるんじゃないかって騒ぎになっています。
ビットコインと紙幣の違い
ビットコインは記録でてきています。
対して紙幣は記録と現物でできています。
紙幣では、現物がなくなればその時点で記録との矛盾が生じます。
もちろん今では普通のお金のほとんどは電子記録で管理されていますが、例えば会社が給与を手渡しで渡した場合、金額の証明は実質できません。
不正があった場合、それを調べるには警察が入るなり、全員から事情聴取するなりでなんらかの決定的な証拠を得る必要があります。
一方で仮想通貨の場合は記録がすべてなので、記録の中身を見るだけですべての内容を判断できます。
秘密鍵を盗まれない限り、もらったものがなくなることはありません。
そういう意味では記録だけでの管理は極めてシンプルで扱いやすいです。
ビットコインはなくなりません
記録だけで存在しているビットコインにはなくなるという概念もありません。
それが起きると、総発行枚数と矛盾します。
なくなるのではなく、使えなくなると解釈したほうがいいです。
例えば、誰も知らないアドレス(ウォレット)にビットコインを送ると、実質なくなることと同義です。