ゆるゆる べんきょう

暇だから哲学・数学・物理学をゆるく勉強しているよ

2017-06: 暗号通貨を学んで

---- 暗号通貨を学んでいたとのことですが
はい。主にビットコインについて学びましたが、他の暗号通貨にも手を出していました。具体的にはライトコイン・イーサリアム・リップル等ですね。これらのアルトコインと呼ばれる仮想通貨にも触れることで、ビットコインそのものの特徴にも触れることができました。

---- そもそもビットコインは通貨なのでしょうか?
それは、「そもそも通貨とは何か?」という話とも関わってくるので、現時点の私には荷が重い質問です。ただし、以下の特徴を持っていることから、広い意味で通貨の1種とみなしてもよいと考えています。第一に、交換機能です。モノやサービスとビットコインを交換することができるようになっています。もちろん外為のように既存通貨との交換もすることができます。第二に、ビットコインの価値が信用に基づくという点です。日本円を利用する人が日銀や日本政府を信用することで、紙切れに価値を見出すのと同様に、ビットコインを扱う人たちはビットコインに価値があるものだと信用しているからです。

---- 信用があるからこそ交換機能も実現できるからですね。どのように信用を持つのでしょうか?
色々はしょっていうと、計算量の多さとそれを裏付ける消費電力といったところでしょうか。「こんな難しい計算ができたってことは、大量のコンピュータを使って大量の電気を使ったってこと。だから信用しよう」ということをビットコイン関係者が全員おもっているからですね。これは普通の通貨と劇的に違う点です。普通の通貨は通貨発行権を持つ国家の信用力、すなわち軍事力をはじめとする政治力や外貨準備高などが信用の源泉になります。

---- 複雑な計算と仮想通貨/ビットコインの関連がいまいちわからないのですが・・・
ここで登場するのがブロックチェーン技術です。ビットコインでは、常に誰かから誰かにビットコインが移転されます。これをトランザクションといいますが、トランザクションを台帳に記入する際には、台帳の末尾にこれを書き足すためのスペースが必要になります。ここで、台帳の末尾に追記できるのは特殊な条件を満たすという制約を持たせます。この条件に複雑な計算量を持たせるわけです。これによって、トランザクションを台帳に追加するたびに莫大な計算がされます。世界中のコンピュータが競争をして、台帳の末尾に追記できる解を探すというわけです

---- なぜ世界中のコンピュータはそんなことをするのでしょうか?
トランザクションの手数料と、新たに追記できた際の通貨発行権のためです。約10分に1回トランザクションのまとまりとしてのブロックが生成されますが、生成された際のボーナスは100万円を優に超える額に相当します。手数料は既存のビットコインで支払われますが、生成ボーナスのビットコインは無から生まれます。つまりビットコインの総量は時間とともに増加していきます。ただこの生成ボーナスは、後ろのブロックになると減少していくようにプログラムされているので、通貨の総量には上限があります。

---- 緩やかにインフレするイメージでしょうか?
まあそうなのですが、実際は逆で、一般的にはビットコインはデフレ通貨と呼ばれます。つまり時間が経ってビットコインが普及すればするほどビットコインをほしがる主体が増えるわけですが、ビットコイン総量が概ね決まっているために、皆がビットコインを使うよりも貯めておいて将来に使うほうがよいという戦略が成立します。つまりビットコインの経済圏の成長率のほうが、生成ボーナスによる通貨総量増大に比べて急だということですね

--- 実際にビットコインは値上がりを続けていますね。このまま値上がりを続けるのでしょうか?
投機的な面を除いて考えると、供給サイドから見ると、生成ボーナスと電気代がバランスするところでバランスされるでしょう。実際投機的な動きでビットコインの価格が上がると、マイニングリグとしてのグラフィックボードが売れるという動きもあります。需要サイドは、控えめに言ってもうなぎ上りです。需要サイドではビットコインの上昇圧力があるといってよいと思います。

---- ということは、このままビットコインの経済圏が大きくなるのでしょうか?
基本的にはYesですが、問題がいくつも顕在化しています。需要が増えると、当然トランザクションは増加します。するとブロック生成が追い付かなくなり、トランザクションの完了に時間がかかってしまうことが予想されますが、現時点ですでにトランザクションが滞留する現象がみられています。これはビットコインだけでなく、イーサリアムでも起こっています。トランザクションスループットは計算量に依存するため、スループットを上げるのは原理上難しいのです。現時点でビットコインスループットは1000tpsのオーダーであるといわれています。
他の問題もあります。ビットコインの仕組みはソフトウェアなのでバグがありそうであるだとか、計算のキモとなるアルゴリズム量子コンピュータにより解析されてしまいそうだとか。

---- 現時点でも問題があるのはつらいところですね。何か対策のようなものはないのでしょうか?
ソフトウェアの改修でなんとかしようという動きがあります。ブロック当たりのトランザクション数を増やすことでスループットを向上させる取り組み(Segwit)や、ブロックサイズを大きくしてスループットを向上させる方式も検討されています。なお、ブロック生成ベースを早くする取り組みは行われていませんね。通貨発行権を緩めることになるので通貨の信用が落ちるのを懸念してのことだろうと思いますが。

---- 金融政策のようなものはないのでしょうか?
ありません。中央集権的な仕組みではないからです。

---- ビットコイン・アルトコインの将来はどのようになると思いますか?
法定通貨をなくすには至らないとは思います。しかし国際間送金など使える部分が大きいのはメリットとなります。また、デジタルなものなのでインターネットとの親和性も高いのがメリットとなりえます。ただ、マイクロペイメントに使うには、ビットコインだけでは荷が重く、専用のアルトコインであったり、ビットコイン上にあらたなソフトウェアスタックが必要になると思います。昨今は電子マネーも増えてきており、我々が思うほど暗号通貨は広く使われないような気もします。

---- 何か言い残したことはありますか?
ビットコインは技術的な観点からすると非常に簡単かつロバストな形で実装されており、目を見張るものがあります。しかし、実際にどのように社会の中で位置づけられるかは現実を見ていきたいとも思います。また、仮想通貨だけでなく、スマートコントラクトとしてのイーサリウムやWAVEには、非常に多くの可能性を感じます。こちらもキラーアプリが出てくるかを見守っていきたいと思います。

ビットコインにおけるブロックチェーン(続き)

ブロックチェーンというが実際はブロックヘッダチェーンといったほうが正しいように思われる。各マイナーは、ブロックヘッダのsha254のチェックサムがターゲット数以下になるように、様々なブロックヘッダを試行する。この時に変化させるのはnounceと呼ばれるフィールドであり、任意の整数値でよいためこれをパラメータとする。最近では一秒以内にすべてのnounceをすべて使い切ってしまうASICがある(ブロックヘッダには時刻のフィールドがあるため、これもパラメータとなりうる)。その場合は、ブロック生成報酬であるcoinbaseトランザクションのエクストラフィールドを使うことがある。

 

上記に見るようにビットコインの動力源は、新たに追加する際の計算リソースであることがわかる。

ビットコインにおけるブロックチェーン

各ノードが保有しているほぼ同一な元帳が、ビットコインの価値である。元帳には「価値の移動」を意味するトランザクションが記載されている。すなわちビットコインが最初に生成された時から現在に至るまでのすべて価値の移動(基本的にはビットコインの授受と考えてよい)をトラッキングすることで価値の分布(ビットコインディストリビューション)がわかる。

 

この元帳は、ブロックチェーンという技術によって実装されている。ナカモトサトシが最初に作成したジェネシスブロックを第一ブロックとして、チェーン状にブロックをつなげることで、大きなサイズの元帳を生成するためのデータ領域が確保される

(注:新たに生成されたトランザクションを元帳に書き込むことができる)。ブロックサイズは1MBであり、ブロックにはおおよそ500程度のトランザクションを含めることができる。ブロックは10分に1回程度の割合で生成される。

 

新たに生成されるブロックは、検証はすぐに終わるが作成には大量の計算リソースを要するようなルールがなされており、誰かが新たにブロックを作った際にそれをブロードキャストすることで、各ノードの元帳はほぼ同期する。

 

このような形でビットコインブロックチェーン技術を使って、ビットコインの分布を表現する。

2017-05: 古典論理を学んで

--- 古典論理を学んでいたということですが

はい。論理学の基本ですね。アリストテレスの時代から進歩がなかった学問ですが、19世紀末から20世紀で一気に開花した学問です。数学基礎論とか数理論理学と呼ばれている分野です。

 

---数学と論理学に関係があるのですか

はい。論理学は数学の基礎としてとらえられています。数学は、証明なしで受け入れる概念である公理を定め、そこから証明・演繹を繰り返すことにより、定理を導くというゲームであるとみなせます。この言語となるのが論理と言われます。具体的には演繹や証明といった道具立てについて、より詳細に調べる学問といえます。

 

---それでは論理学は数学のための学問ということですか?

それは違います。確かに論理学の発展は数学の基礎付けという側面で爆発的に発展をしたのですが、より一般的に我々の理性や思考に関する一般的な命題を扱うことができます。ただ現時点で一番成功しているのが、数学に代表される命題、すなわち、「・・・である」というタイプの命題のみを扱う古典論理だということです。

 

---古典論理以外にもあるというわけですね

はい。「・・・・は必然的に真である」というタイプの命題や「・・・・するべきだ」というタイプの命題などを扱う論理学(様相論理学)も発展してきています。これらと対比する意味で、数学の基礎づけに関する論理を古典論理と呼んでいます。

 

---古典論理の知見を教えて下さい

数学の基礎付けを果たしました。具体的には公理的集合論の整備です。これは論理学の言葉で数学の集合論を構成したものです。公理的集合論の概念ZFCを使うと現代数学のほぼすべての分野を包含できます。そのため、論理学の言葉で数学が記述されることが明らかとなり、数学の方法論(推論や証明に使ってよい道具立て)が正当化されたことが言えます。一方、否定的な意味で数学に寄与した部分もあります。

 

---否定的な意味での寄与とは?

いわゆるヒルベルトプログラムが実現できないということを証明してしまったことです。ヒルベルトプログラムとは、「有限の方法で数学が無矛盾であることを示す」というものです。簡単に言えば数学で使っている推論や証明方法を使えば変なことは起きない、ということのお墨付きを論理学が与えたいというものです。それができないとゲーデルが証明してしまったのです。ある意味数学者は、自分の使っている道具が正当なものかわからない状態になってしまったのです。もちろん数学が間違っているとか、矛盾しているというわけではありませんし、数学の無矛盾性が「有限の方法で」示されないだけであり、べつの道具立てを使えば無矛盾性を示すことができます。「数学は自己完結した絶対的なものだ」という幻想が崩れただけです。

 

---古典論理の概要を教えてください

ざっくりいって論理の種類は、「命題論理⊂1階述語論理⊂数学の論理」という形で表せます。それぞれの論理で、統語論と呼ばれる用語の定義と、構文論と呼ばれる公理と推論のルール、意味論と呼ばれる論理の具体化からなります。論理学では、各論理内でどのように推論するか・どのような定理が得られるかというようなオブジェクトレベルの話と、各論理がどれぐらいまともか、というようなメタレベルの話の両方を射程にします。オブジェクトレベルの話は、いわゆる計算方法や証明手順に関する議論をし、メタレベルの話では健全性・無矛盾性・完全性などを議論します。

 

---では命題論理についての概要を簡潔に説明ください

まず、統語論です。命題論理では、命題間の接続性に注目します。原子命題は「・・・である」というものを想定し、2値として真か偽かをとるものを考えます。そして原子命題同士の接続性として、否定「¬」、かつ「∧」、または「∨」を用いて命題同士が結合し、より複雑な命題が構成されます。

次に、構文論です。何種類かバリエーションがあるのですが、ゲンツェンの自然演繹が一番わかりやすいです。構文論のバリエーションの違いは、推論規則と公理の選び方の違いだけで、その表現力は同等であることが示すことができます。

最後に意味論です。各種原子命題に真か偽かを割り当てて、複合命題の真偽を問うものです。前提をおいて帰結させるような演繹演算も含まれます。

 

---命題論理の知見を簡潔に説明ください

メタ的な知見としては、命題論理は無矛盾かつ完全です。オブジェクト的な知見としては任意の命題や意味論的帰結に関して、その真偽決定手続きが存在します。また、二値に真偽ではなく、電圧の高低を利用すると、デジタル回路の設計になります。オブジェクトレベルではブール代数と同値です。

 

---続いて1階述語論理の概要を説明ください

述語論理は、命題論理の拡張で、命題、述語と項に分解します。統語論として命題論理のそれに加え、全ての「∀」と、ある「∃」を導入します。構文論としてはゲンツェンの自然演繹を拡張したものを使います。意味論としては構造と割り当てという概念を用います

 

---1階の述語論理の知見を簡潔に説明ください

メタ的な知見としては、1階述語論理は無矛盾かつ完全です。オブジェクト的な知見としては任意の命題や意味論的帰結に関して、その真偽について決定手続きが存在しないことがしられています。アリストテレスが考案したオルガノン(三段論法)を完全に包含しています。

 

---そして数学の論理ですね

はい。数学の論理といっても「PA⊂ZFC」というように大小関係があります。ZFCまで大きいと数学のほぼ全てを射程にできるといわれています。ZFCは公理的集合論ともいわれ、それを学ぶだけでそこそこ時間がかかります。私は2017-04に何冊か参考書を読みました。PAペアノの公理と呼ばれる自然数に関する公理を述語論理に付け加えたもので非常にミニマルです。

 

---不完全性定理が絡んでくるのですね

そうですね。1階述語論理までは完全かつ無矛盾といってもよいのですが、PAおよびZFCに関しては、有限の立場では「矛盾しているか不完全である」ことがゲーデルによって示されました。とはいっても今のところ数学が矛盾しそうな雰囲気もないので数学者はそれほど大きな受け止め方をしていないと思います。また、不完全性に関しても、「この問題は解けない」というのも一つの問題の決着のつけ方ですし、まあこんなものでしょ、という感じだと思いますね。ヒルベルトの「ノン・イグノラビムス」のような原理主義者にとっては耐え難かったでしょうが

 

---最後に残しておきたい言葉はありますか

私は論理学が好きです。勉強してみてつくづく思います。近いうちにまたここに戻ってくると思います。Rautemberg教授の論理学の教科書や、フランセーンの素晴らしい不完全性定理の本は、現時点ではまだ消化しきれていないのですが、いつかは理解できるようになりたいです。様相論理に関しても興味があるものの、手を付けられずじまいでした。残念です。

 

 

 

トートロジーと論理的帰結

モデル・値付けw(wα=1)を充足関係 w|=α と捉えなおす。論理式φ∈Fはモデルによって充足したり、しなかったりするが、任意のモデルに対して充足する論理式があり、トートロジーと呼ぶ。任意のモデルに対して充足しない論理式があり、矛盾と呼ぶ。αを充足する任意のモデルに対してXが充足するとき、論理的帰結と呼び、 α|=X とかく。充足関係と論理的帰結に同じ記号を割り当てるが、特に混乱はないはず。

 

論理的帰結に関し、 X,α |= β ⇒ X |= α→β という演繹定理が成り立つため、これを帰納的に利用することで、任意の論理的帰結の妥当性は、ある種の論理式がトートロジーであるかどうかという問題に帰結し、決定可能である。