はじめに
Storj と言えば、ブロックチェーンを使って未使用ディスク領域を貸し借りし、分散型の Dropbox の様なクラウドストレージを実現しようとしているプロジェクトです。彼らは、この度 Storj Bytes というニュースレターを配信し始めたようです。そこでどんなことが書いてあるのか簡単にまとめたいと思います。
ところで、このニュースレター PDF になっているのですが、早速 twitter で突っ込みが入っていました。
「ブロックチェーンスタートアップが PDF でニュース配信って正気?」
https://twitter.com/DannyOosterveer/status/913502085844529153
ただ学術的なニュースレターはこんな感じの PDF が多いので、あまり違和感はありませんでした。
これまでの成果
libstorj について
Node.js (JavaScript) で書かれていた Storj Core を他言語からも使いたいという要望が多かった。そこで、Core とコマンドラインツールを C 言語で書き直し libstorj を開発した。C 言語で書かれたライブラリなので、多言語から利用するバインディングが作れるようになった。また、C 言語化に伴い再設計し直したので通信速度が向上した。
JavaScript 以外の言語対応は、Storj を利用するアプリケーションの拡大には必要だとは思いますが、よりによって C での書き直しには正気か?と思ってしまいます。百歩譲って C++ ならまだしも、本当に C で書き直したようで、逆に開発効率が下がったのではと疑ってしまいます。実際、C のソースコードのコンパイルは環境(OS や CPU の種類)別に細かな設定が必要になることが多く、Storj: Not a Dropbox Killer でも相当苦労している様子がみて取れます。
ネットワークの信頼性向上
ネットワークに参加している貸主のノードが接続不能になった場合、ダウンロード速度に影響が出る問題を軽減した。ファイルを Storj に保存する場合、暗号化し細かく分割した断片を保存する。この時、断片のコピーを複数作成するようにし、リード・ソロモン符号を使用することにした。その結果、全体の 2/3 の断片が無くなったとしても元のファイルをほぼ 100% 復元できるようになった。
「全体の 2/3 の断片が無くなったとしても元のファイルをほぼ 100% 復元可能」というフレーズは強力に聞こえますが、複数のコピーを用意することで必要なデータ容量がどれくらい増えたのかが気になるところです。
アップロードにおけるスケーラビリティと信頼性の改善
今までは Quasar と Kademlia という技術を使用していた。Quasar はP2Pネットワーク上の出版-購読型モデルにおけるルーティングアルゴリズムで、Kademliaノード間の隣接関係を定義する方法。
今までの実装では、アップロード先を決めるためにリレー形式で各ノードに情報を回していく必要があった。そのため、中間のノードに問題があるとその先に有益な貸主が居ても情報を取得できないことがあった。この問題を解決するために、 SIP 6 を作成した。新しい実装では、定性的な情報を元に、各ブリッジが問い合わせたい貸主をあらかじめ覚えておきリレー形式ではなく直接問い合わせることになった。
この変はかなり端折っていますので、詳細は Problems with Quasar based publish-subscribe systems in peer-to-peer storage networks を参照ください。
ステータスページの作成
ネットワークに問題が起きた場合に、コミュニティに何が起きているのか、またどうやって解決さしたのかを知らせるために、サービスステータスページを作成した。
現在の取り組み
Web GUI アプリケーションの改善
GUI アプリケーション で、データの利用量や統計が分かるように、月ごとの使用量が分かりやすくなるように改善を行なっている。また、Storjトークン、Bitcoin, Ethereum, クレジットカードでの支払いに対応中。
フロントエンドの改善
これまでバックエンドに注力してきた。これからはユーザエクスペリエンスの改善に取り組む。特に貸主や開発者のユーザエクスペリエンスの改善が重要。
これから
ドキュメントの改善
12月までにドキュメントを充実させ新規ユーザのハードルを下げたい。翌年にはさらに改良してユーザーフレンドリーな製品になる予定。
Storj はドキュメントが少ないので、確かに新規ユーザにはハードルが高すぎる気がします。開発者向け情報も結構ひどくて、libsroj の説明はどこにも無いし、どこをクリックしても同じページに飛ばされたりするので早急に更新して欲しいところです。
Ethereumとの統合
貸主へ使用量の即時支払いが可能に。
コミュニティとの関わり
季刊のニュースレターに加え、ブログや週ごとのデベロッパーミーティング(毎週水曜日東部標準時11時に https://community.storj.io/ の dev チャンネルで実施)がある。
来月ごろからコミュニティ向けの特典も用意。
資金調達の結果チームメンバーが増えている様子。
なお創業者の一人で Chief Design Officer だった Tome Boshevski がチームを去ったそうです。
おことわり
以上は、個人的な調査結果のため100%の正確性を保証するものではありません。
正確な判断のためには、原典を参照ください。
Thanks for sharing :-) @nemufox I am following. Best of Luck !
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thanks!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit