目次

    全ての目次を見る
  1. Zilliqa(ジリカ/ZIL)のプロジェクト概要の紹介
  2. Zilliqa(ジリカ/ZIL)の特徴、シャーディング(Sharding)とは何か?
  3. Zilliqa(ジリカ/ZIL)のコンセンサスアルゴリズムの概要
  4. Zilliqa(ジリカ/ZIL)の最近の動向
  5. Zilliqa(ジリカ/ZIL)まとめ
Large zilliqa logo zil nr6s5qtqfrigu0d8s5vdivrobyn482x1x4etfuwb0w

この記事では、世界的最大級の取引所であるBinanceへの上場や、イーサリアム上のブロックチェーンゲームとして有名なイーサエモンとの提携発表などで話題となったZilliqa(ジリカ/ZIL)についてCryptoeconomicslab監修の元、CryptoAge宮本明佳氏、CryptoAge渡辺創太氏にて記事執筆いただきました。

Zilliqa(ジリカ/ZIL)とは、シンガポール国立大学の研究者によって立ち上げられたトークンおよびその一連のプロジェクトです。

シンガポールで最も大きいプロジェクトの1つになっています。

Zilliqa(ジリカ/ZIL)は将来的に仮想通貨を様々な用途で使用されるであろうことを踏まえて、シャーディング(Sharding)という並列処理技術を用いることで従来の仮想通貨に比べて圧倒的に処理速度を高め、より実用的な通貨となることを目指しています。

また、その他にもコンセンサスアルゴリズムとしてpBFTを導入しており、

  • ファイナリティ(追加されたブロックの確定)がある
  • スループット(一定時間あたりのデータ処理能力)が高い
  • コアノードと呼ばれる特定の管理者が存在する
    ※Zilliqaの場合、特定の管理者の入れ替えがあり、比較的分散性を持たせることも意識された設計になっている

などといった特徴も持っています。

今回の記事では、Zilliqaのコア技術であるシャーディングについて説明したのち、コンセンサスアルゴリズムpBFTについて詳しく説明していきます。

仮想通貨Zilliqa(ジリカ/ZIL)の基本情報

独自通貨 ZIL
コンセンサスアルゴリズム pBFT
(Practical Byzantine Fault Tolerance)
発行上限 126億ZIL
発行日 2018年1月25日
※2018年1月4日に終了したICOにより、2,200万ドルを調達
公式サイト Zilliqa(ジリカ)の公式サイト
ホワイトペーパー Zilliqa(ジリカ)のホワイトペーパー

Zilliqaにはシャーディングと呼ばれる技術が使用されています。

シャーディングとは一つネットワークをシャード(Shard)と呼ばれる小さなグループに分割することで、処理能力を高くする手法です。

このシャーディングによって、Zilliqaはトランザクションを高速で処理することが可能になっているのです。

例えば、1000回のトランザクションが作成された場合、ネットワークを構成しているノード数が100であれば、100のノードはそれぞれ1000回のトランザクションを検証することとなります。

しかし、シャーディングの場合、この検証作業を役割分担することにによって検証を効率化します。

例えば、100のノードを20の5グループに分ける場合、1ノードの検証数は200(1000/5)となります。

仮想通貨を現実世界で決済手段として普及させるためには、必ず仮想通貨の時間あたりの処理速度を上げる必要があります。

しかし、最もポピュラーな仮想通貨であるビットコインは1秒間に約7件のトランザクションしか処理を行うことができず、ビットコインに代わるプラットフォーム通貨として注目されているイーサリアムでも、1秒間に最高で15件程度のトランザクションしか処理することができません。

この処理数の少なさは、現実世界で最もキャッシュレス決済の手段として普及しているクレジットカードと比較すると一目瞭然です。

例えばVISAは1秒間に1億5000万件以上のトランザクションを処理することができますし、中国の決済手段として最も有名なスマホ決済手段の一つであるAlipayもピーク時の1秒間の決済回数は12万件となっており、現在のビットコインやイーサリアムとの差は歴然です。

ビットコインを例にとって説明をすると、処理速度が遅い主な理由としては、セキュリティを担保するための設計と、処理キャパシティを超えるトランザクション量の発生があげられます。

【セキュリティを担保するための設計】

  • トランザクションの改ざんを困難にするために、10分程度かかる複雑な計算をさせる仕様になっている
  • 1ブロックに格納できるトランザクション量が決まっている
    ビットコインのブロックサイズは1MB

ビットコインの場合、コンセンサスアルゴリズムとしてPoWを導入しており、10分程度がかかる複雑な計算を解いたマイナーにブロックの追加権利が与えられます。

つまり、トランザクションを改ざんしようとする悪意のある人は、誰よりも早く計算を解くために、高速に計算ができる端末を大量に用意をし、それらに計算をさせるための多額な電気代を必要とされます。(※1)

つまり、こうした複雑な計算をあえて課すことで、改ざんをするハードルを引き上げてセキュリティを保っているのです。

また、ブロックサイズが1MBの理由としては、ブロックサイズが大きい場合、悪意のある人が少額のトランザクションを大量に送信することで、ブロック内を悪意あるトランザクションで埋めてしまうといった攻撃を避けることにあります。

上記のように、トランザクションの改ざんに対しての強い耐性を保つために、そもそも処理速度が一定かかる仕様となっています。

さらには、その仕様のキャパシティを超えるようなトランザクション量が発生した場合、キャパシティを超える分のトランザクションに関しては、ブロック追加待ちのステータスとなるため、処理されるまでにさらに時間がかかります。

このような問題のことをスケーラビリティ問題と呼びます。

(※1)実際に改ざんを成功させるためには、ビットコインの全てのマイナーの計算力の合計値の少なくとも33%以上のハッシュレートが必要と言われており、現在のハッシュレートを例にとると、マイニングプール大手である、BTC.comとAntPoolのハッシュレートの合計分程度を集める必要があります。

参考:Blockchain.com ハッシュレート分布

Zilliqaがその解決方法の一つとしてZilliqaが注目したのが、「シャーディング(Sharding)」です。

シャーディングとは上述したとおり、各ノードが全ての検証を行うのではなく全ノードをいくつかのグループに分割し、検証作業を各グループごとに並列して行う技術です。

これによって膨大な計算処理の量を複数のグループに分かれたノードが並列処理することになり、処理速度を大幅に上げることが可能です。

しかし、Zilliqaはシャーディングを導入しただけではありません。

Zilliqaはネットワークに参加するノードを

  1. 無作為に、つまりランダムにグルーピングする
  2. 1つのShard(シャード)を構成するノードを600~1000に限定する

ことで、より高いセキュリティを実現しています。  

特にグルーピングされたshard内において悪意のあるノードが3分の1を占めた場合、そのトランザクションを停止させることができ、3分の2を占めた場合には、そのShardを乗っ取ることが可能になってしまいます。

しかしランダムにノードがShardにグルーピングされれば、この危険性を減らすことができます。

また、1つのShard内のノードが少なすぎると悪意のあるノードがShard内を占有する危険性が高まります。

具体的には、全ノードの1/4が悪意のあるノードの時に、

  • Shardサイズが100であった場合
    悪意あるノードがShardの3分の1をしめる割合が10%
  • Shardサイズが200であった場合
    悪意あるノードがShardの3分の1をしめる割合が1%
  • Shardサイズが600であった場合
    悪意あるノードがShardの3分の1をしめる割合が0.000001%

となります。(下図参照)

このように各ノードをShardサイズを限定してグルーピングすることで高セキュリティと高速処理を両立させているのが、Zilliqaの特徴です。

ZilliqaはコンセンサスアルゴリズムにpBFT(Practical Byzantine Fault Tolerance)を使っています。

pBFTはコアノードと呼ばれるノードにブロックの生成権限を集中させ、コアノードの合議によってトランザクションを承認する仕組みです。

主な特徴としては以下の3点が挙げられます。

  1. ファイナリティ(追加されたブロックの確定)がある
  2. スループット(一定時間あたりのデータ処理能力)が高い
  3. コアノードと呼ばれる特定の管理者が存在する(※Zilliqaの場合入れ替えあり)

pBFTはPoWやPoSなどのコンセンサスアルゴリズムと違い、特定の管理者(コアノード)を必要とします。

ビットコインのPoWにおいては、追加されたブロックの確定(ファイナリティ)がされることなく、時間の経過とともにその時点のブロック(ブロックチェーンに記載する取引データの合意)が覆る確率が0へ収束する設計になっているため、あくまでも確率的なファイナリティがある設計と言えます。

そのため、取引が取り消される可能性は、どれだけ時間が経過してもゼロになることはありません。

しかしpBFTの場合、コアノードによって一定のタイミングで1つのブロックが承認・追加されるため、ブロックチェーンが分岐することはなく、またファイナリティがあるため追加されたブロックが覆ることはありません。

さらに、pBFTではコアノードを一定信頼を置ける存在として考えているため、PoWなどで求められる複雑な計算作業(マイニング)を必要としないため、比較的高速なトランザクションの承認処理が可能であり、優れたスループットを実現できます。

同時に、コンセンサスアルゴリズムではなくアイデンティティの確立にPoWを使用しています。

これは、ネットワークにある程度の計算能力を提供していることを証明させることによってシビル攻撃を防ぐという狙いがあります。
※こちらに関しては、詳しくは次回の記事「ブロックチェーンの攻撃方法」で説明します

また、シビル攻撃を防ぐという点で、各ノードが自分のアイデンティティを証明するために、グループの中で、他のノードに対してメッセージを送る必要があります。

これによって膨大なメッセージ量が発生するというコストが生じます。

Zilliqaはこの問題をシェノア署名を使うことによって解決しています。
※こちらに関しても、詳しくは次回の記事「ブロックチェーンで使われている署名」で説明します。

Zilliqaは2018年の4月にコードネームRed Prawnをテストネットにリリースしました。

主な特徴は以下のようになっています。

  • 内部での実験では秒間トランザクション数2000〜3000ノードで2000〜3000回を記録
  • 今回のアップデートにより、ユーザーはZilliqaのweb walletを通してトランザクションを送信することができるように
  • block explorerを通してトランザクションのステータスなどを確認することができるようになった

Walletとexplorerの使い方に関しては以下のチュートリアルビデオも紹介されています。

Zilliqa Testnet V1 0

一方で、

  • 自分のノードでテストネットに接続すること
  • スマートコントラクトを行うこと
  • マイニングを行うこと
  • トランザクションのバリデーションを行うこと

などは、現時点ではすることはできず、今後のアップデートで可能になるようです。

イーサリアム上で構築したブロックチェーンゲームであるイーサエモンもまた、スケーラビリティ問題に直面しており、一時期ガス価格が最大100Gweiに達する場面があり、トランザクション費用が100倍に跳ね上がることもありました。

そこでイーサエモンは、短期的なアプローチとしては、一部ゲーム機能をオフチェーンにて実装、長期的な解決策として、Zilliqaチームと提携して解決を目指していくことを公表しています。

Long-term solution, we are glad to announce that we will work with the Zilliqa team to explore Zilliqa as a scalability solution for Etheremon. The higher throughput and low gas of Zilliqa’s sharding solution offer players better experience.

Etheremon Approach to the Scalability Issue and Game UI Updates

詳細はまだアナウンスされていませんが、低いgasで高いスループットを実現するZilliqaのシャーディング技術がよりイーサエモンのユーザー体験をよくするものと考えてるとの記載がありました。

Zilliqa CEO はシンガポール国立大学のコンピューターサイエンスで博士号をもっており、前職でシンガポール国家サイバーセキュリティ部門の様々なプロジェクトに関わっていたので政府とのコネクションも豊富です。

また、Zilliqaは、Polychain capital、NEO global capitalを始めとする著名VCから資金を調達しています。

スケーラビリティの問題はブロックチェーンの極めて深刻な問題でありながらも、ZilliqaのソリューションがNode数を増やしながらも確実に秒間トランザクションパフォーマンスが上がっているといった点で非常に有望なプロジェクトであると思います。

2018年度中にメインネットのリリースも控えており、また、Zilliqaのための開発ツールやライブラリ、Dappsの開発を支援するZilliqa Ecosystem Grant Programmeなども始動していくことからも、さらなる進展に期待ができます。

Zilliqaの最新情報をキャッチアップしたいという方は、是非以下からZilliqa公式の情報をフォローしてください

ZilliqaのTwitter
ZilliqaのBlog
ZilliqaのSlack
ZilliqaのGitter
ZilliqaのReddit