そもそもEOSとは? 基礎に立ち返って考えるEOSブロックチェーン仕組み

そもそもEOSとは? 基礎に立ち返って考えるEOSブロックチェーン仕組み

Tsuyoshi Kaji / 編集長
Tsuyoshi Kaji / 編集長
2018/11/20

EOSはイーサリアムなどのような分散型アプリケーションのプラットフォームです。Block.oneという企業によって開発されており、SteemitやBitSharesを開発したDaniel LarimerがCTOを務めています。

2017年にICOを開始し、ICOによって最も巨額な資金を調達したプロジェクトの一つです。2018年6月のメインネットローンチ以降、急速なエコシステムの成長を続けています。

今回はEOS解説の第一弾として特徴や仕組みなどをざっくりと解説していきます。

特徴

EOSのプロトコルは以下の特徴を持っています。

それでは詳しく説明していきます。

  • トランザクションが速い

EOSはホワイトペーパーにおいてブロックタイムが0.5秒であり、1秒につき数百万のトランザクションを処理することができるとの記述があります。ビットコインが1秒につき5から7トランザクションイーサリアムが約15トランザクションであるのに対し、非常に高い処理能力を持っていると言えます。この高い処理能力は後述するBFT-DPoSというビットコインイーサリアムとは異なるコンセンサスアルゴリズムによって実現されています。

  • スケーラブル

前述のBFT-DPoSというコンセンサスアルゴリズムによるトランザクションの速さと並行処理・非同期通信によって高いスケーラビリティを実現しています。これは、オンチェーンでのスケーリングであり、ビットコインなどで試みられているオフチェーンスケーリングとは異なります。

  • 手数料が無料

ビットコインイーサリアムは送金やスマートコントラクトの実行の度に手数料を支払う必要があるのに対し、EOS上のアプリケーションを利用する際にユーザーは手数料を支払う必要がありません。実際にはEOSアカウントを開設する際に少額のトークンをデポジットする必要がありますが、無料でアカウント開設をすることのできるサービスなども存在します。EOSでは、ユーザーの代わりに開発者が手数料を負担していますが、詳細は後ほどリソースシステムの項目で説明します。

BFT-DPoSコンセンサスアルゴリズム

前述のようにEOSではBFT-DPoSというコンセンサスアルゴリズムが採用されています。

BFT-DPoSはByzantine Fault Tolerant – Delegated Proof of Stake の略です。

これはトークンをステーク (ロックアップ) することによりブロックの生成に参加するPoS (プルーフオブステーク) というコンセンサスアルゴリズムを応用したもので、トークンをステークすることによってノードに投票することができ、より多くの投票を集めた21のノードがBlock Producerとして代表してブロックの検証を行い、生成します。この投票によって選ばれ、Block Producerとなったノードはブロックリワードという報酬を受け取ることができます。この報酬はEOSが年間5%インフレする内の0.25%となっていますが、詳しくは次回の記事で解説します。

EOSのステークホルダーからの投票を獲得し、Block Producerに選出されるためにBlock Producer 候補者はサーバーの設備投資やツールなどの開発によるエコシステムへの貢献活動を行います。

このようにEOSは日本の政治のように間接民主制的な仕組みとなっています。

BFT-DPoSは、ブロックを検証するノードの数が少ないという特徴によりトランザクションの速さとスケーラビリティを達成している反面、分散性を犠牲にしています。 ここでの分散性は構造的分散と政治的分散を意味し、共謀体制や攻撃体制を低くしています。(詳しくはこちら) 

リソースシステム

先ほどEOSはユーザーの手数料が無料であり、開発者が手数料を負担していると述べました。この開発者の手数料の仕組みはイーサリアムなどと大きく異なります。

イーサリアムトランザクションの送信、EVMの実行などにかかるコストを合計してガスとして支払うのに対して、EOSの場合、トランザクションの送信・計算コスト・データの保存をそれぞれ別のリソースとしてカウントし、別々に支払います。

 

それぞれのリソースは以下のように定義されています。

  • RAM : EOSチェーン上に保存できるデータ量
  • Network Bandwidth (NET) : 直近72時間でチェーンに送信可能なデータ
  • CPU Bandwidth (CPU) : 直近72時間で使用可能なCPU

そして、NETとCPUはEOSトークンをステークすることによってのみ使用でき (解除することによって返金) で、RAMに関してはEOSでRAMトークンを購入し、購入したRAMトークンをステークすることにより使用することができます。NETとCPUは第三者からの実行が可能であるため、使用していないEOSトークンを他の開発者のリソースのためにステークすることができます。一方RAMは第三者による実行は不可能となっています。

その他の特徴

コントラクトの改変

イーサリアムネットワークでは一度デプロイしたコントラクトは、バグがあったとしても二度と手を加えることができません。例えばThe DAO事件などもこの特性により発生しました。従ってイーサリアムスマートコントラクトはバグが許されず、デプロイのハードルが高くなっています。一方EOSの場合、デプロイ後にもコントラクトの改変が可能であり、コントラクトの停止や修正をすることができます。これはBlock Producerによる意思決定に基づいて開発者が行うことができるものとなっています。

デプロイ後のコントラクトの改変は魅力的である反面、改ざん不可能というブロックチェーンの最も重要ともいえる要素を失っているとの批判もあります。

ユーザーフレンドリー

EOSは以下のような仕組みからユーザーフレンドリーなプロトコルと言われています。

  • アカウントベース

イーサリアムビットコインなどの公開鍵形式のアカウントではなく、任意のアカウント名を持つことができます。

  • 秘密鍵の復旧

EOSでは秘密鍵を紛失した際に、あらかじめ指名したアカウントの署名があれば復旧することができます。

  • 人間にも読めるコード

イーサリアムのコントラクトでは人間の読めないバイナリデータがブロックチェーンに保存されているのに対し、EOSでは人間にも読めるコードでコントラクトがブロックチェーンに保存されるため、後からコントラクトを参照しやすくなっています。

ここまでがEOSの特徴や仕組みの大まかな説明になります。EOSへのイメージは掴むことができたでしょうか。

次回以降はEOSの考えるBlock Producerに関する一歩踏み込んだ解説や、ガバナンスの仕組みやコア仲裁フォーラム、エコシステムの急速な成長の要因となっているEOS VCやWorker Proposal Systemに関する解説を行なっていきます。


参考

LINE@

LINE@で最新情報をチェック!!

Economies 2.0のLINE@を友達に追加して 最新情報を受け取りましょう

LINE@で最新情報を受け取る