レッスン2

イーサリアム技術とは?

イーサリアムの基本を理解した今は、イーサリアムを支える技術について学ぶことが重要です。

スマートコントラクト

スマートコントラクトはソフトウェアで実装される契約です。従来の契約のように当事者が法制度に頼る必要はなく、スマートコントラクトはソフトウェアが監視する特定の条件が満たされたとき、自動的に執行されます(場合によっては自己実行も可能です)。スマートコントラクトを支えるレイヤーは、既存のEthereumインフラ上に構築できます。すべてのスマートコントラクトはSolidityというプログラミング言語で作成されます。

スマートコントラクトの主な利点は以下の通りです:

  • 関係者全員に平等な権限を自動的に保証します。
  • 署名者に合理的な期待を課すことで個人の権利を保護します。
  • 署名者が義務を果たさないリスクを排除します。

スマートコントラクトの利用例:

たとえば、ローラとマイケルがじゃんけんをして、3回勝った方が1 ETHを獲得する賭けをする場合、スマートコントラクトは以下を実現できます:

  • 勝者が決まるまで両者の資金をエスクローします。
  • どちらのプレイヤーも、相手の選択を自分の選択前に知ることができません。
  • グーはチョキに勝ち、パーはグーに勝ち、チョキはパーに勝つというルールを設定します。
  • どちらが各ゲームに勝ったかを記録し、いずれかが3回勝つまで続けます。
  • 3回勝利した最終勝者に全額を支払います。

これらすべてがローラやマイケルに依存せず、客観的かつ透明に実行されます。

Solidity

Solidityは、JavaScriptの構文に強く影響を受けた静的型付けのプログラミング言語で、開発者はスマートコントラクトの作成が可能です。Ethereumブロックチェーン上のスマートコントラクトはバイトコード言語で記述され、EVM上で実行されます。

Ethereumブロックチェーン

EthereumはBitcoinと同様に、銀行や国際送金会社などの第三者を介さずに個人間で暗号資産を送信できるブロックチェーンです。世界中の開発者が、Ethereumの分散型ネットワークの可能性を社会に広げるアプリケーションやプラットフォームの構築に取り組んでいます。ブロックチェーンエコシステムが発展し、広範な経済圏と統合されるには時間がかかりますが、すでに多くの組織がEthereumブロックチェーンと連携するアプリケーションを提供し、新しい価値創出や交換の方法を実現しています。

この分散型アプリケーション(dApps)の波は、金融、音楽、ゲーム、ソーシャルメディアなど幅広い業界のモデルを進化させ、顕著な成果を生み出しています。ブロックチェーン業界は、投機中心から成果、普及、ユーザー体験の向上へと移行しています。代表的なプロジェクトは以下の通りです:

  • Metamask:Ethereumネットワークに接続するウェブブラウザプラグイン。
  • Brave:BATやERC-20トークンに対応した統合型ウェブ・モバイルブラウザ。
  • Ethereum Name Service:カスタムで分かりやすいETHウォレットアドレスを作成できるプラットフォーム。
  • Decentraland:ユーザーがコンテンツやアプリを作成・体験・収益化できるバーチャルリアリティプラットフォーム。
  • Gnosis:デジタル資産の価値評価のための予測市場およびDutchXプロトコル。
  • CryptoKitties:Ethereumネットワークを一時的に停止させたことで有名なゲームで、プレイヤーはユニークなデジタル子猫を生産・取引できます。

コンセンサスメカニズム

ブロックチェーンは、新しいブロックを追加する前にネットワーク参加者の合意が必要です。コンセンサスメカニズムは、ネットワーク固有の暗号学的検証手法で特定の取引が正当かどうか判断するために不可欠です。また、複数の参加者が同じ資産に対して異なる取引を提案する場合など、同時発生的な競合の調整にも役立ちます。この仕組みは正しい取引順序を保証し、低パフォーマンスの参加者によるシステム悪用を防ぎます。コンセンサスメカニズムには複数の種類がありますが、Ethereumでは次の方式が採用されています:

Proof of Stake(PoS) - Proof of Stake方式では、コイン保有者は難解な数学的アルゴリズム(マイニング)を解くことなく、一定量のコインを保有していることを証明するだけでコインを得ることができます。

Ethereum Virtual Machine(EVM)

Ethereum Virtual Machine(EVM)は、安全かつ環境に配慮した実行環境であり、開発者はリモートで作業しながらEthereumブロックチェーンに段階的なアップデートをアップロードできます。これによって多くの分散型アプリケーション(dApps)が誕生しました。EVMはネットワーク全体に分散された大規模なコンピューターであり、各コントラクトのコードと状態変数はすべてのノードで共有されます。新しいEthereumブロックの検証により、すべての状態変数、つまり全アカウントの残高が更新されます。

まとめ

Ethereumの基盤技術を理解することは非常に重要です。現在の主要なプロジェクトの多くはEthereumで開発された技術に着想を得ているか、Ethereumの課題解決を目的に作られています。本モジュールで得た知識は、他のプロジェクトを学ぶ際にも大いに役立つでしょう。

ハイライト

  • Solidityは、JavaScriptの構文に強く影響を受けた静的型付けのプログラミング言語で、開発者がスマートコントラクトを作成できます。
  • Ethereumは、仲介者を必要とせず個人間で暗号資産を送信できるブロックチェーンです。
  • Ethereumのコンセンサスメカニズムは主にProof-of-Work(PoW)でしたが、「The Merge」というアップデート以降、Proof-of-Stake(PoS)へ移行しました。
  • Ethereum Virtual Machine(EVM)は、開発者がEthereumブロックチェーンに段階的なアップデートをアップロードできる環境であり、多くの分散型アプリケーション(dApps)の誕生を支えています。

関連記事

免責事項
* 暗号資産投資には重大なリスクが伴います。注意して進めてください。このコースは投資アドバイスを目的としたものではありません。
※ このコースはGate Learnに参加しているメンバーが作成したものです。作成者が共有した意見はGate Learnを代表するものではありません。