はぐれ東大院生のブログ

勉強したことや考えたことを書き溜めていきます。

ビットコイン原論文導入部分を丁寧に読み解いてみる

 近年暗号通貨やICOで注目を集めているブロックチェーンですが、信憑性の低い情報が氾濫しており、正確にブロックチェーンとは何かを捉えることが難しいように思います。

 この記事では、具体的にどんなことがブロックチェーンによって出来るようになる(なった)のか、そしてどんなことが出来ないのかを明らかにするための第一歩として、最も信頼できるソースである、サトシナカモトが2008年に発表した ビットコインの原論文の導入部分を注意深く読んで理解していこうと思います。

 尚、読んでいくにあたって以下の日本語訳と解説記事を参考にしました。

ビットコイン原論文(日本語訳)

ビットコインの原論文を読む – ピッチブレンド blog

 

<原文>

   Commerce on the Internet has come to rely almost exclusively on financial institutions serving as trusted third parties to process electronic payments. While the system works well enough for most transactions, it still suffers from the inherent weaknesses of the trust based model. Completely non-reversible transactions are not really possible, since financial institutions cannot avoid mediating disputes. The cost of mediation increases transaction costs, limiting the minimum practical transaction size and cutting off the possibility for small casual transactions, and there is a broader cost in the loss of ability to make non-reversible payments for nonreversible services. With the possibility of reversal, the need for trust spreads. Merchants must be wary of their customers, hassling them for more information than they would otherwise need. A certain percentage of fraud is accepted as unavoidable. These costs and payment uncertainties can be avoided in person by using physical currency, but no mechanism exists to make payments over a communications channel without a trusted party.

   What is needed is an electronic payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party. Transactions that are computationally impractical to reverse would protect sellers from fraud, and routine escrow mechanisms could easily be implemented to protect buyers. In this paper, we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions. The system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes. 

 

<読解&解説>

 以上が、問題提起をしている論文の導入部分です。

 太字の部分を読むと、「インターネット上の商取引では、電子決済処理を行う信頼のおける第三者として、金融機関に頼らざるを得なくなっている」または「現金を使えば(取引にかかる)コストや支払いの不確実性を避けることができるが、信頼のおける第三者なしでの通信回線を通じた(コストや支払いの不確実性を避けることができる)支払いの仕組みは存在しない」という現状を指摘し、「信頼の代わりに暗号技術に基づく証明による電子決済システムが必要であり、これにより当事者同士が信頼された第三者を介さずに直接取引できるようになる」という提言をした上で、「この論文では、二重支払い問題への解決策を提案する」としています。なんとなく分かるようでピンと来ないので、丁寧に読み解いていこうと思います。

 

  電子決済とは、現金ではなく電子データのやり取りで支払いを行うこと*1であり、具体的にはクレジットカード、デビットカード電子マネーなどによる決済を指します。電子決済では、販売者は取引を行った際に支払いに関する電子データのみをやり取りし、その後電子データに基づいて第三者である金融機関から支払いが行われることになります。

 インターネット上の商取引での電子決済として一番想像しやすい、ECサイトでのクレジットカード決済の場合を考えてみます。クレジットカードの仕組みは、以下の図*2のようになっています。

f:id:mckeeeen:20180411224955j:plain

 図から明らかなように、ECサイトの運営者はクレジットカード会社を通じて購入者を信用して商品購入の手続きを済ませ、その後クレジットカード会社から決済手数料分を差し引いて入金される形になっています。大抵の場合、商品購入→商品発送→クレジットカード会社からの入金という時系列で進んでいくことになります。

 ここで、クレジットカードが不正利用されていたことが商品発送後に判明したとします。この場合、クレジットカード会社が仲裁に入り、ECサイトに計上された売上はなかったことになり、支払いは一方的にキャンセルされます(チャージバックという)*3。既に商品は発送してしまっているので、支払いがキャンセルされることでECサイトは損害を被る結果になってしまいます。

 このように、インターネット上の商取引での電子決済は支払いのキャンセルが起こりうるため、販売者にとって不利な仕組みであることが分かります。かといって、銀行振込やコンビニ決済は購入者にとって不便で、代引きは受取拒否のリスクがあるなど、電子決済以外の決済手段にも問題があり、販売者は電子決済を採用せざるを得ません。まさに、「インターネット上の商取引では、電子決済処理を行う信頼のおける第三者として、金融機関に頼らざるを得なくなっている」状態なわけです。

 さらに、電子決済システムを成り立たせるためには、第三者である金融機関が支払いに関するトラブルを仲裁したり、そもそもトラブルが起こらないように管理するためのコストがかかり、これが電子決済の手数料を上げる原因になります。このコストは取引額ではなく取引数に応じて大きくなるため、電子決済できる取引額には最低額が設定され、少額の取引が事実上出来ないという問題を抱えています(注: 少額の決済が不可能ではありませんが、例えばPayPalでは¥2,357以下の取引額の場合5%以上の決済手数料が必要です*4)。また、上述のように支払いがキャンセルされる可能性があることで販売者にとって不利なため、販売者は購入者の信用を測るために取引に必要な情報以上の情報を提供することを求めることもあります。それでも一定の損失は免れないため、その分は販売者のコストになっています(もしくは手数料として購入者のコストになっています)。

 もし、インターネット上の商取引で現金を使って直接決済出来たら、これまで挙げてきた支払いのキャンセルやそれに伴うコストの上昇などの問題は起こりません(注: 返品に伴うキャンセルは別の話です)。しかし、そんなことができるはずもなく、電子決済を採用せざるを得ないという現実があります。残念ながら、「現金を使えば(取引にかかる)コストや支払いの不確実性を避けることができるが、信頼のおける第三者なしでの通信回線を通じた(コストや支払いの不確実性を避けることができる)支払いの仕組みは存在しない」ということです。

 上述した問題を解決するためには、信頼のおける第三者を挟まずに当事者同士で直接支払いを行えるようにする必要があります。現金の場合、お互いの目視や確認作業によって支払いを事実上証明していますが、インターネット上の商取引で同等の証明をするのは困難です。

 もしこれが実現すれば、一方的な支払いのキャンセルは事実上不可能であり、販売者を不当なキャンセルから守ることができます。一方、ECサイトで商品を購入したのにいつまで経っても届かない、というような購入者側の不利益に関しては、従来のエスクロー*5の仕組みを使えば防ぐことができます。健全なインターネット上の商取引には「信頼の代わりに暗号技術による証明に基づく電子決済システムが必要であり、これにより当事者同士が信頼された第三者を介さずに直接取引できるようになる」はずです。

 しかし、電子決済システムには大きな問題があります。それは、電子データは比較的コピーや改ざんが容易なため、二重支払い問題*6*7が起こりうることです。これは、現金でいうところの偽札にあたります。よって、当事者同士が直接取引できる電子決済システムでは、支払い情報だけでなく二重支払いが起きていないことも信頼のおける第三者なしで証明できなくてはなりません

 そこで、「この論文では、二重支払い問題への解決策を提案する」ことになります。具体的には、peer-to-peer(p2p)の分散されたタイムスタンプサーバーを使って、取引の時系列を計算機的に証明することを試みています。また、p2pネットワークに参加している誠実なノードの持つCPUパワーの合計が、結託して二重支払いを試みる不正なノードのCPUパワーの合計を上回る限り、提案する電子決済システムは安全であると主張しています。

 

<まとめ>

 結局のところ、ビットコインとは、電子商取引において、現金のようにその場で支払いを完了できる新しい電子決済システム」のことで、これを「信頼のおける第三者に頼らずPeer-toPeerで実現する暗号技術」がこの論文で提案されることとなります。この暗号技術が革新的だったのであり、後にブロックチェーンという分野に広がっていくことになるわけですね。