2018年10月6日土曜日

DApps考


中央サーバがない分散アプリケーションというのは、あるようでなかなか無かったのだが、DAppsはそういうものなのだそうだ。一時期流行ったWinnyのようなファイル共有ソフトは中央サーバがないから似たようなものだが、DAppsの場合はブロックチェーンを使用していて、暗号通貨(暗号トークン)による報酬のやり取りが発生する。仕掛けとしては複雑だが、なかなか面白い。

Winnyは非合法的匂いが漂っていたが、アプリはファイル共有だけではなく合法で有益なものもある。例えばSNSなら、世界中どの国に行っても封鎖されることなく使えるし、サーバダウンで使えなくなることもない。送金なら銀行より速く確実にできる。ただ、中央による監視がないことは、例えばSNSならアカウント封鎖ができないとか、送金なら誤送金しても返してもらえない、というリスクもあるので注意は必要だ。

さて、そんなDAppsは、まだ企業内で大々的に使おうという雰囲気にまではなっていない。DAppsでは中央サーバが無いため、ノードのデータ領域と計算能力の負荷が大きくなる。中央サーバの全能力と、各ノードの全能力の合計は、後者の方が圧倒的に膨大となる。つまり、総額としてみれば、企業の負担はかえって重くなってしまう。

この問題を解決しないと、DAppsは企業に普及しない。すなわち、サーバに、しかも複数のサーバに分散した上で何とか動くような巨大なプログラムとデータを、如何にして非中央集権の各ノードに置くか、である。

多重化を目指す以上は、一つのアプリケーションやデータを複数に配置することは避けられない。だが、単純なブロックチェーンのように全ノードに配置するのはやり過ぎだ。だとすればこの中間、すなわち全部ではないが十分に有意な分散をする、しかもそれで信頼できるようにする、ということになる。

このためには、従来とは違ったノード情報が必要になる。分散が十分であるかどうかを確認するための指標だ。例えば地理的に分散しているかどうか、同じないしは類似の組織に所属していたり似たようなソフトをインストールしていないか、通信の相手先が偏っていたり、同じ人と通信していないか、など。要するにお互いが独立しているかどうかだ。

アプリやデータは、この指標を基に分散しなければならない。独立度が高ければ分散数は少なくてよいし、低ければ多数のコピーが必要、ということになる。また、アプリに関しては当然計算機負荷の軽重が問題になる。貧弱なアプリは貧弱なノードに、重いアプリは重いノードに、というわけだ。

このアプリは単独で閉じるものとは限らないから、例えばミドルとUIで各々グループを作るような動きになる。そして、そのグループ間が通信をする。負荷が増えればグループ内でノードを複製し負荷分散する。そういったバックグラウンドが必要だ。

これら、すなわち個々のアプリ(モジュール、ミドル、ブロックと言っても良い)の分散度やリアルタイム負荷分散、当然故障検知や代替などが全て自動で行え、そのためのパラメータはアプリ作者が調節できるような仕掛けが必要である。

ここまで来ると、従来のDAppsやWinnyレベルではなく、業務用の監視ツールにも匹敵するソフトが必要になる。それがアプリにとってはバックグラウンドソフトになるわけだが、ここまででも相当に高度であり、計算機負荷も高く、容量も必要だ。

そんな仕掛けが開発可能なものなのかどうか、合理的な計算機負荷で納まるものなのかどうか、分からない。だがもしこれが出てくれば、従来のサーバビジネスが吹っ飛ぶような重要な可能性を秘めている。ここまで考えて作ってくれる人がいるものなのかどうか、注目している。

0 件のコメント:

コメントを投稿

注目の投稿:

超音波モーターの原理によるVR用トレッドミル

  VRにおけるリアリティ問題の一つに、その場で動くのではなく移動する場合、つまり歩いたり走ったりすることが挙げられる。実際にはその場にいるので、歩いたかのように足場を調節してやる必要がある。 これを実現する方法として、すり鉢状の滑りやすい足場を作っておく方法と、トレッドミルを使...

人気の投稿: