æternityのコンセンサスについて

æternityの概要

æternityは2017年5月にEthereum上でICOを行い発行されたERC20トークンです。
日本円で約27億円の資金調達に成功しメインネットローンチを計画しています。

プロジェクトFOUNDERは、Yanislav Malahovという人物で、まだイーサリアムプロジェクトに名前がついていない頃から関わりを持ち、Vitalik Buterinと共に開発をしていたようです。

ゆえにイーサリアムの”God Father”と呼ばれています。æternityの総発行枚数は273,685,830枚(*1)で、執筆時の現在は233,020,472枚と約85.2%が発行済みとなっています。

同プロジェクトは、イーサリアムと比較してもコンセンサス、ステートチャネル、分散化オラクル、ガバンスに大きな特徴を持っており、今回はコンセンサスの部分に注力してお伝えしていきたいと思います。

*1 総発行枚数:CoinMarketCap上の総発行枚数を記載していますが、実際の発行上限枚数は確認中。

イーサリアムとæternityの比較
http://fusanpro.com

コンセンサスアルゴリズム

公式ページに説明書きがあるので引用します。

コンセンサスはProof-of-Work(POW)アルゴリズムとProof-of-Stake(PoS)アルゴリズムの新し混合型アルゴリズムを介して達成されます。“Cuckoo Cycle” PoWは、より優れたランダムアクセスメモリ(DRAM)チップの開発を促進するため、より電力効率がよく、間接的に有用です。最も優れているのは、スマートフォンでも新しいトークンを効率的にマイニングし、比類の無い分散化を達成できる点です。Proof-of-Stakeはオンチェーンの予測市場を介して実装されます。ガバナンスの説明を参照してください。 

ハイブリッド型コンセンサスアルゴリズム

æternityでは、PoWとPoSのハイブリッド型コンセンサスアルゴリズムを採用しています。

ハイブリッド型のコンセンサスアルゴリズムというと、イーサリアムのCasper FFGが有名です。
イーサリアムのCasperは、ブロック生成のコンセンサスにPoWを用いており、ブロック高が100を迎えるたびにチェックポイントが存在しバリデータの投票によってそのチェーンの有効性が決定します。

バリデータとはPoSによる取引承認者でPoWでいうマイナーのような存在です。

æternityも同様のハイブリッド型でブロック生成のコンセンサスにPoWを用い、投票によるガバナンスにPoSを用いています。

æternityのPoWでは、マイニングハードウェアの効率化と分散化のためにCuckoo Cycleハッシュアルゴリズムを採用し、スケーラビリティー向上のためにBitcoin-NGコンセンサスアルゴリズムが採用されています。

Cuckoo Cycle

Cuckoo Cycleハッシュアルゴリズムは、マイニングハードウェアの効率化と分散化を目的としたアルゴリズムだということをお伝えしました。

このアルゴリズムは、ハードウェアアーキテクチャ全体のパフォーマンスの差を最小限に抑えることができ、通常のASICやGPUといったマイニングハードウェアを使用しても費用対効果がでないということを説明しています。

その代わり、多くの人が持っているスマートフォンのようなコモディティハードウェア内のメインメモリー(DRAM)に対応したASICをオープンソース化することで費用対効果の高いものとするような設計になっています。

マイニングによる利益はメモリーのレイテンシに基づきます。

ASICは特定の用途向けに複数の回路を1つにまとめた集積回路の総称で、1990年代後半よりDRAM内蔵も可能となっています。

レイテンシとはデータ転送における指標のひとつで、転送要求を出してから実際にデータが送られてくるまでに生じる、通信の遅延時間のことをいい、DRAMの性能指標をとして用いられている用語をCASレイテンシと言います。

Cuckoo Cycleハッシュアルゴリズムには以下のようなメリットがあります。

  • 電力効率が高い
    ビットコインやライトコインのマイニングで使用されているSHA256やCryptoNightと比較して半分以下の省電力で済むため電力効率を大幅に上げルことができます。
  • ネットワークの分散化
    スマートフォンのようなコモディティハードウェアによるマイニングが実現することで、ネットワークの分散化を測ることができます。(詳細は後述します。)
  • 量子耐性
    量子コンピューターを利用する様々なアルゴリズムが提案されていますが、その中で、量子コンピューターで素因数分解を行うShorアルゴリズムと、探索のためのGroverのアルゴリズムが有名です。
    Cuckoo CycleはGroverアルゴリズムに対する影響を受けません。
  • ASIC耐性
    上述したように、Cuckoo CycleはASICによる耐性がありマイナーの中央集権化を防ぎます。

    ASICの計算量は大きすぎるため、DRAM内で処理することができずボトルネックをメリットに変えた例といえます。
    ASIC耐性があるわけではなく、対応するASICをオープンソース化することで、設計と生産とR&D(研究開発費用)の参入障壁を下げ、長期的なディセントラライズド(分散化)を目的としています。マルフォーイさんふーさんにご指摘頂きました。)

もちろんデメリットも存在します。

  • ブロックヘッダーサイズ問題
    この名前は筆者が独自に名付けています。
    ブロックヘッダーに含めるデータサイズが通常の約3倍となっており、1MBのブロックサイズを圧迫します。
  • it is very slow, taking the better part of a minute on a high end CPU (or GPU, which offer roughly the same speed) to look for a cycle among a billion roads.
    第2のデメリットにこのような記載があったのですが、私には解釈ができませんでした。

Bitcoin-NG

Bitcoin-NGコンセンサスアルゴリズムは、スケーラビリティの代替案を提起したコーネル大学の博士研究員Ittay Eyal氏およびAdem Efe Gencer氏、Emin Gun Sirer氏、Robbert Ban Renesse氏により考案され、スケーラビリティー向上を目的としたアルゴリズムだということをお伝えしました。

ビットコインなどで採用されている中本コンセンサスでは、ブロックの生成のために莫大な計算を費やしてナンスの発見を競い、ナンスを見つけたマイナーがリーダとなり、ブロック生成とブロック報酬を受け取る権利を得ます。

このブロック生成が約10分になるようにディフィカルティーが調整されるのですが、前のブロックの生成が完了するまで新たなブロック生成はできず、オンチェーン状ではスケーラビリティに限界があります。

Bitcoin-NGでは、事前にマイナーが選出され「Key Block」を採掘します。

これはトランザクションを含むMicroBlock(MB)ですぐに満たされ、それ以上の作業証明は必要ありません。
マイナーは次のマイナーが選出されるまでの間、mempoolからMBの採掘権を得ます。

以下に詳細な手順を記載します。

  1. マイナーはKey Block(KB-1)を採掘
    マイナーはCoinbaseトランザクションと公開鍵を含むKey Blockを採掘します。
    次のKey Blockが採掘される(3分毎)までの間、トランザクションのシリアライズを担当します。
  2. Micro Block(MB(1))を採掘
    Key Blockを作成したマイナーは、トランサクションを含む前ブロックのヘッダーハッシュと公開鍵を含む一定のサイズ以下のブロックを10秒毎に採掘します。
  3. マイナーはキーブロック(KB-2)を採掘
    新たなマイナーが選出される。
    新たなに選出されたマイナーは、以前に採掘されたMBに対してProof of Fraud(PoF)を送信することができ、悪意あるフォークや二重払いに対して指定された作業証明が含まれているかどうかを判断します。
    詐欺の報告を受けた以前のマイナーはマイニングによるブロック報酬を受け取ることができません。
    ちなみに詐欺の報告が可能なのは、選出された新たなマイナーのみになります。
    過去のリーダーに悪意がないことを証明することで、1つ前のマイナーと新たなマイナーにブロック報酬が4:6で分配されます。

今回はあくまでコンセンサスの部分のみに焦点をあてているため、Bitcoin-NGのブロック報酬やインセティブ設計に関する詳細は割愛させて頂きます。

詳細を確認したい方はこちらをご覧ください。
Bitcoin-NG for Aeternity
Introduction to æternity’s Bitcoin-NG Implementation

スケーラビリティー

æternityは、上述したBitcoin-NGコンセンサスアルゴリズムによって、毎分6000件で毎秒100件の取引を処理することが可能で、高スケーラビリティを実現しています。

ビットコインは毎秒約3件、イーサリアムは毎秒5件取引を処理しておりことを考えるとその凄さが分かります。

ただし、スケーラビリティが高いというのはあくまでビットコインやイーサリアムと比較した場合の話で、EOSやXRPなどのスケーラビリティに特化したチェーンと比較するとスケーラビリティが高いとは言えません。

EOSやXRPの方が毎秒数千件と比較にならないほど処理性能が高いが、それは分散化を切り捨てているからに他ならなず、æternityはCuckoo Cycleハッシュアルゴリズムで分散化を維持しつつ高スケーラビリティを実現しているのです。

むしろæternityでは、EOSやXRPのような高い処理能力は必要ない設計になっており、オンチェーン上で処理するのは必要な結果のみであり、スマートコントラクトなどの多くの処理はステートチャネルを用いてオフチェーンで処理します。

このように分散性を高めることで課題となるスケーラビリティを、アプローチの転換によって迂回した良い例と言えるでしょう。

もちろんオフチェーン処理にも課題はありますが、今回は割愛させていただきます。

分散性

æternityは、上述したCuckoo Cycleハッシュアルゴリズムによって高い分散性を実現しようとしています。

ビットコインやイーサリアムではASICやGPUといった高価なハードウェアを使用することでコンセンサスを形成し高い分散性を維持しています。
しかし、分散性の維持には高価なハードウェアと豊富な電力が必要で現在はマイナーの集権化(*2)も懸念されています。

さらに性能の良いハードウェアの開発には、それなりのコストやR&Dが必要になります。

また、ブロック生成の監視をしているノードにも性能にばらつきがあり、分散化を図るためにノードが増えすぎると返って性能の高いノードによる集権化がはじまってしまう等の課題もあります。

*2 マイナーの集権化:大手マイニングプール4社(BTC.com、Unknown、AntPool、ViaBTC)が結束するだけで51%攻撃が実現してしまう。https://www.blockchain.com/ja/pools

æternityが採用しているCuckoo Cycleハッシュアルゴリズムは、上述したようにスマートフォン内に含まれるDRAMに対応するASICをオープンソース化して企業の生産コストと参入障壁を下げ、多くの人が持っているスマートフォン内のメインメモリー(DRAM)を用いたPoWマイニングで分散化を図っています。

これは非常に面白いアプローチで、ネットワークへの参入障壁を低減し民主化を可能にすることで小さなネットワークがいくつも立ち上がります。
かつレイテンシーとメモリー容量の制限という一般的なデメリットをあえて考慮することで、ネットワーク参加者のスペックを平均化することができます。

このようにæternityは、ユニークなアプローチで分散性に力を入れていることが分かります。

セキュリティー

æternityのマイナーは、小さな幅広い分散化されたネットワークの中からあらかじめ選出されることで、悪意のあるマイナーが結託してネットワークを攻撃する可能性は低いと考えられます。

仮に悪意あるマイナーが意図的にフォークする場合、Key Block又はMBでフォークが可能です。
前提として、チェーンが分岐してもビットコインと同様に最も長いチェーンに収束します。

通常ブロック生成間隔が短くなるとフォークの速度が早まるのですが、MBはどれだけ分岐しても重みはなくチェーンのreorg(再編成)は発生しません。

また、これを防止するためにProof of FraudtPoFという方法を用いていますが、いくつかの疑問が生じます。

例えば、新たなマイナーがPoFの送信で悪意のあるブロックを見つけた場合、前ブロックのマイナーはブロック報酬を得ることができませんが、これを負のインセティブとして捉えるにはあまりにも軽罰です。
ビットコインやイーサリアムの場合、ネットワークへの攻撃の負のインセティブとして多大な電力を消費します。

さらに、ネットワークへの攻撃が低消費電力のスマートフォンで可能となれば、それだけリスクも高まるでしょう。

この辺りも含めてカバーされている方がみえましたら、ご教授よろしくお願い致します。

現段階のセキュリティ性能の評価はできませんが、æternityの分散化を最大化するためのアプローチが、新たなセキュリティ的欠陥があるのではないかと感じてしまう状態です。

もし、そのような欠陥がなく中本コンセンサスのようなセキュリティ的強さがあるのであれば、æternityは非常に面白いプロジェクトだと素直に言えます。

次回æternityについての記事は、トークン設計とインセティブ設計について執筆致します。

Reference

CoinPicks Lab内では以上のテーマでもう一歩踏み込んで解説しております。
もっと知識を深めたい方はLabでお待ちしています。
CoinPicks Labとは? | CoinPicks|仮想通貨の価値を伝える


関連記事

  1. ZILLIQA – ネットワークシャーディング –

  2. ZILLIQA – コンセンサスプロトコル –

  3. ZILLIQA – コミュニケーションコスト –

今井 涼二

今井 涼二

2015年より暗号通貨を追及中。2018年からは大麻産業の動向も同時に追いかけています。CoinPicksでは「仮想通貨の価値」をテーマに一歩踏み込んだ情報を配信していきたいと思います。

パーソナルリンク

プロフィールを表示 →

仮想通貨の質問箱 – LINE ver

新着記事

人気記事

PAGE TOP