イーサリアムとはなんぞや?


最近イーサリアムの勉強しているのでそのアウトプットとして書いていきます。

イーサリアム(Ethereum)って何よ

あえて言うなら「みんなが使えるコンピュータ」です。
どんな処理もやってくれるコンピュータがあって、その利用料を払うためにイーサ(ETH、仮想通貨)があるといった具合です。

ビットコインと何が違うねんと思われがちですが、目的が全く違っています。

  • ビットコイン ... デジタル通貨として機能するために作られている
  • イーサリアム ... ある処理を分散型のブロックチェーン上で実行させるために作られている、通貨となっているイーサ(ETH)はその利用料を払うためにある。

ここで、イーサリアムは「みんなが使えるコンピュータ」を指していて、イーサ(ETH)は利用料を払うための通貨を指しています。
イーサリアムの用途はめちゃくちゃ開発者向けということになります。

スマートコントラクト

イーサリアムがやりたかったことでもあり、ビットコインと一番異なる部分がスマートコントラクトです。
スマートコントラクトは専用のプログラミング言語(Solidity, Vyperなど)で書くことができます。

// Solidity言語
contract Faucet {

    function withdraw(uint withdraw_amount) public {
        require(withdraw_amount <= 10 ** 17);

        msg.sender.transfer(withdraw_amount);
    }

    fallback () external payable {}
    receive () external payable {}
}

上記のようなプログラムを、イーサリアムでは分散されたブロックチェーン上で実行することができます。一度イーサリアム上にのせてしまったプログラムは修正できません、修正版を再アップロードするみたいなことをします。わざわざイーサリアム上でプログラムを実行することには、次のようなメリットがあります。

  • 実行される処理を誰でも見れるので安心できる
  • コードは誰にも変更することができないので、常に正しい処理が期待できる
  • お金関連の処理をスマートコントラクトで実装すれば信頼を得ることができる(バグがなければ)

このメリットのおかげでDeFiのようなサービスを作れたりします。
とはいえ、まだどんなことができるのかわかりきっていません笑

まとめ

開発者目線なら、イーサリアムはビットコインにはない魅力があります。
そのうちdappを作っていく予定です。
なんか間違ってたらぜひコメントください:)