来年のことを言うと鬼が笑うという。10年先のことを語るとどうなってしまうのだろうか?私は技術者の立場として、夢ばっかり語るのは好きではないのだが、2019年も終わることだし、たまには妄想を広げるのも許されるだろう。いうわけで今回は今後10年、ブロックチェーンにおいて重要になると思う技術的な課題を語ってみたいと思う。ビジネスとしての展望は加納が語ってくれるだろう(丸投げ)。これは前世紀の初めにヒルベルトという数学者が、今後100年の数学が取り組むべき23の難題を発表したことのマネをしたい、という個人的なワガママでもある。これも年末ということで大目に見てもらいたい。タイムリリース暗号ビットコインの革新的なことの一つは、現実世界と仮想世界をつないだことである。「ある数字を知っている」というのは現実世界の出来事である。それを人に教えたり、逆に隠したり、システムに記憶させ使わせたり、といったこともみんな現実世界の出来事だ。それがそっくりそのまま仮想世界で「ビットコインを所有している」につながっている。タイムリリース暗号も同じように現実世界と仮想世界をつなげる。現実世界で「ある時刻になった」という出来事と、仮想世界で「暗号が解ける」ということをつなげるのだ。0時0分」で暗号化する。時刻を公開鍵と見立てて暗号化するのだ。暗号を解くためには秘密鍵が必要になるが、それはその時刻にならないと配信されないという仕組みだ。逆にその時刻になりさえすれば誰でも簡単に秘密鍵を入手できる。気づいただろうか、この仕組みには秘密鍵を配信するサーバーが必要なのだ。みんなが信頼できるサーバーを立てることができず、この仕組みはまだ実現してない。私には一つ腹案がある。それは準天頂衛星システム、通称「みちびき」をサーバーとして使うことだ。衛星で軌道上から地上へ向けて、正確な時刻のビーコンを送ってくる。その目的のために原子時計を積んでいる。これほど時刻という意味で信頼のおけるサーバーがほかにあるだろうか。みちびきは宇宙にあるのである。万キロの衛星軌道まで行かなければハックできないのだ。これほど安全なサーバーがほかにあるだろうか。私はロマンティックにこう呼びたい、星空の暗号と。これは素人の考えかもしれない。そんな簡単にみちびきにこのシステムは導入できないのかもしれない。年、タイムリリース暗号は社会実装されているだろう。なることがブロックチェーンというパラダイムの大きな流れだと思うからだ。実際異なるブロックチェーン間のエスクローなどで信頼できるリアル時刻の必要性は増してきている。ほかにもプレスリリースの配信などへの応用も考えられる。そんなことより、私の想像を超える領域で利用されているに違いない。オラクル現在のスマートコントラクトは大きな問題を抱えている。それは非決定論的な計算を許してしまうことだ。ブロックチェーンとはとどのつまり分散ステートマシーンである。ノード間でステートを同期するために、トランザクションの実行に任意性があってはいけない。どんなノードでもいつ実行しても同じ結果にならなければならないのだ。このことを決定論的、という。非決定論的な計算というのは、乱数を使うという有名な例のほか、実行環境の時計にアクセスし時刻を取得するというのもある。呼ばれるものはすべて非決定論的な計算の範疇だ。なんかも呼び出しもそうだ。非決定論的なことを禁止する方向で進化するのだろう。それでは外の世界の情報をブロックチェーンに取り込むことができなくなってしまう。大事なものまで一緒に無くしてしまった、これだと面白くない。これは実はもっと根の深い問題の表れである。ブロックチェーンは信頼を扱うデータベースだ。ここで信頼といっているのは「データが改ざんされていない」という点においての信頼だ。情報そのものの信ぴょう性については何も保証していない。そんなことはできない。情報そのものの信ぴょう性は、結局のところ外部の世界の問題である。いった意味で、外から信頼を与えることは、ブロックチェーンが広く社会で使われるために非常に重要な課題なのだ。今後様々な方法で情報の信ぴょう性をブロックチェーンに取り込む方法が開発されていくのだろう。取り込む際にコンセンサスアルゴリズムに影響も与えるだろう。いった研究がされていくに違いない。実はオラクル問題を考えるときに、私がいつも頭に思い浮かべているものがある。彼女達はまるでブロックチェーンのようにコンセンサスアルゴリズムを実行し、それぞれが個性を持ち違った答えを出す。今のブロックチェーンはこれに比べればおもちゃだ、どのノードも同じ答えを出すのだから。年でこのギャップは埋まるのだろうか。作れないかもしれないが、少なくとも今よりもっとワガママなブロックチェーンは登場しているに違いない。DKG私はこの秘密分散署名のことをドラゴンボール署名と呼んでいる(いい加減アニメの例はやめろ、といわれるかもしれないが、こればっかりはご了承いただきたい)通常の署名は秘密鍵の持ち主が署名をする。マルチシグの場合は複数の持ち主がそれぞれ署名をする。秘密分散署名の場合は秘密鍵が分散されそれぞれが署名をする。秘密分散署名は効果としてはマルチシグに似ているものの、原理は真逆である。複数の秘密鍵を使う代わりに、秘密鍵を分割してしまうからだ。これがドラゴンボールと呼んでいる理由である。似ているのはここまでだ。個集めてしまえば、その場で秘密が完成してしまうが、秘密分散署名は分散したまま、一つの欠片だけで署名を行うことができる。して出来たパーシャル署名を組み合わせることで、本物の署名を復元できるのだ。出来上がった署名は、パーシャル署名を組み合わせて作られたものなのか、最初から完全な秘密鍵があってそこから作られたものなのか、区別することができない。この特徴はマルチシグに対する優位点になる。マルチシグの場合、誰が潜在的署名者で、そのうち誰が署名したのかが外の世界に漏れてしまう。いうより外の世界で判定しなくてはならない。これは不必要な内政干渉といってもいいだろう。秘密分散署名の場合、外から見たら唯一の代表者が常に署名をしているように見える。独裁なのか、民主なのか、内部の実情を知ることなくマルチシグの利点を得ることができるのである。