Ethereum / イーサリアム

Ethereumは、スマートコントラクト・分散型アプリケーション(DApps)の構築プラットフォームです。ビットコインや旧型のプラットフォーム型アルトコインの多くは、開発チームのみがスマートコントラクトコードを記述・実装可能であったり、ブロックチェーン上でのスマートコントラクトプログラムの実行に何らかの制限があるのに対し、Ethereumではユーザーが誰でも自由にスマートコントラクトの記述・実行ができ、そのプログラミング言語がチューリング完全(あらゆるプログラムを記述可能という意味)であったのが画期的でした。

2014年にはEthereumネットワーク内の基軸仮想通貨であるETH(Ether, イーサー, エーテル)のプレセールにより、当時の価格で約15億円もの資金調達が行われました。(Ethereumは日本語だと、「イーサリアム」、「イーサリウム」、「エセリウム」などと表記されることがあります。)

仕様・仕組み

名称 Ethereum(Ether)
公開日 2015-7-30
システム Proof of Work/Proof of Stake
アルゴリズム Ethash/Casper
最大供給量 120,520,000ETH
ブロック報酬 5 ETH
ブロック生成間隔 約15秒

Ethereumの初期では、ビットコインと同様のProof of Workが採用され、マイニングにより不特定多数のユーザーが取引(ブロック)の承認を行うことで、マイニングに成功したマイナーは取引手数料及び一定の報酬を得ることができました。ビットコインのPoWアルゴリズムであるSHA-256とは異なり、EthereumではASIC(マイニング専用端末)の開発が困難であるとされるEthashというアルゴリズムが使用され、マイニング・マイナーの集中化の問題を防ぐとしていました。

基軸通貨であるETHの初期の発行量は7,200万ETHであり、その内6,000万ETHが一般向けに販売され、1,200万ETHが開発チームの開発資金として保有されることとなりました。その後はPoWのマイニングによりETHが徐々に発行され最終的に約1億2000万ETHが流通しました。2022年9月からは「マージ」と呼ばれる大型アップデートによりPoWからPoS(Proof of Stake)に移行されたことで新規発行がほぼ停止され、ETHの供給量は徐々に減っていく予定となっています。

アカウントとスマートコントラクト

ビットコインのブロックチェーンは、純粋な取引履歴の集合でありアカウントの概念はありません(全取引履歴から各アカウント・アドレスの残高を計算します)。しかし、EthereumではETHの残高情報等がブロックチェーンに直接記録されるアカウントがベースになったシステムとなっています。このアカウントには、通常の送金用途などに使用される「EOA(Externally Owned Account,外部所有アカウント)」と呼ばれる人間の手(秘密鍵)で管理できる従来のビットコイン等の仮想通貨のアドレスと同様のアカウントと、「コントラクトアカウント(Contract Account)」と呼ばれるプログラムコードによって管理されるスマートコントラクト実行用のアカウントの二種類が存在します。

コントラクトアカウントには、ETHの残高の他にもコードを保管する領域とデータを保存する領域(Storage)があります。EOAからコントラクトアカウントへはメッセージ(message)を送ることができ、コントラクトアカウントはメッセージを受け取るとアカウント内のコードを自動実行し、そのコードによってアカウント内の自身のデータ保存領域に書き込んだり、他のコントラクトアカウントへメッセージを送信することが可能です。Ethereumネットワーク内で「スマートコントラクト」というときは、一般的にこのコントラクトアカウント内のコードのことを指します。

EVM(Ethereum Virtual Machine, イーサリアム仮想マシン)

Ethereumネットワーク内のスマートコントラクトコードの実行環境はEVM(イーサリアム仮想マシン)と呼ばれます。一つ一つのEVMはサンドボックス化(他の領域から保護・隔離されているという意味)されており、ネットワークや他のスマートコントラクトへのアクセスには制限がかかっているため、あるコントラクトアカウント内のコードのバグにより、Ethereumのブロックチェーン本体やその他のスマートコントラクトに悪影響を与えるということは基本的にありません。EVMはブロックチェーン上で動作するため、ブロックチェーンを共有するノード全体により実行されることになります。

このEVMのシステムによりユーザー誰もが自由にプログラムコードを記述・実行することが可能となっています。誰もが自由にブロックチェーン上の仮想マシンを動かすことが出来ることから、Ethereumは「ワールドコンピュータ」と呼ばれることもあります。

Gas

Ethereumにおける取引手数料やスマートコントラクトの実行手数料は、燃料に例えられGasと呼ばれます。Gasは基軸通貨のETHで支払われ、作業によって使用手数料が定められています。このGasは取引の送信者が設定することができ、ビットコインにおける取引手数料と同様に、Gasが大きいほどその取引・スマートコントラクトがマイナーにより優先して承認される可能性が高くなります。

また、スマートコントラクトの実行の際にはGas limitという使用可能な最大のGas量を設定することができます。このGas limitはスマートコントラクトへの外部からの攻撃やコードのバグにより、コントラクトアカウント内のETHが無限に消費されるのを防ぐために用いられ、Gas limitに達すると自動的にプログラムコードが停止することになります。

送信者が設定するGas limitだけではなく、ブロックチェーンにおいて1ブロックあたりのGas limitも設定されています。このブロックのGas limitはマイナーによる投票形式で決定され、動的に変化するものです。ビットコインにおいては1ブロックのサイズ制限がなされていますが、Ethereumでは特に設定されておらず、Gas limitの影響を受けることによりブロックのサイズが直接的に変化します。

標準ウォレット(mist)に実装済みの主な機能

スマートコントラクト記述

Ethereum独自のプログラミング言語Solidityを用いて、スマートコントラクトのプログラミング及びコード実行を行うことが可能です。

関連リンク

最終更新日: 2023年02月19日

コメント欄

コメントシステムを試験的に変更し、メールアドレスの入力やSNSからのログインを廃止しました。投稿後5分以内であれば編集や削除が可能です。その後に削除したいコメントがあれば依頼していただければこちらで削除いたします。

質問については出来る限りお答えしていますが、個人が運営している関係上対応の遅れや見逃し等限界もあるのでご了承ください。