SteemitのAPIがHivemindを利用して提供されるようになったことを@yoshikoさんの投稿STEEMの価値がちょっと上昇で知りました。なかなかよい改善で、日本語で少し詳しく解説してみようと思います。
Hivemind is Live! - @steemitblog
HivemindはSteemブロックチェーンとデータベースを同期するサービスです。ここでいうデータベースとは、今Webサービスなどで使われているタイプの関係データベースで、HivemindのGitHubのページにはPostgresと書かれています。
ブロックチェーンもデータを保存するという意味では公義のデータベースですが、ぞろぞろデータがブロックに入ってつながった状態なので、データの読み書きの面では従来の関係データベースに軍配があがります。Steem上のアプリケーションも増えてきていますし、ブロックチェーンにアプリケーションから直接もりもり読み書きがあると、フルノードに負担がかかりそうですよね・・・。
そこで「Steemitでは、SteemとSteemitに間にHivemindを入れて、ソーシャルAPIの大部分をHivemind経由にしたよ」というのが今回の@steemitblogでの発表です。Steem上の大きいアプリケーションのひとつSteemitでHivemindが導入されたことでフルノードのサイズとランニングコストが劇的に下がりそうです。図で描くとこんな感じ:
<Before>
<After>
フルノードのサイズやランニングコスト削減以外にもいい点があって、HivemindはPythonで書かれているので、開発者がAPIの挙動を書き換えやすくなっているとのこと。C++で合意形成に近い部分を神経質に触る必要がなくなります。
今後他のアプリケーションでHivemindの導入が進むかが、より一層のフルノードの負担削減の鍵となってくるでしょう。Steem Appsで見てみると、直近ではSteem MonstersやMagic Diceのトランザクション数がSteemitよりも多くなっています。BusyやPartikoといった人気の投稿インターフェイス、Utopian、Funditionといった有名どころの動向も気になります。
以上、SteemitのHivemind導入について簡単な解説でした。間違いあるかもしれません、もしあったらご指摘ください :)
余談: それにしても、枯れ枯れの関係データベースは未だ強し!ですね。1970年に考案されたようで、もう45年以上 www ブロックチェーンは2050年にどうなっているのでしょう。私はおばあちゃんだな。。あと、他チェーンでも、アプリケーションプラットフォームをウリにしているEthereum、EOS、Wavesなどどういう対応をしていくのか気になります。結局どこかに関係データベースが入るのかなあ。