サトシも危惧していた、ビットコインのスケーラビリティ問題
ビットコインを発明し、未だその正体が分かっていないサトシ・ナカモト。そんなサトシが残した約2年間の文章を、小宮自由氏の解説と共に紹介する連載「サトシ・ナカモトが残した言葉〜ビットコインの歴史をたどる旅」の第2回。
Re:ビットコイン ピア・ツー・ピア 電子キャッシュ 論文
それでは2008年11月2日17時56分27秒のサトシのメールを見てみよう。
========================
Re:ビットコイン ピア・ツー・ピア 電子キャッシュ 論文
サトシ・ナカモト 2008年11月02日 日曜日 17時56分27秒 -0800
James A Donaldは書きました:
サトシ・ナカモトは書きました:
私は、第三者への信用を伴わず、完全にピア・ツー・ピア型の新たな電子キャッシュシステムを開発していました。
論文の入手先はこちらです。http://www.bitcoin.org/bitcoin.pdf
私たちはそういうシステムを切望していますが、提案の内容を理解した限りでは、要求されるサイズには拡張できないようです。
移転可能なプルーフ・オブ・ワークのトークンが価値を持つには、金銭的な価値を持つ必要があります。金銭的な価値を持つには、非常に大きなネットワーク内で移転される必要があります。例えば、bittorrentに似たファイル交換ネットワークのようなものです。
二重支払を適宜検知して拒否するには、取引内に過去の大半の取引情報を含む必要がありますが、馬鹿正直に実装すると、全てのピアが過去の取引の大半、ないし、直近の過去に行われた取引の大半を保存することが必要になります。もし数億人が取引すると、多大な帯域になり、全員が全てを知っておくか、その重要な部分を知っておかなければならないということになります。
ネットワークがそこまで大きくなるよりはるかに前に、利用者は二重取引のチェックに簡易支払検証(Simplified Payment Verification、SPV)を利用するようにした方が安全でしょう。SPVで要求されるのはブロックヘッダーのチェーンだけで、これは一日当たり約12,000バイトです。ネットワークノードを稼動するのは新しいコインの産出に挑戦する人だけで構いません。最初は大半の利用者がネットワークノードを稼動しますが、ある点をネットワークの規模が越えると、ネットワークノードの稼動は特殊なハードウェアを備えたサーバーファームを持つ専門家に限定されていくでしょう。サーバーファームはネットワーク上にノードを一つだけ持てばよく、残りはそのノードにLAN接続すれば済みます。
帯域はあなたの思うほど極端に大きすぎるわけではないかもしれません。通常、取引のサイズは400バイトです(楕円曲線暗号法(ECC)はほどよくコンパクトです)。取引は二度ブロードキャストする必要があるので、一取引当たりでも1,000バイトでしょう。ビザ(VISA)は2008会計年度に370億の取引を実行しましたが、これは一日当たり平均一億の取引になります。そこまで取引が多くなると100GBの帯域が必要ですが、これはDVD十二枚分か、HD画質の映画二本分に当たり、現在の値段で約18ドル分の帯域に相当します。
ネットワークがそこまで拡大するにはあと数年かかるでしょう。そのころまでには、インターネットでHD画質の映画を二本送るのもおそらく大変なことではなくなっているでしょう。
サトシ・ナカモト
暗号学メーリングリスト
========================
解説
ビットコインより前のデジタル通貨には、二重支払(double spend)の問題がありました。二重支払を解決する為には、その通貨を管理する組織がデータの整合性を照合する必要があり、これは管理組織のデータ改ざんのリスクが常につきまといます。ビットコインはブロックチェーンという仕組みによって、誰も信頼することなく(trustless)二重支払の問題を解決できました。
ビットコインでは誰でも取引の正当性が検証可能です。完璧な検証を求めると、これまでの取引データ全てが必要です(この全てのデータを持っている端末を「フルノード(full node)」と言います)。2021年12月現在だとフルノードを立てるには 350GB 以上のデータが必要です。スマートフォン等の低容量端末では、これだけの容量を保存することは不可能です。
サトシはこの問題に気づいており、SPVという仕組みを考案しています。SPVを簡単に説明すると、フルノードから必要最小限のデータを取得して正当性の検証を行う仕組みです。スマートフォンのウォレットのほとんどはSPVを利用しています。
サトシはこのようにスケーラビリティ(システムが規模や利用不可等の増大に対応できる度合いのこと)の問題への解決法を当時から既に提案していました。しかし、スケーラビリティ問題は単にフルノードの容量過多の問題にとどまりませんでした。ビットコインには(おそらくサトシの想像を超えるだけの)利用者が殺到しました。
ビットコインのブロックチェーンが処理できるブロック(取引データ等が格納される領域)のデータ容量には制限があり、そのため処理できる取引数にも限度があります。したがって、あまりにも多くの取引(送金)がなされてしまうと、取引が終わるまでにかなり長くの時間がかかる、という問題が出てきたのです。このスケーラビリティ問題は、2021年12月現在に至るまで、長きに渡ってビットコインの大きな課題とされています。
小宮自由
参考リンク
・二重支払(bitflyer.com)
・SPV(bitcoin.dmm.com)
・スケーラビリティ問題(Wikipedia)
記事更新 2021/12/22 13:07
head image/iScotk:Photoplotnikov・voyata