2014年10月10日

●「なぜ『約10分間』が必要なのか」(EJ第3893号)

 ビットコインは、世界中でウォレットのソフトをインストール
しているコンピュータによって構成されるP2Pネットワーク上
で、中本哲史氏の構築したビットコイン・プロトコルにしたがっ
て、システムが自動的に動作しています。
 本稿執筆時点でのウォレットのユーザー数は、約230万人で
あり、それらのコンピュータによってP2Pネットワークが形成
されているのです。
 マイニング──ビットコインの採掘作業は、それに加えてマイ
ニングソフトを入力したコンピュータによって行われるのですが
採掘の困難性を知ってやめたコンピュータも多数あるので、実際
にマイニングに参加しているコンピュータがどのくらいあるのか
はわかっていないのです。
 マイニングという作業が、新規ブロックの記載内容が正しいか
どうかの検証作業であることは何度も述べていますが、ひとつの
ブロックの承認に「10分」という時間をかけているのはどのよ
うな意味があるのでしょうか。
 昨日のEJで述べたように、そのブロックに含まれる取引記録
は承認を受ける前に、送付と同時に実行されるのです。例えば、
「AからBに10BTCを送金する」という内容は、P2Pネッ
トワークへの送信と同時に、Aの残高から10BTC減って、B
の残高が10BTC増える処理が実行されるのです。
 しかし、承認されるまでは、それを第三者に対して使うことは
できないのです。しかも未承認の状態でも相手が了承すれば、他
への送金は可能です。このあたりはビットコインシステムの問題
点といえると思います。
 それでは「10分間」は何のために必要なのでしょうか。
 普通に考えると、コンピュータがブロック内容の正否を調べる
のに要する時間ということになりますが、それは違うのです。こ
の「10分」間は、このシステムの開発者である中本哲史氏がこ
だわっている時間であり、改ざんを防ぐためにはどうしても10
分間が必要であるという前提に立っているのです。
 しかし、計算への参加者が少なかったり、コンピュータの能力
が向上すると、10分かからずに解けてしまうこともあります。
そういうこともあるので、2週間の解答時間の平均を取り、10
分以内のときはそれに応じて問題の難易度を上げ、逆に10分を
超えるときは、難易度を下げるというように、難易度調整が自動
的にできるシステムになっているのです。
 難易度は、ハッシュ関数で演算の結果、得られるハッシュ値の
先頭に並ぶ「0」の数で調整されています。現時点では、0の数
は16個か17個になっています。0の数が多いほど、解答を見
つける時間は長くなります。
 「ビットコインは一種のネズミ講である」と主張する安岡孝一
京都大学准教授は、この「10分」という時間について、次のよ
うに述べています。なお、文中の「A>1」の意味は、ビットコ
インを得るために計算量を投じる魅力が強い状態であることをあ
らわしています。
―――――――――――――――――――――――――――――
 ビットコインが設計に仕込んでいる10分間という長さは、人
 間の心理において、かなり巧妙な長さだと思える。1分間だと
 ほとんど待たずに次々と結果が出てしまうため、結果に対して
 思いを巡らせる時間がない。60分間だと普通の人間は結果を
 待つことができず、別のことをやりながらになるだろう。10
 分間は勝ち負けに一喜一憂するのに十分な時間であり、A>1
 となるインセンティブが強く働くのである。しかもこれは、勝
 負そのものに対するインセンティブであり、得られる結果に対
 する価値とは無関係に、純粋に勝負そのものに熱中してしまう
 人々が一定数出てくる、という点で注意を要する。
               ──安岡孝一/京都大学准教授
 「ビットコインは計算量理論から見て『無限連鎖講』である」
                  http://nkbp.jp/1saxhbV
―――――――――――――――――――――――――――――
 決済に約10分間かかるということになると、スーパーでの買
い物や、飲食店での支払いなどのように即時決済を必要とされる
取引には一定の制約がかかることになります。しかし、ビットコ
インを預金通貨としてとらえ、国内・国際送金として使うのであ
れば、10分間の待ち時間は問題にならないといえます。
 ブロックの計算に要する10分間を前提としてビットコイン・
プロトコルは設計されています。
 ビットコインの採掘の本質は、通貨の発行そのものです。20
09年1月3日当初は、10分ごとにトップの正解者には50B
TCが発行されています。しかし、21万回(約1458日)発
行した時点で、半分の25BTCに減少しています。そして、次
の21万回が終わると、10分ごとに12.5 BTC、さらに次
の21万回終了後は6.25 BTC、以下、3.12 BTCとい
うようにビットコインの発行量は減少し、その総量が2100万
BTCに達すると、それ以上発行されることはないのです。
 問題は、ビットコインを発行するために必要な計算量がこのま
までは、ますます増加する傾向にあります。これに関して、安岡
孝一准教授は次のように述べています。
―――――――――――――――――――――――――――――
 新規に発行された通貨1BTCを得るために、必要な計算量を
 考えてみよう。たとえパズルの難易度が変わらないとしても、
 約1458日(21万回)発行するごとに発行単位が半減する
 から1BTCを得るために必要な計算量は約1458日、ざっ
 と4年で倍に増加する。それ以降、8年で4倍、12年で8倍
 16年で16倍、20年で32倍、24年で64倍、とスピー
 ドは遅いものの、指数関数的に増加していく。
             ──安岡孝一准教授の前掲論文より
―――――――――――――――――――――――――――――
        ─── [ビットコインについて考える/28]

≪画像および関連情報≫
 ●紙と鉛筆でマイニングに挑戦/動画あり
  ―――――――――――――――――――――――――――
  仮想通貨ビットコインはPCや専門ハードウェアを使って計
  算することで新しいビットコインを生み出せます。このビッ
  トコインを発掘する行為は「マイニング」と呼ばれ、ハイス
  ペックなマシンと膨大な時間が必要となっているのですが、
  そのマイニングに「紙」と「鉛筆」と「頭脳」だけで挑む強
  者が現れました。ビットコイン決済ではすべてのビットコイ
  ンのやりとり(取引)は、「ブロック」という単位で管理され
  ており、このブロックとブロックをつないだ「ブロックチェ
  ーン」と呼ばれる「帳簿」に記載されています。マイニング
  ではブロックとブロックをつなぐために「ハッシュ値」と呼
  ばれる値を計算しており、この計算によって取引の正当性・
  公正が担保されています。そして、ハッシュ値を計算するの
  に必要なエネルギーはマイニングする人(マイナー)から提供
  され、マイナーにはエネルギーを提供した対価として新しく
  「発掘」されるビットコインが与えられるというメカニズム
  で運営されています。マイニングはすでに素人が手出しでき
  る次元を超え、軍拡競争のごとくマシンの性能アップ競争が
  繰り広げられた結果、マイニング専用チップを搭載したハイ
  スペックマシンが必須となっているのですが、ケン・シュリ
  ッフ氏は「紙」と「鉛筆」と「頭脳」を使って人力によるハ
  ッシュ値計算に挑んだ様子をブログで公開しています。
                   http://bit.ly/ZdlFZ1
  ―――――――――――――――――――――――――――

安岡孝一京都大学准教授.jpg
安岡 孝一京都大学准教授
posted by 平野 浩 at 03:00| Comment(2) | TrackBack(0) | ビットコイン | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
私の顔写真を貼るにしても、あまりにも圧縮しすぎです。もう少し綺麗な画像にしてくれませんか?
Posted by 安岡孝一 at 2014年10月10日 13:03
 安岡孝一様

 コメントをいただき恐縮です。このたびはお断りもせず、ビットコインに関する先生の論文とお写真を使わせていただき、失礼をお詫びします。
 論文については、マイニングの10分間の謎をネット上で探しているとき、発見したもので、大変勉強になり、ブログでご紹介させていただいた次第です。
 お写真につきましては、クリックすればクリアな写真が出るようになっており、シーサー側で一方的に圧縮されてしまいます。なにとぞご了承を賜りますようお願いいたします。なお、今後ともご教授を賜りますようお願い申し上げます。

 平野 浩
Posted by 平野 浩 at 2014年10月10日 16:24
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック
RDF Site Summary