Tech

Ethereum のGhostプロトコルまとめ

  • このエントリーをはてなブックマークに追加

Ethereum の GHOST(Greedy Heaviest Observed Subtree) プロトコルのまとめ
いつの間にかホワイトペーパーの説明が変更されていたので、アップデート(2017/03/21)

前提知識

  • Bitcoin (Proof of Work, orphan block, コインベース, メインチェーンの選択方法)
  • Ethereumの基礎知識 (Uncle)

まとめ

  • Ghostプロトコルは、元々2013年に発表された論文が起源
  • Ethereumで利用されているのは、上記論文を修正した機能限定版Ghostプロトコル
  • Bitcoinは、一番長いチェーンがメインチェーン。Ethereumは、一番重い(heaviest)チェーン。
  • 基礎知識: 早いブロック時間は、より多くのオーファンブロックを作成する(より無駄なコストが発生する)
  • オーファン(Uncle)ブロックにも報酬を与える (マイナーが、unclesを含めるインセンティブができる)
  • 2つの問題を解決している
    • 一つ目の問題: 高いステイル率(早い承認)だとセキュリティが下がる問題
      • 解決方法: ステイルブロックをどのチェーンが長いかの計算に含める(Uncleも)
    • 2つ目の問題: マイニングの中央化
      • 解決方法: ブロック報酬をステイルブロックにも与える

ホワイトペーパーからの翻訳

  • ブロックは、親を指定し、0かそれ以上のuncleを指定しなければならない
  • ブロックBに取り込まれたuncleは、以下のプロパティを持たなければならない
    • 2 <= k <= 7となるBのk世代の祖先の直接の子でなければならない
    • Bの祖先であってはならない
    • Uncleは、有効なブロックヘッダーでないといけないが、以前に検証か、有効とされる必要はない
    • uncleは、前のブロックに取り込まれた全てのuncleや、同じブロックに含まれた全てのuncle(non-double-inclusion)とは、別でないといけない
  • ブロックBに含まれた全てのuncle Uは、Bのマイナーが追加の3.125%の報酬をそのコインベース報酬に追加し、そして、Uのマイナーは、標準コインベース報酬の93.75%を得る。

翻訳元: White Paper · ethereum/wiki Wiki

おすすめ記事

Ghostの論文

Yonatan Sompolinsky氏とAviv Zohar氏に2013年に発表された論文

Accelerating Bitcoin’s Transaction Processing
Fast Money Grows on Trees, Not Chains
http://www.cs.huji.ac.il/~avivz/pubs/13/btc_scalability_full.pdf

Uncleのインセンティブにのデザインについて

Design Rationale · ethereum/wiki Wiki

参考

用語

  • Ethereum、イーサリアム、エセリウム
  • PoW, Proof of Work
  • Ghost protocol, ゴースト・プロトコル
  • Stale block, ステイル・ブロック
  • Uncle, アンクル
  • ommer
  • このエントリーをはてなブックマークに追加