最近、分散システムというやつに関する議論をすることが多いのですが、色々誤解が多くて、なんだかよくわからない話になってしまうことがあります。以前、分散システムや自律分散システムの研究をやっていた身としては、寂しい気持ちになってしまいます。そんな寂しさを綴った、単なるポエムです。
システムいろいろ
集中型システム、分散型システムというのを耳にする機会があります。これらに加えて最近は、自律分散型システムみたいな言葉も見かけます。ブロックチェーンが流行ってるからですかね。その昔はP2Pでも流行ってました。
集中型システム、分散型システム、自律分散型システム、これらの明確な定義はないような気がしますが、大雑把にいえば2つのグループに分けることが出来ます。
俺様グループ:集中型システム、分散型システム
アナーキーグループ:自律分散型システム
大きな誤解は、分散型システムと自律分散型システムを1つのグループにしてしまうことです。そのせいで色々話が噛み合わなくなります。
集中型システムと分散型システム(俺様グループ)
このグループは、サービスを提供する側とサービスを受ける側が分かれます。「欲望」を持つ人が明確に分かれているということです。サービスを提供して金儲けしたいという欲望と、サービスを利用したいという欲望です。
最近は多くのサービスがクラウドで提供されていて、集中型といいつつその中身は分散型システムになっています。つまり、サービスを提供する欲望を持っている人が、1つのサーバでサービスを提供するではなく、スケーラビリティや対障害性を考慮して、複数のサーバに処理や情報保存を分散しています。
また、かつてマッシュアップと呼ばれましたが、複数のサービスを組み合わせて一つのサービスを構成することも行われます。これもAPI連携による分散型システムですが、欲望の観点からは、単にサービス提供者が自分の欲望を満たすために他のサービスを利用しているに過ぎません。サービスを受ける側からすれば、どうやってそのサービスが実現されているかを気にすることはなく、サービス提供者からサービスを受けているに過ぎません。
結局、分散型システムというのは、集中型システムで多数のリクエストを処理したり信頼性を上げるためだったり、他人の能力を利用して自分のサービスを拡充するための仕組みということになります。
自律分散型システム(アナーキーグループ)
このグループは、欲望が渦巻いています。みんながそれぞれ似たような欲望を持っていて、それらが絡み合って、全体としてシステムを成しています。集中型・分散型システムとの大きな違いは、特定の誰かがサービスを提供したいという欲望をもって、全体をうまいこと制御しているわけではないということです。
自律分散型システムを勉強しようとすると、生物やら細胞、社会みたいなものがよく出てきます。自己組織化や創発といったキーワードも出てきます。例えば細胞は、1個1個が「生きたい」という欲望を持っていて、それを達成するために活動しています。そのような細胞が寄り集まって、一個の生物が構成される、みたいな話です。自律分散型システムは、それ自体が生物だったり社会だったり、そんな感じです。哲学的です。
ここ数年注目されているブロックチェーン、特にBitcoinやEthereumは自律分散型システムといえそうです。これらのシステムでは、マイニングはシステムを動作させるための手段であり、目的にもなっています。みんな、マイニングしたいからシステムに参加しています。そして、みんなが参加するから、システムが上手く動作するようになっています。
生物も進化すると、内部の役割が分化し洗練されていきます。脳を筆頭に、臓器、細胞と階層的に組織化されいます。脳が体全体を統括し、様々な欲望を持つことができるようになり、まるで脳を中心とした集中型システムのようになっています。この方が繁栄できるからなのでしょう。
ブロックチェーンになぞらえると、おそらくそれはDAppsじゃないかと思います。単なるアナーキーなアプリではなく、生物の進化のように、洗練された集中型システムを目指すことになるでしょう。でないとお金が儲かりません。
ここで、たまに疑問が出ます。「それ、ブロックチェーン上のDAppsにする意味あるの?」と。
そもそもそのアプリは何をやりたかったのか、それが明確でないのにDAppsにする意味ってあまりないように思います。一番良い理由は、ETHを使いたいから。それならEthereumでDAppsを作るしかありません。生物が「自分の細胞を使って生きていくしかない」ってのと同じだと思います。
一番いいと書きましたが、それ以外のいい理由があまり思いつきません。もしかすると「そこにEthereumというインフラがあるから」という理由もあるかもしれません。しかし、必ずしもコストが安いとも限りませんし、サービスの継続性がプラットフォームに依存してしまいます。もう一つは「流行ってるから」。これは否定すべきものではありませんが、効率の悪いシステムだと、流行が去ると負の資産にしかならないので注意が必要です。
よくみると謎なモノも・・・
ブロックチェーンの話になってしまいますが、パブリック型とプライベート型があります。パブリック型はアナーキーブループ、プライベート型は俺様グループです。
しかし、パブリック型を謳っているものの中には、「ん?」というものもあります。欲望がどこにあるか、つまり誰が運営しているか、という点を確認してみましょう。実は、集中型のものがあります。こういう奴は、パブリック型というよりも超でかいプライベート型と言ったほうが良さそうです。
パブリック型と超でかいプライベート型のどちらが優れているかという話ではなく、それぞれ全く違う特性をもっているということを意識しておかないと、あとで「聞いてないよ」みたいなことになるかもしれません。注意しましょう。
むすび
似たような言葉、逆に全然違う言葉のせいで、その特徴を誤認すると、あとで困ることもありそうです。自分が知ってる分野だからわかるのですが、知らない分野だと同じような誤解をしてしまってるんだろうなと思うと恐ろしいですね。。