こちらの記事は旧バージョンについての記事になります。最新版はこちらをご覧ください。
ブロックチェーンデータベースBigchainDB 2.0
ドイツの首都ベルリン発、分散型データベースとブロックチェーンのよいとこどりをしたスケーラブルな分散型ブロックチェーンデータベースBigchainDBについて紹介します。
BigchainDBとは
2013年、BigchainDB誕生のきっかけとなるascribeの開発が始まりました。Ascribeはデジタルアートの管理や販売を目的としたもので、その根底には「デジタルな知的財産のクリエーターが報いられるには?」「ビットコインを所有するようにデジタルアートを所有できるようにするには?」といった問いがあったといいます。
画像:Ascribeウェブサイトより
Ascribeはビットコインのブロックチェーンを利用して構築されましたが、ビットコインのブロックチェーンのスケーラビリティーでは大企業の求める処理能力を達成できないことが明らかになりました。Ascribe開発の知見をもとに、2015年の夏から分散型で、一度記録されたデータは不変で、アセットの登録や移転が可能なより汎用なデータストアの開発が始まり、2016年2月にBigchainDBが発表されました。
BigchainDB ・・ The scalable blockchain database
BigchainDBはヨーロッパのスタートアップハブとしての地位を確立しつつあるドイツの首都ベルリンに拠点をおくBigchainDB GmbHにより開発が進められています。BigchainDBは2015年6月のシードファンディングを皮切りに合計537万ドル(2017年7月現在、約6億円)の資金調達に成功しています。
BigchainDBが得意とする分野
BigchainDBはオープンソースの分散型データベースRethinkDBをもとにブロックチェーンを利用して開発され、スケール可能な分散型ブロックチェーンデータベースを実現しました。ホワイトペーパーによると秒間書込み100万回、レイテンシ1秒未満を達成し、保存可能なデータ容量はペタバイトにのぼるといいます。BigchainDBのウェブサイトでは、ペタバイト規模の容量はcoming soonとなっていますが、これが実現されるとブロックチェーン上にデジタルアートといった容量の大きなファイルまでも直接保存できるようになります。
ユースケースとして、ascribeでターゲットとしたデジタルアートをはじめとする知的財産、ID、サプライチェーン、政府における土地の所有権の管理など幅広い分野での利用が想定されています。パートナー企業のリストにはそうそうたるグローバル企業の名前が挙げられ、トヨタやリクルートといった日本企業の名前もあります。
画像: BigchainDBのパートナー企業(BigchainDBウェブサイトより)
BigchainDBのウェブサイトの企業向のページで、Riddle&CodeのCEOが「ビットコインのブロックチェーンを利用したら30日要したアプリケーションの開発をBigchainDBでは1日でできる」とBigchainDBを評価しているように、ブロックチェーンでありながらデータベースのようにふるまい、PythonやJavaScriptのドライバが公開されている開発容易性も様々な分野や業種で利用されつつあるゆえんでしょう。
BigchainDBとブロックチェーン
BigchainDBでは、ブロックチェーンをスケールさせるのではなく、大量のデータを扱う分散型データベースにブロックチェーンの「一度書き込まれたトランザクションは不変である」「中央サーバーなしにアセットを作ったり転送したりできる」といった特徴を持たせるアプローチがとられています。
※ 現実装のベースとなっている分散型データベースRethinkDBの開発元は2016年10月に会社をたたんでいるものの、BigchainDBはブログ記事「What RethinkDB Shutting Down Means for BigchainDB」の中でベースとする分散型データベースに依存するものではないとしています。
BigchainDBに対してトランザクションの作成やデータの問い合わせを行うクライアントからBigchainDBはひとつのブロックチェーンデータベースに見えますが、BigchainDBはトランザクションの集合であるbacklogとブロックチェーンのふたつの分散型データベースから成り、BigchainDBコンセンサスアルゴリズム(BCA)と呼ばれる合意形成アルゴリズムがこれらを橋渡ししています。ブロックチェーンのスケーリングには独自のblockchain pipeliningという技術が用いられています。
合意形成はsigning nodeと呼ばれるノードの投票によって行われます。Signing nodeはそれぞれクライアントから受け取ったトランザクションをbacklogに記録し、トランザクションを集めてブロックとし、ブロックチェーンに追加します。追加されたブロックの妥当性はネットワークに参加するsigning nodeの投票の過半数によって決まります。また、ビザンチン将軍問題への耐性については今後の課題としていますが、パフォーマンスの低下につながる可能性があるため、ユーザーが機能のオン/オフを選択できるように実装されるようです。
BigchainDBの要素技術を選択した背景、BigchainDBの技術的な詳細やパフォーマンスについては公式の文書およびホワイトペーパーに詳しい記述があります。
今後の展望
BigchainDBの今後の開発計画はGitHub上で公開されています。セキュリティの強化、データの妥当性の保証、パフォーマンスの向上、ユーザーインターフェイスの改善などが挙げられ、2017年夏には本格的なバージョン1.0のリリースが予定されているようです。
BigchainDBの開発は現在進行中で、バージョン1.0のリリースまではバージョンアップにともないAPIに大きな変更がある可能性があるものの、すでに多くのプロジェクトでプロトタイプやコンセプトの実現のためにBigchainDBが利用されているといいます。最近ではマサチューセッツ工科大学のメディアラボとトヨタの人工知能技術の研究・開発強化に向けた新会社Toyota Research Instituteとの自動運転車の分散型データ共有に関する共同プロジェクトが発表されました。
数億円規模の投資を受け、ヨーロッパの新興スタートアップハブ、ベルリンで開発を続けるBigchainDBの今後の動向に注目していきたいところです。