かとのぼのマイコード・マイライフ

プログラミング初心者とアプリの個人開発者向けのブログ。たまに銭湯

イーサリアムとは?学習入門者向けの基礎知識

この記事をシェアする

 今回は、イーサリアムに関する基礎知識をまとめました。

これからイーサリアムの学習をする入門者や、イーサリアムに関して興味が出た初心者の方に向けた記事になります。

イーサリアムとは?

what is ethereum?

イーサリアムの概要

イーサリアムは、2015年にリリースされ、現在、スイスを拠点としたイーサリアム財団(Ethereum Foundation)によって開発されているプロジェクトです(イーサリアムプロジェクト)。 イーサリアムプロジェクトの公式サイトに、イーサリアムの概要が書かれています。

Ethereum is a decentralized platform that runs smart contracts:

イーサリアムはスマートコントラクトで動く分散型プラットフォームです

 イーサリアムは、ブロックチェーン技術で構築された分散型プラットフォームです。

プラットフォームなので、イーサリアムのプラットフォーム上で様々なプロジェクトが存在しています。

スマートコントラクトとは、コードで書かれた条件によって執行される仕組みで、イーサリアムはこのスマートコントラクトで動きます。そしてそのイーサリアムのスマートコントラクトを動かすのに「イーサ」という通貨が使われます。

  • ブロックチェーン技術
  • 分散型プラットフォーム
  • スマートコントラクト

 この3つはイーサリアムの理解に必要な知識ですが馴染みがないものなので、これから説明をしています。

イーサリアムの技術とは?

 イーサリアムには、「ブロックチェーン技術」「分散プラットフォーム」「スマートコントラクト」の3つの基本的な技術用語の理解が必要になります。

イーサリアムのブロックチェーン技術とは? 

ブロックチェーンは、取引データをブロックのようにまとめ、そのブロックの始まりと終わりのデータを整合性が合うように繋げることで、チェーンのようにブロックを繋げます。ブロック上のデータを変更するとブロック間を繋げるデータの整合性が取れなくなるので不正データとして弾きます。

つまりブロックチェーン技術とは、ブロックのチェーンをどんどん繋げることで情報の改ざんを防ぐ技術です。

f:id:katonobo:20190309083305p:plain

このブロックチェーン技術を利用する理由は、ネット上の取引のデータを仲介者なく直接やり取りするためです。ブロックチェーンの独特の仕組みがデータの改ざんを防ぎます。

例をあげます。

悪意のある人物が、ブロックチェーン上の取引データを改ざんして自分に有利な取引データに書き換えようとしたとします。しかし、ブロックチェーンの取引データのブロックが鎖のように数珠繋ぎになっているため、一つの取引のデータを変更するだけではなく、他のデータと整合性が合うように全てのブロックのデータを変更しないといけなくなります。

この鎖はとても長いので、変更するためには莫大な労力が必要となります。

鎖でイメージする以外にも、ジグゾーパズルでイメージしてもいいかもしれません。ジグゾーパズルのピースには凹凸があって、ピースの膨らみと凹みがぴったり当てはまると繋がります。 ブロックチェーンは、データのまとまりを1つピースにして、それを次のピースの凹凸に合うように繋げています。もし悪意のある人物がどこかのピースのデータを改ざんしようすると、その変更したピースの凹凸の形が変わってしまうため、データを変えるには全てのデータを改ざんする必要があるのです。

イーサリアムは、このブロックチェーン技術を使っています。

さらにブロックチェーン技術の概要を知りたい方はこちらをご覧ください。

イーサリアムの分散型プラットフォームとは?

次に、イーサリアムの分散型プラットフォーム(decentralized platform)の知識です。

decentralizedは「分散」や「非中央集権」と訳されます。 「分散型」とは、管理する主体が分散されているという意味です。

例えば、ソーシャルネットワークサービスのFaceBookなら、FaceBookという企業がサービスや情報を管理し、私たちに提供しています。私たちが普段利用しているサービスのほとんどこの形式です。

f:id:katonobo:20190309083453p:plain



ところが、イーサリアムは、管理する主体が分散されています。 先ほど説明したブロックチェーン技術を活用し、それぞれが主体となりイーサリアムを動かし、それを繋いでいます。これにより、一つの管理主体に頼ることなく常にイーサリアムを動かし続けることができます。

f:id:katonobo:20190309083530p:plain

 

なぜ今までのサービスが、FaceBookのような集中タイプだったかというと、今まではどこかが中心となって管理しないと悪意のあるデータの改ざんや不正が見抜けなかったからです。 それが、ブロックチェーン技術により分散型でも安全を担保できるようになりました。

プラットフォームは、道路とか線路みたいなインフラのことだとイメージするとわかりやすいでしょう。どんな車(サービス)を動かすにも、道路がないと走ることはできません。その道路を提供するのが分散型プラットフォームであるイーサリアムです。

イーサリアムは、ブロックチェーン技術を使うことにより、分散型のプラットフォームとして機能しています。

イーサリアムのスマートコントラクトとは?

「ブロックチェーン技術」と「分散型プラットフォーム」は、ビットコインが元祖の仕組みです。

イーサリアムでは、「ブロックチェーン技術」と「分散型プラットフォーム」に加え、開発者がプログラミングしたコードを「スマートコントラクト」としてイーサリアムのブロックチェーンに記録させ、実行させることができます。

スマートコントラクトは、「自動契約」などと訳されます。「あらかじめこの場合にはこう動きなさい」とプログラムすることで、その条件になった時に自動で実行してくれます。

スマートコントラクトを理解する上でよく例に出るのが自動販売機です。 自動販売機は路上に設置され、監視する人がいません。しかし私たちは、自動販売機に必要なお金を入れて商品ボタンを押すと商品を買うことができます。

f:id:katonobo:20190309083725p:plain

イーサリアムを使えば、管理者がなくとも自動販売機のようにプログラムを確実に執行させることができます。

これがイーサリアムのスマートコントラクトです。

あなたがもしインターネットで何か商品を買う場合、買いたい商品を販売している相手が約束を守ってくれるかどうかを確認する必要がありました。

イーサリアムのスマートコントラクトを使えば、条件を満たした時に初めて契約が実行されるため、相手がしっかり約束を守ってくれるかどうかの心配をする必要がなくなります。つまり、スマートコントラクトにより第三者の仲介を省くことができます。

スマートコントラクトのさらに詳しい説明はこちらをご参考ください。

イーサリアムの言語って?

what is ethereum language?

イーサリアムのプログラム言語とは?

イーサリアムはスマートコントラクトで動く分散型プラットフォームです。このスマートコントラクトはプログラミング言語です。

イーサリアムのスマートコントラクトの言語は、「Solidity」「 Serpent」など、独自のものになります。「Solidity」が現在はメジャーな印象ですが、イーサリアムは進歩が著しいプロジェクトであるため、言語の流行り廃りも早く、どんどん変化しています。

スマートコントラクトの言語「Solidity」とは?

Solidityは、2014年8月にGavin Woodによって最初に提案された、スマートコントラクトを書くためのオブジェクト指向プログラミング言語です。

様々なブロックチェーンプラットフォームでスマートコントラクトを実装するために使用されます。

その後、Christian ReitwiessnerのイーサリアムプロジェクトのSolidityチームによって開発されました。

Solidityは静的型付けプログラミング言語で、EVM上で動くスマートコントラクトを開発するために設計されています。開発者はSolidityにより、スマートコントラクト上で実行されるアプリケーションを書くことができ、取引記録を残すことができます。

イーサリアムの価格とは?

ethereum price image

暗号通貨のether(イーサ)って?

イーサリアムのスマートコントラクトは、プログラムを動かすために「燃料」が必要になるように設計されています。その燃料がイーサ(ether)です。また、イーサは、イーサリアムに組み込まれた通貨でもあります。

そのためイーサは、イーサリアムの分散プラットフォーム上で通貨としてやり取りされたり、スマートコントラクトを動かす燃料として使われます。送金や実行する時にかかるコストのことはガスと呼ばれます。

取引所などで売買されているイーサリアムは、このイーサのことです。 

イーサリアムのウォレットとは?

イーサリアムにはウォレット(財布)があり、暗号通貨であるイーサを管理することができます。

イーサリアムプロジェクトの引用によると、

The Ethereum Wallet is a gateway to decentralized applications on the Ethereum blockchain. It allows you to hold and secure ether and other crypto-assets built on Ethereum, as well as write, deploy and use smart contracts.

(Ethereum Walletは、Ethereumブロックチェーン上の分散アプリケーションへのゲートウェイです。それはあなたがEthereum上に構築されたイーサおよび他の暗号資産を保持して保護することを可能にし、スマートな契約を書いて、展開してそして使用することを可能にします。)

 ウォレットとは、個人で暗号通貨を管理することができるアプリケーションです。取引所では取引所が暗号通貨を管理しますが、ウォレットを使えば自分自身で管理することができます。

イーサリアムのマイニングとは?

イーサリアムはブロックチェーン技術を使っており、そのブロックチェーンの仕組みとしてブロックの監視にマイナー(採掘者)を利用しています。マイナーはブロックを繋ぐことができるデータを計算し、成功した場合は報酬を得ます。マイナーが計算することでデータ証明を行う仕組みのためPow(proof of work)と呼ばれます。このPowはビットコインが生み出した仕組みです。

イーサリアムもマイニングによって機能しています。

ただし、イーサリアムは今後このPowの仕組みから通貨の所有者に報酬を与えるPos(proof of stake)に移行する計画です。

イーサリアムのその他重要な知識

これから出会うであろうイーサリアムに関する知識をまとめます。

イーサリアムの提唱者ヴィタリックとは?

イーサリアムの提唱者は、ヴィタリック・ブテリン氏です。

ウィキペディアによると、

高校生時代にビットコインに興味を持ち、オンライン掲示板を通じてビットコインに関するブログ記事を書くアルバイトを見つけ、時給5ビットコインという条件で承諾する。ブログの運営はすぐに中止になってしまうが、2011年9月にはオンラインで知り合った開発者と共に仮想通貨を取り扱う雑誌、Bitcoin Magazineを創設。この分野の雑誌としては初めてであった。

 元々はビットコインの開発者でした。

2013年、ビットコインのシステム上でアプリケーションを作りやすくするために汎用的なスクリプティング言語(扱いやすくかつ機能が多いプログラミング言語)が必要だと訴えるものの、ビットコインの運営コミュニティからの同意を得られなかった。同年、イーサリアムを形作る思想をまとめたホワイトペーパーを発表。2014年2月に実装された最初のプロトタイプをリリース。ティール・フェローシップに選ばれ、大学を退学し、仮想通貨の実用性を探るため世界中を旅する。

 ビットコイン上の問題を解決するために、イーサリアムを提唱したそうです。

現在も世界中を旅しており、イーサリアムのプロジェクトに尽力しています。

イーサリアムのアップデートとは?

イーサリアムは、プロジェクトの開発の段階に合わせて、4段階のアップデートを行う計画をしています。

  1. フロンティア
  2. ホームステッド
  3. メトロポリス
  4. セレニティ

徐々に機能を拡充させていく計画で、2019年3月10日現在はメトロポリスの「コンスタンティノープル」という段階です。

最終段階では、Pow(proof of work)から、Pos(proof of stake) への移行を計画しています。

イーサリアムクラシックとは?

イーサリアムは過去に「The DAO事件」という、巨額のイーサリアムが盗難される事件がありました。DAOというプロジェクトがハッキングされ、360万イーサが何者かに奪われてしまいました。

イーサリアムのコミュニティは、「この事件をなかったことにする派」と 「コードに従うべきでなかったとこにはしない派」に別れました。

この二つの意見はまとまることはなく、「この事件をなかったことにする派」はハードフォークを行いイーサリアムとして、「この事件をなかったことにはしない派」はイーサリアムクラシックとして、それぞれの道を歩むこととしました。この事件によって分裂した一つが「イーサリアムクラシック」です。

まとめ

以上、イーサリアムの学習入門者向けの基礎知識をまとめました。ブロックチェーン技術の説明などはまた詳しい記事を書く予定です。

また必要な知識がある際は追記をしていきます。

 

関連記事:

 

下のはてなブックマークをしていただけると、より多くのプログラミング初心者の方にこの記事が届けられます。私もとても励みになりますので「ブックマークしても別に良いよ」という方は是非よろしくお願いいたします。