初心者のためのイーサリアムチュートリアル:スマートコントラクト、DApp、メリットと制限

公開: 2021-03-11

次のいずれかの状況にあると想像してください。

  • 何らかの理由で、eウォレットアカウントがプラットフォームによってブロックされました。
  • あなたの会社はクライアントのために働く必要がありますが、あなたは彼らを信頼できるかどうかわかりません。
  • あなたのソーシャルメディアアカウントがハッキングされました。

これらの状況はすべてかなり苦痛ですよね? これらすべての状況(およびそれ以上)にソリューションを提供するテクノロジーがあると言ったらどうでしょうか。 その技術はイーサリアムであり、初心者向けのこのイーサリアムチュートリアルはあなたがそれをよりよく知るようになるでしょう。

世界のトップ大学からオンラインでソフトウェア開発認定を学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

目次

イーサリアム–簡単な歴史

イーサリアムの開発について知っておく必要があるすべてのタイムラインは次のとおりです。

  • 2013年11月–最初にビットコインに携わった開発者であるVitalik Buterinが、イーサリアムに関するホワイトペーパーを公開しました。
  • 2014年1月–スイスの企業Ethereum Switzerland GmbHは、Vitalik Buterin、Mihai Alisie、Anthony Di Iorio、CharlesHoskinsonなどの開発者チームが主導するEthereumソフトウェアプロジェクトの開発を発表しました。
  • 2014年8月–イーサリアムはICOを終了し、1840万米ドルを調達することに成功しました。
  • 2015年5月–イーサリアムは最初のテストネットであるオリンピックをリリースしました。
  • 2015年7月–イーサリアムの最初のバージョンであるフロンティアがリリースされました。
  • 2016年3月–ホームステッド、イーサリアムネットワークの2番目のバージョンのアップグレードがリリースされました。
  • 2016年5月– DAO(分散型自律組織)が群衆の販売で記録的な1億5000万ドルを調達したとき、イーサリアムはメディアで広く報道されました。
  • 2016年6月– DAOハッキングが発生し、5,000万ドル相当のEtherが失われました(当時流通していたEther全体の15%近くを占めていました)。
  • 2016年7月–イーサリアムネットワークは、イーサリアム(ETH)とイーサリアムクラシック(ETC)の2つの部分に分かれました。
  • 2017年6月–イーサリアムは、2017年1月1日以来5001%の記録的な上昇で、400ドル以上を稼ぎます。

イーサリアムとは何ですか?

イーサリアムは、ブロックチェーンベースのオープンソースの分散型ソフトウェアソリューションであり、イーサリアムと呼ばれる独自の暗号通貨を作成するために使用します。 詐欺、ダウンタイム、またはサードパーティからの干渉なしに、プラットフォーム上で分散型アプリケーション(DApp)とスマートコントラクトを構築して実行できます。

堅牢なプラットフォームであることに加えて、イーサリアムはブロックチェーン上で実行されるプログラミング言語(チューリング完全)でもあります。 簡単に言えば、イーサリアムはデジタル通貨のプログラミングに使用できる分散型プラットフォームです。

イーサリアムは最大の分散型ソフトウェアアプリであり、その助けを借りて、次世代のDAppを簡単に作成して公開できます。

その到着以来、イーサリアムはブロックチェーン業界を完全に変革してきました。 登場する前は、ブロックチェーンベースのソリューションはさまざまなアプリケーションのセットを実行できませんでした。 たとえば、ビットコインやその他の暗号通貨はデジタル通貨としてしか機能しませんでしたが、イーサリアムは開発者がブロックチェーンに基づいてプログラムを作成するためのプラットフォームとして登場しました。

イーサリアムは誰でもアクセスでき、誰もがイーサリアムブロックチェーンに基づいたプログラムを開発することができます。 Ethereum.orgよると、「Ethereumは世界でプログラム可能なブロックチェーンです」。

イーサリアムの背後にいる人々は、ビットコインと同様の暗号通貨の基本的な概念を取り入れ、それらにさらに機能を追加して、この非常に人気のあるブロックチェーンソリューションを作成しました。

2019年9月の時点で、イーサリアムは世界で2番目に大きい暗号通貨であり、最も人気のあるブロックチェーンアプリケーションであるビットコインに次ぐものでした。 ただし、前者は14〜15秒しかかからず、後者は10分近くかかるため、ビットコインと比較してイーサリアム(Ethereumの暗号通貨)をはるかに迅速に取得できます。

イーサリアムを正しく理解するには、このテクノロジーのいくつかの基本的なコンポーネントに精通している必要があります。 以下は、知っておくべきイーサリアムの主要な側面です。

  • エーテル
  • ガス
  • イーサリアム仮想マシン
  • スマートコントラクト
  • DApps(分散型アプリケーション)

初心者向けのイーサリアムチュートリアルの次のセクションでは、これらの概念をカバーし、このブロックチェーンプラットフォームの内部動作を理解します。

イーサリアム–知っておくべき重要な用語

1.通貨発行

どの国でも、通貨の発行は主にその国の中央銀行またはその国の通貨当局によって管理および監視されています。 たとえば、インドでは、RBIは他のすべての銀行と金融当局を規制する金融当局です。

2.分散型自律組織

分散型自律組織は、中央の統治機関の影響を受けないコンピュータプログラムとしてエンコードされた一連のルールによって管理および規制されるデジタル組織です。完全に透過的であり、株主によって制御されます。 DAOの慣行と金融取引の記録は、ブロックチェーンネットワーク上で維持されます。

3.スマートコントラクト

スマートコントラクトは、2つ以上の当事者間の契約の交渉または履行を促進および検証するために設計されたコンピュータープロトコルです。 これらのデジタル契約はコンセンサスシステムに依存しており、第三者の介入なしに実行されます。

4.スマートプロパティ

スマートプロパティとは、イーサリアム上に構築された物理資産と暗号資産(共有、ネットワークへのアクセス権など)の両方を意味する場合があります。 スマートプロパティの所有権は、イーサリアムブロックチェーン上のDAppへのゲートウェイとして機能するイーサリアムウォレットを介して制御されます。

5.堅牢性

Solidityは、イーサリアムでスマートコントラクトを実装するために使用される高レベルのオブジェクト指向言語です。 C ++、Python、JavaScriptプログラミング言語からインスピレーションを得て、イーサリアム仮想マシン(EVM)をターゲットにするように設計されました。

6.イーサリアム仮想マシン

イーサリアム仮想マシン(EVM)は、スマートコントラクト用に設計されたランタイム環境です。 基本的に、EVMは、基盤となるハードウェアのすぐ上の仮想コンピューターレイヤーです。 これらの仮想レイヤーは、実行中のコードと実行中のマシンの間にあるレベルの抽象化を作成します。 EVMは、ソフトウェアの移植性を向上させ、アプリケーションが相互に分離されるだけでなく、ホストからも分離されるようにします。

7.トランザクション

トランザクションは、あるアカウントから別のアカウントに送信されるメッセージです。 それらには、Etherと呼ばれるバイナリデータが含まれています。 これは、イーサリアムネットワークにブロードキャストされ、ブロックに収集される値の転送です。

イーサリアムネットワーク

これまでに、イーサリアムネットワークが分散型および分散型のパブリックブロックチェーンネットワークであることをすでにご存知でしょう。 ただし、それだけではありません。 イーサリアムは、イーサリアムネットワーク上で実行されているすべての分散型P2Pアプリケーションおよび組織の基盤です。 このネットワークは、フルノードとライトウェイトノードの2つの固有のノードで構成されています。

フルノードは、ジェネシス(親)ブロック以降のトランザクションの完全な履歴を含むノードです それらは、イーサリアムの仕様に記載されているルールに従って検証および検証されたすべてのトランザクションを記録します。 したがって、フルノードは、ブロックチェーンネットワークの整合性、セキュリティ、および透過性を証明します。

フルノードとは異なり、軽量ノードにはブロックチェーン全体のサブセットのみが含まれます。 軽量ノードはすべてのトランザクションを検証するわけではなく、現在のブロックチェーン状態のコピーを保持する場合と保持しない場合があります。 それらは主に完全なノードに依存して、欠落している詳細や特定の特定の機能を提供します。 名前が示すように、軽量ノードは軽量であるため、メモリに制約のあるデバイスでより高速に実行できます。 軽量ノードは、主に本質的に軽量な電子財布で使用されます。

エーテルとは何ですか?

イーサリアムは、トランザクションの支払いを行うためにイーサリアムネットワークで使用する暗号通貨です。 次の2つの方法でEtherを使用できます。

  1. 悪意のある壊れたプログラムがネットワーク上で実行されるのを防ぐために、アプリケーションはプラットフォーム上で任意の操作を実行するためにEther支払いを必要とします。
  2. ネットワークはイーサリアムを使用して、ビットコインと同じようにイーサリアムネットワークに貢献した鉱夫に報酬を与えます。

これらのアプリケーションとは別に、Etherを使用してGasを購入できます。これについては、初心者向けのEthereumチュートリアルの次のセクションで説明します。 イーサリアムでは、イーサリアムはメートル法の単位であり、ガスと取引の支払いを正確に行うことができます。 Etherの最小単位はWeiです。 1つのエーテルには1e18Weiがあります。

ガスとは?

イーサリアムで利用できるデジタル通貨はイーサリアムだけではありません。 イーサリアムでトランザクションを実行するときは、ガスを介して鉱夫にイーサリアムの支払いを行う必要があります。 Gasは中間トークンであり、トランザクションの完了またはスマートコントラクトの実行に必要な計算作業を測定できます。

ガスの価格はエーテルで表されます。 また、鉱夫はガス価格を決定し、スマートコントラクトの実行や、必要なガス価格を提供しないトランザクションの処理を拒否することができます。

イーサリアムでの取引手数料は、次の式で計算されます。

エーテル=ガス制限xガス価格

ここで、ガス価格はあなたが支払わなければならないエーテルの量であり、ガス制限は計算プロセスに使用されるガスの量です。 ガス制限とガス価格は、契約が特定の時点で終了することを保証します。

エーテル中のガスはどこに行きますか? これは、次のセクションで説明するイーサリアム仮想マシン(EVM)に含まれます。

イーサリアム仮想マシンとは何ですか?

イーサリアム仮想マシンは、イーサリアムのすべてのトランザクションが実行される場所です。 これにより、単一のプラットフォームですべてのアプリケーションを開発できます。 EVMはイーサリアムネットワーク全体を実行するエンジンであると言えます。

イーサリアムは分散型アプリケーションを開発するための定義済みプロトコルを設定しましたが、EVMのおかげでそれを行うことができました。 イーサリアム仮想マシンは分離され、サンドボックス化されています。 これは、EVMを実行しているコードがファイルシステムやネットワークにアクセスできず、他のコントラクトにほとんどアクセスできないことを意味します。

SolidityコードをEthereumに入力すると、最初にEthereumコンパイラに送られます。 その後、残りのプロセスを処理するイーサリアム仮想マシンにEVMバイトコードを送信します。

EVMは、イーサリアムの計算と内部状態を管理します。 コードを実行し、内部データベースを維持し、相互に通信できる「アカウント」と呼ばれる多数のオブジェクトを備えています。

スマートコントラクトとは何ですか?

スマートコントラクトは、自動的に実行されるコンピュータープログラムです。 トランザクションプロトコルとして、ブロックチェーンを介して商品、お金、サービスを交換することができます。 スマートコントラクトには、お互いに特定の条件が設定されており、両方の当事者がそれぞれの条件を満たすと、それに応じてスマートコントラクトが実行されます。

スマートコントラクトを使用すると、分散投票などのさまざまなタスクを実行できます。 簡単に言えば、スマートコントラクトは、支払いを自動的に実行、実施、管理、および処理する契約です。

イーサリアムでスマートコントラクトを実行するには、トークン(イーサリアム)が必要です。 必要な暗号通貨がないと、イーサリアムでスマートコントラクトを使用できません。

スマートコントラクトを作成するには、イーサリアムの汎用プログラミング言語であるSolidityを使用する必要があります。 イーサリアム仮想マシンで実行するために開発されており、任意の計算を実行したり、状態を保存したり、デジタルトークンのトランザクションを実行したりできます。

スマートコントラクトには複数の利点があり、そのためにますます人気が高まっています。 スマートコントラクトを使用する最大の利点は、仲介者が不要になることです。

スマートコントラクトは自動的に行われるため、人的エラーの余地はありません。 それらは仮想的に存在し、従来の契約と比較してかなり手頃な価格です。 スマートコントラクトには、次のような複数の業界での潜在的なユースケースがあります。

  • 健康管理
  • 金融と銀行
  • B2Bサービス(ITサービス、マーケティングサービスなど)

また読む:イーサリアムプロジェクトのアイデアとトピック

DAppとは何ですか?

DAppまたは分散型アプリケーションは、分散ネットワーク上で実行されるソフトウェアアプリケーションです。 中央サーバーではなく、ピアツーピアの分散型ネットワークでホストされます。 DAppは、モバイルアプリやWebサイトなどの任意のソフトウェアアプリケーションです。 DAppと従来のアプリケーションの違いは、分散型ネットワーク上に構築されていることです。

分散型アプリケーションのユーザーインターフェイスは、従来のアプリケーションのインターフェイスとまったく同じです。 ただし、分散型アプリケーションのすべてのバックエンドプロセスは、分散型ネットワークに基づいています。

イーサリアムは分散型ブロックチェーンネットワークであるため、イーサリアムに基づいてアプリケーションを作成する場合、基本的に分散型アプリケーションを作成することになります。 DAppは比較的新しい概念ですが、非常に人気が高まっています。

人々がプライバシーとセキュリティについてより懸念するようになるにつれて、それに応じてDAppの需要が高まります。 それらについて早期に学ぶことはあなたにキャリア上の利点を簡単に与えることができます。

分散型アプリケーションと同様に、イーサリアムにも分散型自律組織(DAO)があります。 これらの組織はブロックチェーン上にのみ存在し、ブロックチェーンのプロトコルによって制御されます。 これらの組織は、資産を保持し、投票システムを使用して資産の配布を管理するために作成されています。 DAppについて知っておくべきことをすべて学びましょう。

イーサリアム通貨

前述のように、イーサリアムネットワークは、イーサリアムとガスの2種類の暗号通貨で実行されます。

1.イーサリアム

イーサリアムは、イーサリアムネットワークで実行されるすべてのトランザクションの支払いに使用される暗号通貨の名前です。 ただし、Etherは、一般的なトランザクションやサービスの支払いとは別に、EVM内の計算サービスの支払いに使用されるGasの購入にも使用されます。

Etherは、ユーザーがトランザクションとガスの正確な金額を支払うのを支援するために、複数の金種を持つメートル法の単位です。 Etherの最小単位(基本単位)はWeiとして知られています。 これがすべてのEther宗派の完全な表です:

2.ガス

EVMは、イーサリアムネットワークにデプロイされているコードを実行します。 これで、EVMで無限ループを効率的に実行し、そのメモリを過負荷にできると考えるかもしれません。 ガスのおかげで、これは不可能です。

ガスは、ネットワーク上の計算リソースのメトリックを表します。 イーサリアムネットワーク上のすべての契約には、計算に使用できる最大量のガスが割り当てられます。 この設定された制限は「ガス制限」と呼ばれます。 あなたが知っておくべき他の2つのガス用語があります:

ガス価格–これはEtherやその金種などのトークンに関するガスの価格です。 ガス価格は、ガスの価値を安定させるのに役立つ変動値です。 したがって、トークンまたは通貨のコストが変動する場合、ガス価格も同じ実際の値を維持するように調整されます。

ガス料金–特定のトランザクションまたはプログラム(契約)を実行するために支払う必要のあるガスの量を表します。

したがって、無限のコード(永久に実行されるコード)を実行しようとすると、最終的にコントラクトは割り当てられたガス制限を超え、コントラクトを呼び出したトランザクション全体が元の状態にロールバックします。

イーサリアムの利点と制限は何ですか?

初心者向けのイーサリアムチュートリアルのこのセクションでは、このブロックチェーンプラットフォームのさまざまな利点を見ていきます。

  • イーサリアムを使用すると、プログラムをアップロードして実行を要求できます。
  • 永続的で永続的なデータストレージを提供します。
  • 仮想共有またはデジタル通貨として使用できる取引可能なトークンを作成できます。
  • 100%の稼働時間とDDoS(分散型サービス拒否)耐性を提供します。
  • イーサリアムで仮想組織(DAO)を作成できます。
  • これにより、安全性とフォールトトレラント性の高いDAppを作成できます。

ただし、他のテクノロジーと同様に、イーサリアムにも制限があります。 イーサリアムのいくつかの欠点は次のとおりです。

  • ユーザーIDの検証を必要とするアプリケーションは、検証を実行する中央の権限がないため、Ethereum上に構築するのに問題があります。
  • すべてのピアがノードソフトウェアを更新する必要があるため、アプリの更新やバグの修正は非常に難しい場合があります。

イーサリアムでのマイニング

他のブロックチェーンテクノロジーと同様に、イーサリアムは、プルーフオブワークメカニズムとして一般に知られているインセンティブベースのモデルを通じてセキュリティを促進します。 イーサリアムで使用されているプルーフオブワークアルゴリズムはEthashと呼ばれ、Dagger-Hashimotoアルゴリズムに触発されたハッシュアルゴリズムです。

イーサリアムマイニングの手順は次のとおりです。

  • ユーザーは、Ether値を別のユーザーに送信することによってトランザクションを開始します。
  • 次に、この新しいトランザクションは、前のブロックに含まれている他のトランザクションとともに新しいブロックに追加されます。
  • ネットワーク内のマイナーは、特定の一連の命令を使用して新しいブロックを検証するために競合します。
  • 新しいブロックを正常に検証してネットワークに追加できるマイナーは、報酬、つまりイーサを受け取ります。
  • トランザクションが検証されると、トランザクションを開始したユーザーも1つのEtherを獲得します。

初心者のためのイーサリアムチュートリアル:次は何ですか?

イーサリアムは、複数の側面を持つ広大なテクノロジーです。 スマートコントラクトやマイニングなどのさまざまなセクションについて学ぶことは、十分なリソースとガイダンスがないと非常に面倒な場合があります。 初心者向けのイーサリアムチュートリアルで見たはずですが、ブロックチェーンとそのイーサリアムでの実装を理解していれば、このテクノロジーでの作業は簡単です。

そのため、イーサリアムとそのすべての技術的側面をカバーするブロックチェーンコースを受講することをお勧めします。 ブロックチェーンコースでは、構造化されたカリキュラムが提供されるため、効率的かつ効果的に学習できます。

upGradでは、イーサリアムを使用したブロックチェーンの基本概念と高度な概念を理解するのに役立つ複数のブロックチェーンコースを提供しています。 ブロックチェーンとは何か、イーサリアムとは何か、それらがどのように連携するか、そしてブロックチェーンの専門家としてどのように使用できるかを学びます。

upGradでは、次のブロックチェーンコースを受講できます。

コンピュータサイエンスの科学のマスター(ブロックチェーン開発の専門分野が提供されます)

upGradは、リバプールジョンムーア大学でこのプログラムを提供しています。 それは19か月間続き、500時間以上の教材を提供します。 このプログラムでは、業界のメンターと30を超えるプロジェクトと課題で隔週でグループメンターシップを取得します。 これは、技術以外のバックグラウンドを持つ人々にとって優れたブロックチェーンコースです。

ブロックチェーンで高度な証明書プログラムを申請する

このコースは7.5か月続き、250時間以上の学習を提供します。 ブロックチェーン業界の専門家から、IIIT Bangaloreの卒業生のステータスと1:1のパーソナライズされたメンターシップを取得します。 イーサリアムとは別に、Hyperledger Fabric、スマートコントラクトなどについても学びます。

ソフトウェア開発のエグゼクティブPGプログラム-ブロックチェーンの専門分野

この13か月のコースでは、データサイエンスと機械学習の4か月のエグゼクティブ認定を無料で取得できます。 このプログラムでは、ライブ講義とオンラインセッションを通じて学習し、10以上のプログラミングツールと言語を学習します。 その上、ブロックチェーンとイーサリアムの知識をテストすることができます

上記のすべてのコースでは、50%または同等の合格点で学士号を取得している必要があります。 コーディングの経験がなくても、これらのコースのいずれかに登録できることに注意してください。 あなたは熟練した専門家になるために必要なすべてのスキルを学びます。

結論

イーサリアムは確かに驚異的なテクノロジーです。 初心者向けのこのイーサリアムチュートリアルを完了することで、このテクノロジーについて学ぶための第一歩を踏み出すことができます。

イーサリアムブロックチェーンには、注目に値するアプリケーションが他にもたくさんあります。 ブロックチェーン分野でのキャリアは、テクノロジーの展望を変えたために上昇しています。

未来のテクノロジーをマスターする-ブロックチェーン

ブロックチェーンで高度な証明書プログラムを申請する