仮想通貨

ジリカ【Zilliqa】とは?-ハイスループットブロックチェーン

shoto です。

現在イーサリアムやビットコイン、NEMなど様々なブロックチェーンが開発されていますが、みなさんは「Zilliqa」というブロックチェーンをご存知ですか?

実はブロックチェーンには実用レベルで運用するために解決しなければならない課題がいくつか残されています。

その課題の1つとしてスケーラビリティ問題があります。

今回はシャーディングという技術でスケーラビリティ問題を解決し、ハイスループットブロックチェーンを実現するZilliqaについてお届けしていきたいと思います。

要点
  • Zilliqaはシャーディング技術を実装したハイスループットブロックチェーン。
  • Zilliqaは独自テストネットにて2,488Tx/sの処理に成功している。
  • Zilliqaは51%攻撃やビザンチン将軍耐性のあるブロックチェーン。

ジリカ【Zilliqa/ZIL】の概要

発行日 2018年1月25日
Zilliqa名称 ZIL
Zilliqa発行総数 126億ZIL
ブロックチェーン イーサリアムベース、独自ブロックチェーン
承認システム PoW,PBFT
公式サイト 公式サイト
ホワイトペーパー ホワイトペーパー

Zilliqa(ZIL)の現在価格

Zilliqaの目指すブロックチェーン像

Zilliqaはブロックチェーンプラットフォームとして開発され、ネイティブトークンであるZILはブロックチェーンを利用する際に利用されます。

ブロックチェーンプラットフォームといえばビットコインやイーサリアムなどが存在していますが、現行のブロックチェーンにはスケーラビリティ問題というクリアしなければならない課題が存在します。

スケーラビリティ問題を簡単にイーサリアムで説明すると、イーサリアムブロックチェーンでは取引(トランザクション)の整合性を検証し承認、そしてブロックへ記録していきます。

そしてイーサリアムブロックチェーンでは1秒間あたり7~15件のトランザクションを処理し、ブロック生成時間は15秒~17秒といわれています。

この処理能力を上回るトランザクションが発生した場合、処理が追いつかずトランザクションの検証・承認が次のブロックへと移行されます。

結果として、送金やスマートコントラクトの実行が遅延し、手数料が高騰していきます。

Zilliqaでは、このスケーラビリティ問題をシャーディングという技術を用いて解決し、よりハイスループットなブロックチェーンを実現させるプロジェクトです。

ここからはZilliqaがどのようにスケーラビリティ問題を解決するのかを含め、Zilliqaの特徴的な機能を見ていきましょう。

シャーディングによる並列処理

ジリカ

まずはじめに現行のブロックチェーンが1秒間あたりに処理できるトランザクションの数を見てみましょう。

BITCOIN 7TX/S
ETHEREUM 10TX/S
VISA 8000TX/S

見てわかるように現在普及している決算技術VISAとの差は歴然ですよね。

もちろん、ビットコインやイーサリアムもスケーラビリティを向上させる解決策はいくつも打ち出されており、実用性があるものも出てきています。

Zilliqaはその解決策の1つであるシャーディングという技術を利用します。

シャーディングでは現行の1つの取引を全てのノードが一斉に演算・検証するシステムに対して、ノード群(シャード)を複数形成し、取引処理をノード群ごとに並列処理する方法です。

例にすると従来の方法ではブロックチェーンネットワークを形成する全てのノードが10取引を1秒間で処理するとします。

それをシャーディングではノードを10のグループに分割して並列処理することで、合計100取引を1秒間で処理できるようにします。
※実際にはもっとパフォーマンス出します。

ジリカ

Zilliqaはこれによりスケーラビリティ問題を解決し、ハイスループットなブロックチェーンを開発しています。

また、このシャーディングはネットワークを形成するノード数が多ければ多いほどノード群を作れるため、ノード数に比例して処理能力を拡張できます。

実際にZilliqaはテストネットにて3600のノードから6つのシャードを形成し、2,488Tx/sの処理に成功しました。

ジリカ

試算では今後VISAの処理能力を上回るとされています。

しかしこのシャーディングですが、1取引に対して整合性の検証と承認を演算するノード数が限られるため、セキュリティに問題が生じるのではと懸念されています。

次に悪意のあるノードに対する対策を見てみましょう。

ランダムグルーピングとPBFT

シャーディング技術で懸念される点としてノード群の過半数または改ざんや不正が可能なレベルで悪意のあるノードが支配してしまうということです。

これは51%攻撃ビザンチン将軍問題という合意形成上の問題を懸念されていますが、Zilliqaのノード群形成方式やマイニングのプロセスでは改ざんや不正の可能性はかなり低いものとなっています。

まず、ノード群に参加するノード足切り条件としてPoWを行い既存のネットワークへPoWデータを送信し、ネットワークに承認されるとマイニングIDが発行されノード群に参加できます。
※ここでいうPoWはマイニングではなく、あくまでマイニング参加権を取得するために行うものです。(51%攻撃対策)

次に、認証されたノードはランダムにグルーピングされます。
これにより、悪意のあるノードが同じグループに参加するのを防ぎ、結果としてビザンチン将軍問題をクリアします。

ジリカ

そして実際のマイニングではPBFT(Practical Byzantine Fault Tolerance)という方式を採用しています。
以下PBFTのプロセスになります。

PBFTによる合意形成アルゴリズム

1.承認可能ノードからリーダノードを抽出し、リーダノードが非承認ノードからトランザクションを受け取り、他の承認ノード群へブロードキャスト。

2.リーダノードから受け取ったトランザクションを各ノードが改ざんされていないことを確認し、結果をブロードキャスト。

3.承認ノード群から一定数の「トランザクションが改ざんされていない」という合意形成がとれたら、ブロックチェーンに記録するか判断する。

PBFTでは、処理途中に他のノードとコンセンサスを取りながら検証・了承を進めるため、仮に悪意のあるノードが1/3以下ノード群に存在しても適切な処理を継続することが可能となります。

以下にその他のメリットを記載します。

1.ファイナリティが明確。(ビットコインはブロック記録時点では完了状態が確率的であり、再度1時間かけて承認処理が必要となります。)

2.マイニング参加権取得時のみPoWが必要とされビットコインのようにブロックごとにPoWを必要としない。結果としてマイナーにとってエネルギー負担が少ない。

3.ノード群全てにインセンティブが支払われるためインセンティブが安定します。

データフロースマートコントラクト

イーサリアムではスマートコントラクト言語としてSOLIDITYを使用しますが、Zilliqaでは独自の言語SCILLAを利用してスマートコントラクトを実行します。

特徴としてデータフロースマートコントラクトと呼ばれるスマートコントラクトを複数同時に命令し、処理することが可能となっています。

Zilliqaは一定のニーズを満たすブロックチェーン

以上、Zilliqaについてお届けしました。

DAppsの開発数からしてZilliqaがイーサリアムから主導権を奪うのは難しいかもしれませんが、それでも使い勝手の良さやスケーラビリティを考慮すると一定のニーズを持った開発者に支持されると思います。

メインネットローンチが待ち遠しいですね。

Bitcoinを投げ銭する