第3回 ビットコインの舞台裏
暗号資産?よくわかんないけど怖い。なんか難しそう。
そんな印象を持っている方もまだまだたくさんいると思います。
この連載では、暗号資産企業に勤める『中の人』がお客様の目線で「暗号資産の投資体験」をすることで、改めて暗号資産の疑問や不安と向き合い、解消していくことを目指します。
今回は、ビットコインの購入や移動をするときに、実際に裏側でどういう動きが起こっているのかをまとめていきます。
1.「アドレス」ができるまで
まずビットコインのお財布の役割を果たす「アドレス」から見ていきます。
銀行では自分の口座をつくるためには本人確認等の手続きが必要で、口座からお金を引き出すためには、キャッシュカードや暗証番号が必要です。
ビットコインの場合は、ウォレットと呼ばれるアドレスを生成してくれるサービスで「アドレス」が取得できます。このアドレスが、銀行で言う「口座」の役割を果たします。
日本円は現物が存在しますが、ビットコインは「データ」のため、ビットコインを購入したり保有したりする際は必ずアドレスが必要です。
アドレスは、秘密鍵と公開鍵と呼ばれる二つの鍵が必ずセットで存在します。
ウォレットでアドレスを作成すると、自動的に以下の処理が行われます。
- ①秘密鍵を生成する
- ②生成された秘密鍵から公開鍵を生成する
- ③公開鍵に暗号化処理を行い、ビットコインアドレスを生成する
生成された秘密鍵とアドレスは、それぞれ異なる役割を持ちます。
- 「実印」や「キャッシュカードの暗証番号」。絶対に人に渡してはいけないもの。
- 人に知られると中身を盗まれてしまう。
- 「振込用の口座番号」。みんなに教えてもいいもの。
- 受け取りの役割を持ち、公開できる。
上記の手順の通り、まず秘密鍵が生成され、それをもとに公開鍵が生まれます。もとになっているのが秘密鍵なら、公開鍵から秘密鍵を割り出せちゃうのでは?と思うかもしれませんが、「卵から目玉焼きは作れるけれど、目玉焼きから生卵には戻せない」のと同じように、秘密鍵からアドレスは作れても、アドレスから秘密鍵を割り出すことはできない数学的な魔法がかかっています。この魔法によって、それぞれの鍵が役割を果たせるのです。
秘密鍵と公開鍵についてもっと詳しく知りたい!という方はこちらをご参照ください。
https://note.com/luck294/n/n4d223a59fce1
ウォレットサービスを利用する際に必要な秘密鍵の管理は不要ですが、ご自身の資産を守るためにもIDとパスワードの管理と二段階認証の設定をお願いしています。
2.ビットコインを購入する
ビットコインを保管するお財布ができたら、次は「購入」です。
購入の方式は2種類あります。
・取引所
「取引所」は、フリマアプリや株式市場のような「マッチングの場」です。
仕組み: 「安く買いたい人」と「高く売りたい人」を業者が仲介
ブロックチェーンの動き: なし。業者内のデータベースで「AさんのビットコインをBさんに移しました」と記録するだけ。
・販売所
販売所での購入は、いわば「外貨両替所」や「金券ショップ」で買うようなイメージです。
仕組み: 業者が在庫として持っているビットコインが、業者が決めた価格で売られる
ブロックチェーンの動き: なし。業者の管理画面上で、購入したユーザーの残高の数字が増え、日本円の残高が減るだけ。
※CoinTradeでは販売所の方式で売買のサービスを提供しています。
つまり、「購入するときに「ブロックチェーン上の動きはない」んです。」
なぜ動かないの?と不安になるかもしれませんが、これは取引所が大きな一つのサイフ(アドレス)の中で、誰がいくら持っているかをノートにメモして管理してくれているからです。いちいちブロックチェーンに記録すると時間と手数料がかかるため、私たちが手軽に売買できるように工夫されているんですね。
じゃあブロックチェーンはいつ動くのかというと、取引所や販売所で購入した暗号資産を「自分のウォレットに移すとき」や、Aさん→Bさんに暗号資産を渡すときに動くんです。
3.宝探しな「マイニング」
銀行で通帳に記帳をするときに、その内容の正しさを担保するのは「銀行」というサービス提供者で、管理者が存在する中央集権的な考え方です。
では管理者が存在しない暗号資産はどうやって正しさを担保するのでしょうか。それを仕組みで解消したのが暗号資産で、「Proof of Work」別名「マイニング」と呼ばれる仕組みです。
「Proof of Work」を直訳すると「仕事の証明」になりますが、ビットコインにおいては「その取引が正しいことを証明する」仕組みのことをさします。
例えばAさんがBさんに1BTCを送金するとします。
①BさんがAさんに自分のアドレスを教える
②Aさんが教えてもらったアドレスに1BTCを送金する
③1BTCがBさんのアドレスに着金し、Aさんの残高が1BTC減る
この時、BTCのブロックチェーンはこんな動きをしています。
- ①AさんからBさんに1BTCを送金するというデータ(トランザクション)が生成される
- ②ウォレットアプリケーションがビットコインのネットワークに①で生成したデータを送信する
- ③②で送信したデータが「トランザクションプール」と呼ばれる一時的な待機場所に保存される
- ④トランザクションプールのデータを複数取り出して、タイムスタンプ(その取引の時刻)とひとつ前のブロックの情報と一緒に新しいブロックに詰める
- ⑤ブロックに蓋をするために「ノンス」と呼ばれる「正解の数字」を探す
- ⑥正解の数字が見つかると、ひとつ前のブロックに新しいブロックが連結される
- ⑦⑥で見つけた正解の数字が本当に正しいかを、⑥で見つけた人以外で確認し、問題なく正しければ承認される
- ⑧正解を見つけた人に報酬が支払われる
この「ノンス」と呼ばれる正解の数字を見つける作業が、鉱山で金を発掘する様子に似ているため別名「マイニング」と呼ばれています。
ノンスを見つける作業はコンピューターを使ってもとっても大変な作業で、見つけるためには膨大なコスト(電気と時間)を要します。そのため、すでにできあがったブロックに記録されている取引データを改ざんしようとしても、それ以降のすべてのブロックのノンスを計算しなおす必要があり、「正直に作業して報酬をもらう方がお得」という力学が働いています。
「みんなが報酬(ビットコイン)欲しさに一生懸命、正しくチェック作業を競い合う」という仕組みによって、悪いことをする隙がなくなります。
これが、暗号資産が「誰にも管理されていないのに信頼できる」最大の理由です。