【これからイーサリアムを学ぶ人のための教科書#1】イーサリアムブロックチェーンの概観

イーサリアム

【これからイーサリアムを学ぶ人のための教科書#1】イーサリアムブロックチェーンの概観

2019 年 5 月 - 3 min read

概要

  • そもそもブロックチェーンとは
  • この枠組みをイーサリアムに当てはめてみる

先日Devcon4と呼ばれるイーサリアムのディベロッパーカンファレンスがチェコのプラハで開催され、イーサリアムのエコシステムに関する様々なアップデートが発表されました。しかしどれも高度なトピックばかりで、イーサリアムのプロトコルへの本質的な理解なしには概観を掴むことすら難しいものでした。

そこで今回、Economies2.0では今後イーサリアムに関する情報を追っていく上での基礎となる記事を公開することにしました。これから数記事にわたって解説する内容を読めば今後のイーサリアムに関する新しい情報を理解できるようになります。 

また、この記事は技術レベルの話をできるだけ難しい計算や数式を使うことなく説明しますが、技術的に難しいと感じる部分に関しては漠然とした理解でも問題ありません。 

そもそもブロックチェーンとは

イーサリアムのイエローペーパーによるとブロックチェーンの枠組みは以下の3つの要素によって構成されています。

  • 暗号化されてセキュアである
  • 状態がシェアされる
  • トランザクションに関するシングルトンマシン

これだけでは理解しづらいので一つずつ説明します。

  • 暗号化されてセキュアである

複雑で打ち破るこのが困難な暗号化アルゴリズムによってデータが暗号化されているため安全性が保たれている。

  • 状態がシェアされる

マシンが持っている状態がシェアされ、全ての人に公開される。

  • トランザクションに関するシングルトンマシン

システム上で作られるトランザクションが基準とするマシンの単一な正しい状態が存在する。つまり、全ノードが合意するグローバルな一つの解がある。

この枠組みをイーサリアムに当てはめてみる

イーサリアムブロックチェーンは簡潔にトランザクションベースのステートマシンだということができます。ステートマシンとはコンピューターサイエンスで「インプットを読み取り、そのインプットによって次の状態 (ステート) が決まるモデルの機械」のことを指します。

イーサリアムのステートマシンは「ジェネシスステート」と呼ばれるネットワークが開始する前の空白の状態から始まります。イーサリアムネットワーク上でトランザクションが実行されると、ジェネシスステートは次の状態 (ステート) へと移行し、これがずっと続いて現在のイーサリアムの状態となっています。 

イーサリアムのステートは数多くのトランザクション情報を保持しています。このトランザクション情報はグループ化され、ブロックを作ります。各ブロックは一連のトランザション情報を保持しており、チェーンのように一つ前のブロックと繋がっていきます。

イーサリアムのステートが次のステートへと移行するためにはトランザクション情報が有効である必要があります。トランザクションは「マイニング」というプロセスを通してのみ有効化されます。この「マイニング」を通して有効化されたトランザクションは、ブロックに組み込まれていきます。

ノードと呼ばれる全てのコンピューターがこのプロセスに参加することができ、ノードは生成したブロックを送信するためには高度な数学的証明を行う必要があり、この証明によって、ブロックの有効性が保証されます。

ブロックを生成し、チェーンに追加することのできるノードは一つのみで、ノードは一番に数学的証明を行おうと競争します。この数学的証明の競争によってブロックを有効化する作業をProof of Workと言います。

この競争に勝ち、新たなブロックを有効化することのできたノードは報酬としてEtherという固有のデジタルトークンが新たに生成され、付与されます。

ここでみなさんはブロックが繋がったチェーンがどうして正しいと保証できるのだろう?少数のノードが別のブロックを作成し、別のチェーンをできていたらどうするのだろう?と思うかもしれません。

先ほど定義したブロックチェーンの枠組みは

「暗号化されてセキュアである、状態のシェアされた、トランザクションに関するシングルトンマシン」です。

つまり、ネットワークの参加者全員が現在の状態を承認する必要があります。したがって複数のチェーンを持つことはシステム全体を破壊することになります。

このように複数のチェーンが存在してしまうことを「フォーク」と言い、フォークを避けるためにイーサリアムでは「GHOSTプロトコル」と呼ばれるメカニズムが使われています。

「GHOST」とは「Greedy Heaviest Observed Subtree」の略で、最もコンピューティング処理が行われたチェーン、最もコンピューターパワー、ハッシュパワーが費やされたチェーンが正当なチェーンであるとされ、現在の状態として採用されます。

ここまでがイーサリアムブロックチェーンの大まかなイメージの説明となります。次回はイーサリアムのシステムの各構成要素に深くフォーカスして解説していきます。


参考