『マスタリング・イーサリアム』の翻訳に参加しました。

EOSのシステムを俯瞰して理解する

プロジェクト紹介

プラットフォームとしてのEOS

EOSは「Ethereum Killer」と呼ばれることもあるプラットフォームです。なので、最初のイメージとして「Ethereumっぽいもの」をイメージすれば良いでしょう。本記事ではEthereumとの差異を確認していき、EOSのシステムを概観していきます。

この記事を読み終わる頃に、「EOSとEtheruemの違いが、アルゴリズムや手数料体系の観点から何となくは理解できた」という状態になることを目指します。

EOSは1年間にわたってICOによる資金調達を行い、日本円にして約4000億円を調達しました。

EOS登場初期はスキャム疑惑があったり、DPoSへの拒絶反応があったりして、あまりポジティブには見られていませんでしたが、巨額の資金調達と、その資金力を武器にしたエコシステムの形成、分散性を犠牲にしたスケーラビリティの追求、Ethereumにおけるスケーラビリティ技術開発の停滞などを背景に、最近になってEOSへの注目度が上がって来ています。

本記事では、一部の情報を理解してだけでは概観しづらいEOSの仕組みを俯瞰していきます。

創業者と開発会社

EOSはBlock.oneによって開発されるブロックチェーンソフトウェアで、中心人物はDaniel Larimerです。Daniel LarimerはBitSharesやSteemitの開発を行ったシリアルアントレプレナーです。

動いているプロダクトを作ったという意味で実績があると言えるでしょう。

Daniel Larimer氏自身の知名度は日本では高くないと思いますので、以下に彼が話している動画を添付します。DPoS+BFTの仕組みを解説しています。Part2もありますので興味があれば是非ご覧下さい。

EOS: Explanation of DPoS+BFT w/ Daniel Larimer – Part 1 of 2

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

分散性を犠牲にしたDPoSでスケーラビリティを追求

分散性

DPoS(Delegated Proof of Stake)は、トークンホルダーの投票によってブロック生成者が決定される仕組みです。EOSの場合、21人のブロック生成者が選ばれ、彼らがブロックを生成していきます(永久に同じ21人で固定ではありません)。

EOSのにおけるブロック生成は126ブロック(21人の生成者×各人6ブロック)が1ラウンドで、21人のブロック生成者は15人のブロック生成者の同意によって選定されます。15/21=71.4%で、14/21=66.7%であることに注目して下さい。

※参考
Documentation/TechnicalWhitePaper.md at master · EOSIO/Documentation · GitHub

PoWとPoSの比較は以下の記事をご覧下さい。

【比較アルゴリズム論】PoWとPoSの違い -ブロック生成者編-
本シリーズではPoWとPoSの比較を通じて、コンセンサスアルゴリズムについて考察していきたいと思います。本記事では第一弾としてブロック生成を担うマイナーとバリデーターに焦点をあてて二つのコンセンサスアルゴリズムを比較してみます。特に言及がな...

スケーラビリティ

こちらのエクスプローラーを見るとTPSは3996になっています。ビットコインのTPSが7、EthereumのTPSが15くらいなので、これは非常に大きな数字に見えます。

ただし、この差異はコンセンサスアルゴリズムの違い(Nakamoto consensus型のPoWとPoS)によるものであり、EOSがビットコインやEthereumの上位互換なわけではありません。

これは優劣の問題ではなく、単に共通部分はあるものの片方がもう片方の部分集合ではないというだけの話です。そして共通していない部分が、企業の選好やトークンの性質に差異を与えます。

この辺りはビットコインのスケーラビリティ論争と同じような話です。

ビットコインのスケーラビリティ問題と派閥を生む3つの変数
ビットコインが解決すべき課題として毎日のように目にするスケーラビリティ(Scalability)という単語ですが、「そもそもスケーラビリティって何?」という疑問を持っている方も多いのではないでしょうか。ビットコインのスケーラビリティ問題はス...

投票者とブロック生成者の偏り

ブロック生成者

以下のグラフをご覧下さい。ブロック生成者(※以下BP)のリストと、彼らに誰が投票を行ったかを示しています。

同じ色は同じアカウントを示しています。例えば黒は以下に表示されているBP全員に投票していることが分かります。色に着目すれば明らかなように、一部のアカウントがキャスティングボートを握っていることが分かります。

シャープレイ値を計算すれば興味深い結果になりそうです(詳しい方お願いします笑)。

EOSでは複数のBPに投票することが可能なので、二重投票のペナルティはありません。

eosBP

EOS Voting Charts

ちなみに上位BPは暗号通貨界隈でも有名なプロジェクトや取引所が運営していることが多いです。

1位 eoshuobipool→HUOBI

2位 zbeosbp11111→ZB.com

9位 bitfinexeos1→Bitfinex

34位 eosliquideos→Bancor

EOS Block Explorer | Bloks.io

ホルダーの偏り

ホルダーも偏っていて、一部の大口ホルダーが大きな影響力を持っています。

Top Holders Chart | Bloks.io

※トップホルダーに偏りがあるのはEOSに限ったことではないので、この指摘自体にEOSのみを批判する意図はありません。世の中は寡占状態になってしまうものです。

Block producer(ブロック生成者)

ブロック生成者の報酬

こちらのサイトのBPリスト右側に記載されている報酬を参考にすると、トップBPの一ヶ月あたりの報酬は日本円にして1571.46935万円です。

※876.9369EOS per day×30 Days×5.33USD/EOS in JPY = 1571.46935万円

報酬の体系は以下のようになっています。

EOSのインフレーションレートは5%に設定されており、BPは1%のリワードを得る仕組みになっています。

Introducing EOSIO Dawn 4.0 – eosio – Medium

BPに配られる1%が更に分裂して0.25%と0.75%になっていますが、前者はTop21のBPに配られ、後者はTop21のBPを含む全てのBP候補者に獲得した票数に応じて分配されることになっています。候補者にも報酬を配るのは、BPは固定メンバーで運営されるのではなく、流動性のある仕組みであり、21人以外の「BPとしていつでも活動できるメンバー」を確保しておくためです。

ブロック生成者になる方法

月に1500万円貰えるなら我々もBPになり、ノードに養ってもらいたくなります。

BP候補者のための情報をEOSGOがまとめてくれています。以下はBPになるために公開すべき情報の一覧です。

  1. Public presense
    ウェブサイトのURLなど。
  2. ID on steemit
    Steemに書き込まれた情報(BP候補者の名前、組織のHQの場所、サーバーの場所、従業員の情報など)
  3. Tech spec
    使用するマシンのスペック
  4. Scaling plan
    ハードウェアの拡充計画書
  5. Community benefit
    コミュニティへ提供する利益
  6. Telegram + Testnet
    テレグラムの情報とテストネットノードの情報
  7. Roadmap
    財政、透明性、プロジェクト
  8. Dividend position
    投票者への利益分配について(つまり票の買収)

EOS Block Producer Candidate Report #10 – May 30, 2018 — Steemit

これらの項目を満たしているか否かがチェックされ、トークンホルダーはウォレット等のツールやハイスペックサーバーの提供などでEOSのエコシステムに貢献するであろう候補者や投票者への利益分配を約束する候補者に投票します。

使用するマシンのスペック

サーバーのスペックが気になるので、Bitfinexが公開している情報を見てみましょう。

To proceed, Bitfinex will make use of 2 servers (1 for backup) with the following specifications:

  • HP DL360 Gen 10 server.
  • x CPU Intel 8180M x 2 processor 28 cores and 56 threads per CPU (total 56 Cores and 112 threads)
  • x Memory 1.5tb DDR4–2666mhz
  • x Disc 8 x 800GB SAS 12GB in Raid 6 configuration
  • x Dual power supply 800 watt
  • x 10GB/25GB PCI fibre network card
  • x 24–7/4hr HP 365 Care Pack (for 3 years)

Our cabinets are video and movement monitored with 24/7, military grade datacenter security. We estimate that each server will cost 45k USD for the hardware + 1.5k USD/month for cabinet and bandwidth.

Bitfinex | EOS Block Producer Candidate – Bitfinex – Medium

EOSにおける資源

RAM

EOSと交換で得られるEOSネットワークのストレージです。

RAMはEOSに戻すことも可能ですが、RAM/EOSの価格変動のリスクを追うことになります。

RAMはEOS上でアプリケーションを運営するために重要となり、且つトレーディング可能な資源なので、「価格が上下するSomething」の例に漏れず投機の玩具と化していましたが、最近は落ち着いているようです。

eosram

0.09715433 – FeeXplorer – EOS RAM Price trading platform

EOSとRAMの交換はBancorを介して行われます。

上のチャートを見るとボラティリティが非常に高いことが分かりますが、これは投機の対象になっただけでなく、スマートトークンの固定準備率が低かったせいではないかと推測します。7月4日に書かれたこの記事では以下の通りBancorのスマートトークンのWeightを50%ではなく0.05%にしてしまった旨が書かれています。

Due to an unintentional configuration of the Bancor Relay weights on the EOS blockchain, this parameter is set at .05% rather than 50%. This introduces some heavy slippage for buying and selling large quantities and causes more volatility than desired.

EOSIO RAM Market & Bancor Algorithm

厳密にはBancor Protocolによって生成されたスマートトークンの固定準備率(Weight)が低かったとしてもアービトラージを可能にする外部市場さえあれば、ボラティリティの上昇を抑えられるはずですが、EOS/RAMのように外部市場がないペアの取引だとこの仕組みは成り立たないように思います。

CPU bandwidth/Network bandwidth

EOSをステイクすることで得られる計算資源です。

自分が使用できるNetworkやCPUの量は3日間の使用量で測られるので、使用しなければゼロに戻っていきます。

Network BandwidthはByte単位、CPU Bandwidthはマイクロ秒単位で図られます。

EOSをロックしなければならないので、EOS/BTC, EOS/FIATの価格変動リスクを追うことになります。

NetworkやCPUを使うことによって、EOSそのものが減少することはありません。

手数料無料は本当か?

「EOSは手数料無料」と言われることがあります。これはEOSのWPにも記載されています。

EOSはブロックチェーンが満たす条件として「数百万のユーザーをサポートできること」、「無料で使用できること」、「容易にアップグレードでき、バグを修正できること」などを掲げています。

それぞれの課題に対してEOSではDPoS、インフレ設計、オンチェーンガバナンスで対応しています。

インフレ設計

EOSは手数料無料を謳っていますが、実際には誰かがどこかでコストを負担しているはずです。

GoogleやFacebookは無料で使えますが、実際にはユーザーは個人データを提供しており、そのデータの取得するコストと利用による収益が利幅になっています。

贈与論 他二篇 (岩波文庫)
マルセル・モース
岩波書店
売り上げランキング: 54,813

先述の通りEOSはインフレ設計になっており、生み出されたEOSはBPに配られます。ブロック報酬として生成されたEOSはFungibleであるため、既存のEOSと区別されるわけではありません。また、何らかの「対チェーン外でも通用する価値」がネットワーク内で生み出され、その価値がEOSトークンとして表現されているわけでもありません。

ということは純粋に既存のEOSトークンの価値の希釈によってEOSの発行数が増えていると考えることが可能です。

  1. ユーザーはEOSネットワークを使用して、EOSを送ったり、アクションを起こしたりします。
  2. ネットワークはBPによって保全されます。
  3. BPはブロック報酬を手にして、ブロック報酬からコストを差し引いたものが利益となります。
  4. 湧き出たEOSは既存EOSトークンの価値の希釈を引き起こします。
  5. 価値を希釈されたトークンの保有者の資産は目減りしていることになります。

CPU bandwidth/Network bandwidthを獲得するためには、EOSトークンをステイクしなければならないのでした。ということは、まずdAppsを動かすためにEOSをステイクしているdApps運営者の資産が希釈されます(※もちろん投機需要やユーティリティの向上などの別の要因によってトークンの価格が上昇する可能性はあります)。

その他のトークンホルダーには投資家が挙げられます。

極めて好意的に見れば、ただホールドしているだけでトークンの価値上昇を望むのは最適解ではなく、トークンホルダーは積極的にエコシステムに貢献して、自身が持つトークンの価値を引き上げるインセンティブがあるとも言えるでしょう。

そして、現在の時価総額の1%弱(インフレ後)がBPに分配されるということは、EOSの時価総額がBPの損益分岐点を決定し、BPの設備投資額を間接的に決定することを意味します。

アカウントの作成方法とウォレット

EOSのアカウントの作成方法はいくつかありますが、ここでは多少の手数料(2USD程度)がかかるものの、手軽にアカウントを作る方法を紹介します。

※EOSのアカウントは作成にRAMを消費するため、ビットコインやEthereumと違って、無料でアカウント(≒アドレス)を取得することはできません。キャンペーンでアカウント作成費を負担してくれるプロジェクトもありますが、そのようなキャンペーンを探す時間と条件を満たすための手間を考えると2USD払う方が良いと判断しました。

鍵の生成

ScatterというEOSで広く使われているMetaMask的なエクステンションで鍵を2ペア生成します。

Chrome ウェブストア – 拡張機能

※MetaMaskとは違いScatterのみでEOSアカウントを生成することは(現時点では)できません。

アカウントの取得

ZEOSという外部サービスを使って、アカウントを取得します。2USDほどかかります。BTC, ETH, BCHで支払えます。

ZEOS – create your EOS account using ETH, BTC, or BCH

EOSでは12文字の文字列をアカウント名として使用するため、ビットコインやEthereumで使われているランダムな文字列とは形式が異なります。EthereumにおけるENSのような仕組みです。

以下は私がテスト用に作ったアカウントです。

Account | Bloks.io

このアカウントがどのBPに投票したかも全て記録されています。

ウォレット

BPでもあるGreymassのウォレットを使いましょう。他のウォレットも使いましたが、これが良いです。

GitHub – greymass/eos-voter: Simple light wallet and block producer voting tool for the EOS blockchain

ダウンロードして指示に従ってアカウントを設定すると以下の画面が表示されます。上部の「Producer Voting」や「Wallet」を選択すると下部が切り替わり、BPや自身のアカウントの状態(保有しているRAMや獲得したBandwitdhなど)が表示されるようになっています。UIが優れているので直感的に理解できると思います。

eoswallet2

トランザクションの生成にはCPUとNetが必要なので、しばらくステイクして待機する必要があります。

まとめ

EOSのエコシステムについては私自身も未調査な領域も多く、特に各BPのインセンティブや損益分岐点、理念や狙い、人材などは掴めていませんので、今後調査していきます。

ただし、流動的な部分ではなく、EOSのコンセンサスアルゴリズムやインセンティブモデル、手数料体系などの核の部分はある程度理解できたのではないでしょうか。

手数料無料は誇大広告であり、警戒して情報処理を行う必要がありますが、Ethereumのスケーリングに時間がかかっていることもあり、今後半年~1年くらいはDPoSやPBFTが見直され、部分的に使われていく可能性はあるのではないでしょうか。

現時点で「最終的にEthereumとEOSのどちらが生き残るか?」については何も言えません。そもそも全く新しいプロジェクトがより公平なトークンディストリビューションとよりスケーラブルな仕組みを伴って誕生する可能性もあります。

TokenLabのご紹介

最後に宣伝します。先月26日にCoffee Timesさんと共に「TokenLab」というリサーチ組織でのサービス提供を開始しました。有料会員制のサービスですが、暗号通貨の情報収集に毎日30分以上(≒毎月15時間以上)を費やしている方であれば価値を感じて頂けるとサービスになっていると自負しています。EOSのレポートも多数配信しています。

※TokenLabではEOSを使ったdAppsの開発者やプロトコル研究者からのリサーチレポートも募集しています。詳細はこちら。お気軽にお問い合わせ下さい。

サービス内容についてはこちらをご覧下さい。

一般向けTokenLabについて | TokenLab(トークンラボ)

過去のレポートはこちら。

リサーチレポート一覧 | TokenLab(トークンラボ)

会員の方からの質問への回答やツールやレファレンスの紹介も行っています。

8月、9月は以下のレポートを配信しています。

8月

  • クロスチェーンプロジェクトCosmos(Tendermint)
  • クロスチェーンプロジェクトPolkadotの解説・Cosmosとの比較
  • 0xのエコシステムとリレーヤーの戦略および0x次期バージョン全貌
  • 4000億円を調達したEOSのホワイトペーパーv2を読み流す
  • EOSのブロック報酬周辺のシステムを理解する
  • Custody(預かり)サービスの企業紹介・業界分析
  • セキュリティトークンのメリット
  • Multi-signature + SegWitのビットコインウォレットの設定方法
  • インターコンチネンタル取引所が開始する「Bakkt」の概要と背景知識

9月

  • PoWとPoSを整理する -トークンディストリビューション編 Part1-
  • PoWとPoSを整理する -トークンディストリビューション編 Part2-
  • 2018年7月8月の主要出来事
  • ギャンブル系dApps「Fomo3D」勝者の手法を例にEthereumのトランザクションを学ぶ
  • EOSにおけるRAMの仕組みと問題点
  • Polkadotの土台であるブロックチェーン開発キット「Substrate」とは
  • Ethereum上のトークンの時価総額がETHの時価総額を上回ったときに起こり得る問題
  • チェーン外で消費する財とチェーン内で提供する機能からビットコインの凄さとPoSの難しさを考える
  • 【Why We Need Web 3.0】Ethereum共同創始者Gavin Woodのブログポスト
  • ファイナリティの発想と種類について
  • EOSアカウントの作成方法、各資源の概要と無料トランザクションの欺瞞
  • iExecの目標・ファンダメンタル・仕組み
  • Livepeerから見る 「プロトコルや分散ネットワークへの投資」の今後