ホーム / 【ビットコイン基礎講座:3】ビットコインは通貨か〜二重利用を演算量証明で解決〜

【ビットコイン基礎講座:3】ビットコインは通貨か〜二重利用を演算量証明で解決〜

前回はビットコインが「おかね」になる条件をどう解決してきたのか?の1と2の条件についてお話しました。今回は、3の二重使用、多重使用問題に対してビットコインがどう解決を図ったのか、そして4の保有者の明確にする方法についてお話したいと思います。

3.デジタルキャッシュの二重使用が防止できること

ビットコインの保有者が同時に複数人の受け取り手と取引することを二重使用といい、中央管理者がいないP2P型のビットコインにとっては最も頭を悩ませる問題です。中央管理者がいる場合は使用したコインをその都度造幣局に戻し、常に造幣局から発行されるコインだけを信じれば二重使用問題は発生しません。

P2P型においては秘密鍵の技術で他人のコインの不正利用は防げますが、二重使用は防げません。ビットコインはこの問題を「演算量証明」というアプローチで解決しています。ビットコインは「過去のあらゆる取引履歴が凝縮されたデジタルデータ」と定義したとき、1単位のビットコインを保有するAさんが、BさんともCさんとも同時に1単位の取引をしたらどうなるでしょうか。

取引履歴が「Aさん→Bさん」チェーンと、「Aさん→Cさん」チェーンの枝分かれしてしまいます。このとき、ビットコインの世界では「どちらか1本の枝だけが正しい」を決定します。枝の選び方は、くじ引きやじゃんけんではありません。

ブロックチェーンの長さが違った場合は、長い方のチェーンが正当とみなされます。過去の履歴を全て凝縮するブロックチェーンにおいては、不正のない善良なチェーンのほうがチェーンを伸ばすからです。重要なのは、「誰が」この判断をするかです。

これを判断するのはP2Pネットワークの参加者達です。参加者たちは、ある一定期間の取引をまとめてブロックに記録します。そして、数学的に書き換えのできない状態に固定させることを行います。

この作業はネットワーク参加者の誰が行っても構わず、最初に答えを発見した1人(厳密には1台のコンピュータ)だけが報酬としてのビットコインがもらえます。この作業をマイニング(採掘)とよび、生成されたブロックは古いブロックに接続されて、ブロックチェーンとなります。そして、この一連の流れを演算量証明といいます。

4.デジタルキャッシュの保有者が誰なのか、管理できること

2のデジタルキャッシュの偽造防止に、取引履歴が凝縮されたブロックチェーンを復元できないようにするハッシュ化が採用されていると言いました。これはブロックチェーン全体の堅牢性に関わる話です。過去の取引全体ではなく、1つ1つの取引に注目することによって、ビットコインが4の保有者問題へどう対応しているかを考えてみましょう。ここで利用されている技術が「公開鍵暗号方式」です。

あまり聞き慣れない言葉ですが、「鍵」という単語が使われているように鍵がキーです。自宅のカギを思い出してみてください。家を出るときは家の鍵を締めて、家に帰ってくるときには家の鍵を開けます。さて、このとき何本の鍵を利用しましたか?1本の鍵を使って、開けたり締めたりしていると思います。それは開ける人と締める人が同じだからです。しかし、ビットコインは決済手段です。つまり1人だけで利用するシーンは存在しません。

つまり、鍵は複数本必要になるのです。鍵を締める人と、開ける人が異なるのが特徴です。では2本の鍵を使って、どのように保有者が誰かなのかを管理するのでしょうか。Aさんがビットコインの保有者だと証明したいとします。Aさんしか知らない鍵で、ある情報を暗号化します。それを、誰もが知っている鍵で復号すると、元の情報に戻ります。つまり、Aさんにしかできないことをやってみせることで、Aさんが処理したことを証明するのです。これを暗号化技術を使った電子署名といい、その情報が改ざんされていないことを証明し、Aさんが正当なビットコインの保有者であると示すのです。

第4回に続きます