イーサリアムとは

イーサリアムとは

イーサリアム(ETH)は、誰もがブロックチェーンを利用して開発・サービスの提供を行うことを目的とした分散型アプリケーション(DApps)や、スマート・コントラクトを構築するためのプラットフォームの名称です。ただし、イーサリアムもビットコインのように決済サービス機能も備えており、それがイーサリアムの基軸通貨であるイーサ(ether)です。

Hint!

日本では、プラットフォームを意味するイーサリアムと、通貨を意味するイーサをどちらも「イーサリアム」と表現します。

イーサは小さな単位に分割することが可能で、最小単位は wei です。1 wei は 0.000000000000000001 ETH です。イーサリアム内でイーサの値は、常に wei 建ての整数値として表現されます。

イーサの単位と単位名
金額(wei 建て)指数表示単位
11wei
1,000103Babbage
1,000,000106Lovelace
1,000,000,000109Shannon
1,000,000,000,0001012Szabo
1,000,000,000,000,0001015Finney
1,000,000,000,000,000,0001018Ether
1,000,000,000,000,000,000,0001021Grand
1,000,000,000,000,000,000,000,0001024

イーサは、仮想通貨の中で時価総額がビットコインに次ぐ大きさです。最新の仮想通貨の市場シェアは CoinMarketCap のサイトから確認できます。

仮想通貨の市場シェア
仮想通貨の市場シェア

イーサリアムのブロックチェーンは、2021 年 12 月の時点で PoW(Proof of Work)ですが、今後は PoS(Proof of Stake)に切り替わる予定です。ブロックチェーンについての詳細はブロックチェーンとはの記事を参照してください。

PoW(Proof of Work)
取引を承認するために膨大な計算によって合意形成を行います。計算に成功すると、取引データがブロックチェーンに追加されます。そして、この計算を最初に成功した人には、成功報酬(マイニング報酬)としてビットコインが与えられます。このアルゴリズムを採用している代表的な仮想通貨としては、ビットコインやライトコインがあります。
PoS(Proof of Stake)
仮想通貨の保有量に応じてブロックの承認率を決定します。マイニングに成功したマイナーは、次回の承認率を下げるなどしてマイニングの難易度を調整できます。ただし、資産を多く持つ人がブロックを承認しやすくなるため、中央集権化の課題が指摘されています。このアルゴリズムを採用している代表的な仮想通貨としては、イーサリアム 2.0 があります。

イーサリアムのブロック作成時間は、約 15 秒で完了します。ブロック作成時間は、ブロックチェーンに組み込まれた承認時間と同じなので、イーサリアムはビットコインなどに比べて決済処理の時間が短くなります。

分散型アプリケーション

分散型アプリケーション(DApps)とは、管理者が存在せず、不特定多数の人が自律的に行動した結果、全体のシステムが機能することで、以下のリンクによると、DApps は以下の要件を満たすアプリケーションとされています。

  • アプリケーションはオープンソースによって提供され、管理者が存在しないネットワーク上で参加者の合意によりすべての決定が成されること
  • アプリケーションのデータは、ブロックチェーンによって安全に分散保存されること
  • アプリケーションへのアクセスには、暗号化されたトークンを使用しなければならず、トークンはシステムの維持に貢献した参加者への報酬として与えること

スマート・コントラクト

スマート・コントラクト(Smart contract)とは、「契約の自動実行」とも呼べるテクノロジーで、取引を行う双方が事前の条件に合意の上で、契約を自動的に実行する機能です。例えば、「A から B に 10 ETH を送金するが、1 年後には B から A に 15 ETH にして返金する」という契約を自動的に結び、ブロックチェーンに記録するテクノロジーがスマート・コントラクトです。

イーサリアムの歴史

イーサリアムは 2013 年にヴィタリック・ブテリンによって示され、イーサリアム・プロトコルとスマート・コントラクトのホワイトペーパー(技術的なデザインや理論をまとめたもの)が公開されました。

その後、2014 年に北アメリカビットコインカンファレンス(The North American Bitcoin Conference)で正式に発表されました。この時期に、ヴィタリック・ブテリンは、ギャビン・ウッドと研究を始め、イーサリアムを共同創業しました。

2014 年には、イーサリアムのプリセール、および Ethereum Foundation が設立されます。そして、イーサリアムの開発は、非営利の ETH DEV に移管され、2015 年にかけて概念実証(Proof of Concept)が始まりました。

イーサリアムには4つの開発段階があり、各開発段階では後方互換性のないハードフォークと呼ばれる方法で機能を変更します。4つの主要な開発段階には「Frontier(フロンティア)」、「Homestead(ホームステッド)」、「Metropolis(メトロポリス)」、「Serenity(セレニティ)」というコードネームが付与されています。

Frontier

Frontier(フロンティア)アップデートは、2015 年 7 月にイーサリアムを安定的に稼働させるためにバグを修正する最初のベータ版として公開されました。このバージョンから、イーサの交換やマイニングが可能になりましたが、不具合が発生した場合はイーサリアムの開発チームが修正を行う可能性があり、それに伴う取引の損失はユーザの自己責任とするものでした。

Homestead

Homestead(ホームステッド)アップデートは、2016 年 3 月にフロンティアで発見されたネットワーク上の問題やバグの修正、プロトコルの変更が実行され、イーサリアムが本格的に始動しました。しかし、ホームステッド中にアプリケーションのバグを悪用された The DAO 事件が発生してしまいます。The DAO 事件の対応として、ハードフォークや DoS 攻撃対策など、ブロックチェーンを安定的に稼働させるためのセキュリティに関するマイナーアップデートが実施されました。

Hint!

The DAO とは、イーサリアムのプラットフォーム上のプロジェクトである非中央集権の投資ファンドです。The DAO 事件とは、スマート・コントラクトのバグが悪用され、The DAO が集めた資金の 1/3 にあたる約 360 万 ETH(当時のレートで 52 億円)もの額が流出した事件です。しかし、この事件の対処としてイーサリアムは、ブロックチェーンをハードフォークさせ、流出そのものをなかったことにしました。この対応を不服とするグループがイーサリアムから分かれイーサリアムクラシックが誕生しました。

Metropolis

Metropolis(メトロポリス)アップデートは、匿名性の向上とマイニング報酬の調整(Byzantium)と、マイニング時間を短縮する(Constantinople)の2つのハードフォークが実施されました。

Byzantium(ビザンティウム)では、コンセンサス・アルゴリズムを PoW から PoS への移行準備や Zcash という高い匿名性を持つ暗号通貨の技術を導入し、匿名性を強化しています。

Constantinople(コンスタンティノープル)では、マイニングの難易度が徐々に上がっていく Difficulty Bomb の調整が行われました。

Hint!

Difficulty Bomb(ディフィカルティボム)とは、イーサリアム・ブロックチェーンのハッシュ生成の難易度を段階的に高めていく構成要素のひとつです。イーサリアムのディフィカルティボムは、10 万ブロック毎に 10 〜 20 秒ほどマイニングにかかる時間を増やします。

Serenity

Serenity(セレニティ)アップデートは、最終開発段階で、コンセンサス・アルゴリズムを PoW から PoS への移行が予定されています。

チューリング完全性

イーサリアムは、ビットコインと異なりチューリング完全だと言われます。チューリング完全とは、簡単に言えば、あるひとつの問題をプログラミング言語で原理的に書けるもののことを言います。

厳密に言えば、チューリングマシンのエミュレータが、原理的に書けるのであれば、それはチューリング完全であると言えます。チューリングマシンという用語は、イギリスの数学者アラン・チューリングに由来しています。チューリングマシンは、アラン・チューリングによって考え出された仮想上の機械です。ただし、現在開発されているすべてコンピュータは、チューリングマシンの考え方に則っています。

チューリングマシンは、無限の長さを持つテープと、テープを読み書きできるヘッドで構成されます。ヘッドは、状態をひとつだけ保持することが可能で、テープから読み込んだ記号と、現在の状態の組み合わせによって、次の行動を決定します。ヘッドの行動には3パターンあり、テープを進む・戻る、現在のテープの位置に記号を書き込む、内部の状態を変更するのいずれかです。

チューリングマシンに、外部から有限個の記号の定義、およびヘッドの状態を遷移させる規則の集合を与えると、規則に従ってヘッドが動作します。状態遷移表で終了と定義された状態に到達すると計算は終了し、その時のテープに記載された記号列が計算結果になります。これら一連の動作は、コンピュータにおけるソフトウェア(数学的にはアルゴリズム)に相当します。

そして何らかの計算を行う機構(論理回路やプログラミング言語など)が、チューリングマシンとして機能するとき、これをチューリング完全であると言います。

0
SHARE
Twitter
@murashun
お問い合わせ
murashun@gmail.com
ご質問(マシュマロ)
https://marshmallow-qa.com/murashun
ご支援(Stripe)
https://checkout.stripe.com/