2節 トランザクション(取引)

本システムではビットコインは電子署名をつなげたチェーンの形で示されます。

支払人は、前回のコインの取引内容をハッシュ値に変換した値と、受取人の公開鍵をハッシュ値に変換した値を合体させたものに電子署名します。

その電子署名をコインの最後に付けて、受取人に送信します。

受取人はこの電子署名を検証し、そのコインを誰が所有していたかという履歴を参照できます。

しかし、ここで問題となるのは、受取人のビットコインが、過去に多重使用された可能性があることです。

上記を解決するために、提案された解決法は、信頼できる政府機関または造幣局などが全取引を監視し、多重使用がないことを保証するというものでした。

その方法というのは、取引が成立するたびにコイン(仮想通貨)は政府機関または造幣局に返され、新たなコインが発行されるというものです。

政府機関または造幣局が直接発行したコインであれば発行元が信頼できると考えられ、多重使用されていないことの証明となります。

ですが、これはすべての取引を政府機関または造幣局を経由して行うのと全く同じです。

つまり、結局は金融システムが政府機関や造幣局の運営状況(または経営状態)に左右されるという、銀行などと同様の問題を含んでいます。

上記の解決案には問題はありますが、とにかく過去の所有者の誰もがビットコインを多重使用していないことを、受取人が検証できれば良いのです。

そこで、コインが多重使用された場合、一番最初の取引だけを有効とし、それ以降の取引は無効であれば良いとします。

このように決めておけば、すべての取引を調査して自分の取引が2番目以降でないことを確認すれば良いだけになります。

政府機関や造幣局の解決法の場合は、政府機関や造幣局が取引をすべて監視しているのでどの取引が先に行われたかが明確に分かります。

ですが、政府機関や造幣局無しでこれを実現する場合は、取引が使用者全員に公開されて、かつ取引履歴が利用者全員で共有されているようなシステムが必要です。

受取人は取引のたびに、受け取ったビットコインが自分以外の他人に送られていないことについて(*1)、ノードの大多数が認めるか否かを確認することになります。

*1 W. Dai, “b-money,” http://www.weidai.com/bmoney.txt, 1998.