イベントレポート

性能検証にクラウドが便利。プライベートイーサリアムで1200~1300Tx/秒も

G.U.Lab西村氏登壇、オラクル主催エンジニア向けセミナー「BlockchainGIG #3」レポート

日本オラクル株式会社は7月4日、ブロックチェーンエンジニア向けの勉強会BlockchainGIG #3を開催した。今回はHyperledger Fabric、Ethereum、Cordaの各ブロックチェーンを活用してエンタープライズ領域に取り組むエンジニアが講演とパネルディスカッションを行った。

Ethereum開発エコシステムへのツール開発・提供を行っているG.U. Lab株式会社・代表取締役の西村洋一氏は、要件定義の重要性を説き、試作したブロックチェーンの性能の検証方法を説明した。

G.U. Lab株式会社・代表取締役の西村洋一氏

ブロックチェーンには分散性・スケーラビリティ・セキュリティの3要素のうち、すべてを同時に満たすことはできないというトリレンマがある。エンタープライズでは、スケーラビリティとセキュリティは必須であり、分散性については要件に応じて実装していくという考え方になるという。

ブロックチェーンのトリレンマ。エンタープライズでは、スケーラビリティとセキュリティは必須

要件に対してエンタープライズEthereumはどうかと言うと、まずスケーラビリティは秒間1000トランザクション以上が実現可能である。セキュリティについては機密性と可用性に問題が残るものの、運用でカバーできる部分である。分散性については1から100ノードまでの制限があるため、満たしているとは言えない。

要件の整理が終わったところで、実際にブロックチェーンを実装し、性能をテストしていく。3つのネットワークに同時に1万トランザクションを投げ、どの程度の時間で処理が完了するのかを見ていくという。調整するパラメータはブロックの生成間隔や、1ブロックにいくつのトランザクションを納めるのかなど、多岐にわたる。きちんと調整を行えば、秒間1200から1300トランザクション(TPS)程度は達成できるという。

3つのネットワーク同時に1万トランザクションを処理させて性能を検証する

検証の過程で、ブロックチェーンネットワークを作っては壊しを繰り返すことになる。今はチュートリアルが充実しているので1日もあれば0からブロックチェーンネットワークを構築することはできるが、いちいち自前のネットワークを構築していては膨大な時間がかかってしまう。そこで、ネットワークの実装が数分で終わるクラウド上で検証していくことが近道となる。

次に西村氏はクラウド上でのEthereumの環境構成を説明した。クラウド上には複数のノードをまとめたクラスタが構成される。このクラスタが複数揃ってネットワークとなる。

性能を向上させるために独自の工夫として、クラスタの処理状況に併せてトランザクションを振り分けるロードバランサーを各クラスタに実装している。さらに、各クラスタにブロックエクスプローラというオープンソースツールのサーバーを置く。この作業を1つ1つのクラスタに手作業で行うのは手間なので、テラフォーム(Terraform)という環境管理ツールを使って自動化すると、より早く検証を進めることが可能だ。

日下 弘樹