« February 2015 | Main | May 2015 »

April 02, 2015

御免なさい

E304昨日の「仮想通貨(Bitcoin)は、銀河を駆けるか?」は、もちろんエープリルフールのネタである。御免なさい。
でも、エープリルフールのネタとは言え、嘘ははいっていないだが。

ところで、「惑星間通貨 InterPlanetary Coin : IPC」や「恒星間通貨 InterStellar Coin : ISC」を考えていたら、同じような仕組みが地球上でも役に立たないかって思い始めた。それが、「分散通貨 Distributed Coin : DBC」だ。(最初 Regional Coinと考えていたけど、「地域通貨」の意味になるので、ごく限定された地域でしか通用しない通貨のようなイメージなので、やめた)

例えば、山登りを考えよう。携帯電話などの電波の届かないくらいの山奥だ。
そこで、二人の登山者が出会った。一人は水も食料も無くし、もう一人は水と食料を持っている。水と食料の無い登山者は金銭的に裕福で、水と食料を千円で買うことにした。(こう言う場合、人道的には無料で水と食料を分け与えるべきだ・・と言うツッコミはなし。道徳の話をしているのではなく、経済活動の事例なのだ)

従来型通貨、つまり紙幣なら、千円札を渡せば、それで商談成立。めでたしめでたしである。

ところが、Bitcoinが従来型通貨に取って代わってしまうと、この商談は成立しなくなる。前回も話したように Bitcoin は 10分間の間に通信ができるところに居ないと成立しないシステムなので、携帯電話などの電波の届かない山奥では使えないことになる。

前回も書いたが、公式ソフトである Bitcoin Core は、ノートパソコンにもインストできる。たぶん最小限の構成は、Windows 8.1 の 8インチのタブレットPCだろう。実際、私のタブレットPCにもインストしてある。今や 35GB にも膨れ上がったブロックチェーンも含めて、たった 350グラムのタブレットPCで立派に動いている。

ブロックチェーンが 35GB もあるので、iPhoneやAndroidなどのスマホでは無理だが、最低限が私の8インチ タブレットPCで、それ以上のストレージに余裕のあるノートPCなら、Windowsマシンだろうが、MACだろうが、Linuxだろうが、Bitcoin Core を走らせることは可能だ。(スマホでも使える Bitcoin Wallet があるだろう・・と言われそうだが、それらは、SPVクライアントと言い、ブロックチェーンの全てをダウンロードするのではなく、ダイジェストだけをダウンロードしている。全てのブロックチェーンを持っていないため、マイニングなど本来 Bitooin ノードが持つべき機能を全て持ってはいない)

仮に、登山者2人が、2人ともノートパソコンもしくはタブレットPCを持っていて、その2台のPCに Bitcoin Core がインストしてあり、ブロックチェーンもダウンロード済みで、その2台のPCが無線LANであろうが、有線LANであろうが、ネット接続できれば、最低限の環境が整う(無線LANで、2台のPCを接続するのは、意外と簡単で、ちょっと込み入った操作が必要だが、少なくとも Windows 8.1 なら無料でできる)

マイニングの難しさを、2台のコンピュータで平均10分で行えるように調整したら、二人の間での取引はでき、マイニングして、決済することができる。これは、前回、IPCやISCのところで説明した通りだ。

ところが、山を下り、インターネットに接続した途端、2人の間の取引(トランザクション)は消えてしまう。ブロックチェーンは、最も長い物が正当と見なされ、短いブロックチェーンは捨てられてしまうからだ。こでも前回説明した通りだ。

Bitcoin は、ノートPCが2台あれば構成できるシステムなんだが、その2台だけのローカルな環境で決済した取引(トランザクション)は、グローバルな環境に接続した途端、消えてしまうと言う仕組みであることを理解してもらえただろうか?

CVSに対して、Gitが行うように、一旦分離したブランチを再びマージする方法は無い物だろうか?
少なくとも、現状の Bitcoin では、1つの長いブロックチェーンだけしか正当なものと見なさない仕組みなので、ブランチは許されない。

どうやれば、複数のブロックチェーンを分散して、なおかつ正当性を確保することができるのか?
これは一朝一夕で解決するほど簡単な問題ではない。2人の登山者のような短いブロックチェーンの正当性を、如何に担保するかが最大の問題になる。

もし、短いブロックチェーンの正当性を担保できる方法があれば、スマホにも正式なノードを入れることができる。現状のSPVクライアントのようにマイニングができない Wallet ではなく、フルシステムのノードがスマホで動くようになる。

そもそも、何故あんな巨大なブロックチェーンが必要なんだ?
自分の財布に千円札が入っていた場合、その千円札の前の所有者が誰だったのか、さらにその前の所有者が誰だったのか、気にする人が居るだろうか?
巨大なブロックチェーンは、その全てが記録されている。それどころか、自分が持っていも居ない、見たこともない人が、Bitcoin が始まって以来の6年間、誰が何時どう使ったの全ての記録が入っている。

自分に必要な ブロックチェーン だけを切り出せば、コンパクトになるに違いない。スマホで十分に扱える程度の大きさになるだろう。

先ほどの例なら、登山者の2人はノートPCではなく、それぞれ、スマホを持っていれば十分になる。
二人の間での取引は、2台のスマホでマイニングできるだろう。そうすれば、取引完了だ。

もちろん、山を下りた後、二人の間の取引が、それを記録したブロックチェーンが正当であることを担保し、グローバルなブロックチェーンに取り込まれなければならない。それは、「Proof of Work 」や「マイニング=ナンス付きハッシュ」と言ったBitcoinの根幹自体をひっくり返すことになるかもしれない。

このためには、「小集団の取引(トランザクション)を記録した短いブロックチェーンの正当性を如何に担保する」か、それが最大にして、唯一の課題だ。


それを解決することが、「分散通貨 Distributed Coin : DBC」の目標である。

(余談:山奥であろうが、太平洋の真ん中であろうが、人工衛星を使って通信できるようにすれば、現状の Bitcoin の仕組みでも、そのまま使えると言う意見もあるだろう。しかし、そのためには多数の衛星を打ち上げる必要があり、巨額の設備投資が必要になる。そのために必要な衛星は、衛星高度にもよるけど数千基必要であり、衛星とロケットのコストから考えて数千億から数兆円の初期投資が必要になる・・・って、これってGoogleがSpaceXに融資した内容だよね。って言うか、そのものズバリだと私は睨んでいる)

| | Comments (0) | TrackBack (0)

April 01, 2015

仮想通貨(Bitcoin)は、銀河を駆けるか?

E303これから始めたいなあと思っている事を書く。
仮想通貨だ。つまり、Bitcoinのようなものだ。
『Bitcoinのようなもの』と持って回った言い方をしたのは、Bitcoinのようであっても、Bitcoinそのものではないからだ。

賛否両論あるだろうが、Bitcoinをはじめとする仮想通貨は大きな可能性を秘めている。もちろん、生まれて6年しかたたないBitcoinは、まだまだ未熟なところがあり、プログラム的にも運用上も課題が残っている。現状のBitcoinそのものが未来永劫普及し標準となることは、むしろ最もあり得ない将来像で、多々ある問題点を克服したBitcoinの改良バージョンか、Bitcoinにとって代わる新たな仮想通貨が標準になるか、そのどちらかになりそうな気がする。いずれにしろ、Bitcoinの改良型もしくは、その子孫の仮想通貨が、従来型通貨に代わることは間違いないだろう。

さて、ここからが本題なのだが、Bitcoinの仕組みを調べていくうちに、私が思い描いている将来のシチュエーションでは使えないことが分かった。それは『宇宙での生活』である。

ご存知かも知れないが、Bitcoinの仕組みは、取引(トランザクション)を採掘(マイニング)と言う作業を経て、記録(ブロックチェーン)に追加することで成立する。この時、従来型通貨のように集中的に管理する中央銀行が存在せず、Bitcoinに参加する人々が皆公平に分散的にマイニング作業を共同して行っていることが仮想通貨の大きな特徴である(「共同」と言うより「競争」に近いが)

「採掘(マイニング)」と言うネーミングを使っているので、何やら地面に穴を掘って金の鉱脈を探しているような怪しげな雰囲気がするが、実際はそうではない。約10分間に世界中で行われた取引(トランザクション)を集めて、それに「ナンス付きのハッシュ」を計算しているだけだ。通常の「ハッシュ」は作成するのも簡単だし、それが改竄されていないか検証するのも簡単。それに対し、「ナンス付きのハッシュ」は、作成するのは大変だが、検証するのは簡単になっている。作成するのが大変な「ナンス付きのハッシュ」を使っているのは偽造を防ぐためだ。
世界中のマイニングをしているコンピューターが平均して、10分間で作成できるようにナンスの大きさを変えて、「ナンス付きのハッシュ」の作成難易度を調整している。そして、最も早くマイニングに成功したノードが、報酬として25ビットコイン(1ビットコイン=3万円とすると報酬は75万円となる)が支払われる。この報酬のために、世界中で競い合ってマイニングが行われているのだ。

公式ソフトである Bitcoin Core は、ノートパソコンにもインストできる程度のものであるが、同じソフトが世界中で動いて、それらがネット上で協力しあって、Bitcoin ができている。Bitcoin Core トランザクションの記録であるブロックチェーンの管理を行ったり、送金や受け取り、秘密鍵や公開鍵であるアドレスなどの管理を行う。もちろん、Bitcoin Core でマイニングもできる。まあ、ノートパソコン程度では、計算能力が小さすぎて、報酬を得ることは事実上不可能だろう。だが、可能性はゼロではない。宝くじよりも低い確率だが、ノートパソコンでのマイニングで報酬を得る可能性も全くないわけではない。
良くテレビなどで超大型のコンピューターでマイニングしているところが報道されるが、これは単に Bitcoin Core を入れたパソコンを並べていたり、計算速度の必要な割には単純な処理のハッシュ計算のところだけ特殊なプロセッサを並べて並行計算するシステムに過ぎない。もっとも Bitcoin Core は、ソースコードがオープンなので、マイニングに向いたように改良したプログラムを使っている場合の方が多いだろうが。

取引(トランザクション)は、マイニングされて「ナンス付きのハッシュ」が付き、ブロックチェーンに追加された時点で正式なものになる。つまり、マイニングされるまでは、「仮」の状態であり、マイニングが終わった時点で「正式決済」になるのだ。

ここまでの説明で判ったと思うが、Bitcoin は、 Bitcoin Core もしくは、その改良型のプログラムを走らせた多数のノードが 10分間隔でマイニングを繰り返すことで成立している。つまり、全てのノードは、「10分間」と言う時間より十分短い時間で通信できることを前提にしているのだ。インターネットの通信は、ほとんど光の速度で進む。1秒間に30万キロ進む光の速度から見れば、赤道一周で4万キロの地球など、ものの数ではない。地球の裏側だって、わずか15分の1秒だ。途中で、ルーター間での誤伝送・再送があって遅れても、遅れが数分以内に済めば構わない。要は、10分間よりも短い時間で通信できれば良いのだ。

Bitcoinは、地球の上なら、インターネットに接続できさえすれば、問題ない。
しかし、宇宙ならどうか?

月なら問題はない。光の速度で、1秒は超えるが、往復しても3秒以内だ。10分間には、まだまだ余裕がある。

しかし、他の惑星は?
火星は、地球と近い時には片道4分半、遠い時には21分かかる。
木星なら35分~51分程度。土星なら1時間11分~1時間27分くらいになる。小惑星帯は、火星と木星の間だ。

つまり、最接近した時の火星だけは、何とか往復で8分で10分間よりも短いが、それ以外の時期の火星と、小惑星を含めた ほとんどの惑星は Bitcoin が使えなくなってしまうのだ。そこで、宇宙でも使えるように Bitcoin を改良しようと考えた。

【惑星間通貨 InterPlanetary Coin : IPC】
太陽系内で仮想通貨を使えるように改良する、それが、惑星間通貨 = InterPlanetary Coin(インタープナレタリー・コイン) : IPCだ。

例えば、土星の衛星タイタンとハイペリオンに宇宙基地やコロニーを作ったとしよう。タイタンとハイペリオンが最も離れても光の速度で9秒だ。
従って、タイタンとハイペリオンに、それぞれ幾つか Bitcoin のノードを置いても、その間なら、ちゃんと同期が取れ、Bitcoin が使える。
しかし、それはあくまで土星の衛星同士の間だけでの話だ。この場合、土星衛星系の Bitcoin と 地球の Bitcoin が互いに同期を取ることは無い。現状の Bitcoin の仕組みでは、遠く離れた二つのブロックチェーンを同期することはできない。現状のままでは、地球の方が遥かにノードが多いため、地球のブロックチェーンだけが残り、土星の衛星系の Bitcoin のブロックチェーンは消えてしまうでしょう。

しかし、上手く改良すれば、複数に分散したブロックチェーンを、正しく同期が取れるようになるかもしれない。ここで、「二つに分散したブロックチェーン」と言わず「複数に分散したブロックチェーン」と言ったのは、土星の衛星系だけではなく、木星の衛星ガニメデとエウロパにも宇宙基地やコロニーができるかもしれないからだ。
それどころか、小惑星帯に宇宙基地ができるかもしれない。土星や木星の衛星系と異なり、小惑星は常に同じところに固まっているわけではない。現在、60万以上見つかっている小惑星は、ある時は、数秒で通信できる距離に近づいたかと思えば、ある時は通信に数時間かかる距離まで離れる。

太陽系内に無数にあるノード、それが近づいたり離れたり、その間で分散するブロックチェーンが同期が取れる。それが IPC だ。

Bitcoin のブロックチェーン分散同期させる方法は、まだ思いついていない。しかし、CVSがGitに進化したように、一つの集合が、幾つものブランチに分かれ、再び集め(マージす)れば良い。
Gitの場合でも、分かれたブランチをマージする時にコンフリクト(競合)が問題だ。Gitでは、手動でコンフリクト部分を修正していた。IPC の場合、手動でコンフリクトするわけにはいかないだろう。いかにして、分散したブロックチェーンのコンフリクトを回避するか、それが最大の問題だが、それを克服する。それが IPC を作るプロジェクトの大きな目標である。

【恒星間通貨 InterStellar Coin : ISC】
太陽系内の場合、最も遠い海王星でも地球から最大4時間20分で通信できる。
それに対して、恒星は桁違いに遠い。最も近い近いアルファ・ケンタウリでも4.39光年離れている。

正直に言って、IPC は最悪の場合、Bitcoin のノードを木星や土星の衛星系に置くことをあきらめ、信頼できる人が管理する地球に置いたノードを、タイタンやハイペリオンから、SSHなど暗号化された通信方式でリモートで操作することもできる。この場合、正式な決済が届くまで、土星まで往復の通信時間である3時間待たされることになるが、それさえ我慢すれば、何とかなる。

しかし、恒星間では、そうはいかない。
最も近い恒星でさえ通信に往復9年くらいかかるのでは、正式な決済が終わるまで10年近く待たされては、商取引が干上がってしまう。
何が何でも、アルファ・ケンタウリなどの恒星系にBitcoin のノードを置く必要がある。しかし、Bitcoin の仕組みでは、地球とアルファ・ケンタウリなどの恒星系のブロックチェーンが同期を取ることは無い。
太陽系内より、遥かに通信遅れのある恒星間で、如何に分散したブロックチェーンの同期を取るか。それが ISC の課題であり、目標だ。


未だ、宇宙に出ても、最遠でも月しか行くことができていない人類が、IPC も ISC も必要ないだろう・・・と言われそうだが、そんなことは無い。
我々ロケット団は宇宙進出を目指している。いつ何時、太陽系内いや恒星間に人類が広がっても良いように、今から、IPC と ISC の開発を始めるのだ。

【異知性間通貨 Inter Intelligence Coin : IIC】
IPC や ISC よりも凄いのが、IICだ。「Intelligence」は「SETI : Search for Extra-Terrestrial Intelligence」の「Intelligence」と同じで、異星の知的生命の事だ。いや、「生命」とは限らない。知的な「機械」かも知れない。

Bitcoin など仮想通貨は、暗号理論を使っている。この場合、暗号とは、素数とかべき乗計算など、要は数学の仕組みで作られている。

数学が人類の知性を超えた 宇宙普遍のものであるなら、その数学自体を通貨とした貨幣が作れるだろう。
現状の Bitcoin には、地球の商取引習慣など、数学以外の要素が含まれている。そこで、Bitcoin から数学以外の要素を取り除き、普遍的な数学だけで再構成し、地球外のどんな知的生命体(知的機械も含む)の間で取引に使えるようにする。それが、IIC だ。

ところで、さらっと「数学が人類の知性を超えた 宇宙普遍のもの」と書いたが、本当に「数学は宇宙普遍のもの」であろうか?

このことについては、2014年に出版された「ノイマン・ゲーデル・チューリング」(ISBN978-4-480-01603-4)と言う書籍に、20世紀を代表する3人の天才の考えが書いてある。

簡単に言うと、3人の天才は次のように言っている。
ジョン・フォン・ノイマン:「数学は人間精神の産物であり、人間精神を離れた数学は存在しない」として「数学的厳密性を不動の前提として受け取ることに警告」している。直接的には書いてはいないが、「地球人類以外の知性だと、別の数学が生まれる可能性がある」と言っていると思われる。
クルト・ゲーデル:「数学は人間精神と独立して存在する。しかし、人間の知性・精神は、数学を超越した存在である」。この場合、地球人類以外の知性が数学を作っても、数学は絶対的なので、地球人と同じ数学になる。
アラン・チューリング:「数学は人類に依存しない。それどころか、逆に人間の知性・精神すら数学の範疇で示される」。この場合、やはり地球人類以外の知性が数学を作っても、地球人と同じ数学になる。

つまり、20世紀最高の天才と言われる3人ですら、意見が分かれるのだ。この3人ですら、判らないようなことが、凡人たる私に判るわけがない。とは言え、ここで迷っていると先にすすまないので、とりあえず「数学が宇宙普遍のもの」と言うゲーデルとチューリングが、ノイマンに対して、2対1で勝って正しいと言う前提で話を進めよう。まあ、こう言うものは多数決で、正しいか間違っているか判断するものでは無いことは重々承知してはいるのだが。

恒星間はおろか、太陽系内ですら、自由に航行できない現在の人類からは、異星の知的生命体に会うことなど、夢のまた夢かもしれない。しかし、やはり、IIC を今から準備しておけば、いつ異星人と会うことがあって、共通の貨幣として使うことができるのだ。

いや、人類が恒星間飛行や惑星間飛行ができなくても、異星の知的生命体が向こうから地球にやってくるかもしれない。
その時にこそ、IIC が役に立つのだ。

とは言え、もし万一、クルト・ゲーデルとアラン・チューリングが間違っていて、ジョン・フォン・ノイマンだけが正しかったら、数学は宇宙普遍のものではなく、IIC の異星人との間で使えなくなってしまうのだけどね。

| | Comments (0) | TrackBack (0)

« February 2015 | Main | May 2015 »