イーサリアムの基本。ビットコインとイーサリアムの違い。カリフォルニア大学バークレー校 ビットコインと仮想通貨の無料講義超訳|Week6-2

前回までの記事はこちら

ーーーーーーーーーー

こんにちは!クレメア(@cremea_tw)です。

前回に引き続き、カリフォルニア大学バークレー校の無料講義、
「ビットコインと仮想通貨のオンライン講座」で学んだ内容をシェアしていきます。

講義そのものにおいて、

読者対象:ビットコインや仮想通貨について詳しく知りたい全ての人
前提知識:不要

という感じなので、
講義内容を読むだけでもかなり理解が深まるのではないかと思います。

 

文章のスタイルとしては、
翻訳ではなく、個人的解釈バリバリの超訳をしていきます。

荒削りですがスピード重視で、
クレメア的な解釈も交えてお伝えするので、
間違いや意見などあればコメントいただければと思います。

 

また、太字や文字色などの文章の装飾は極力していません。

学びの本質はそこではない、時間がもったいない、あとでできる、
ということで、今回は泣く泣くカットしました。

見辛いかもしれませんが、予めご了承ください。

 

ということで、
講義の内容に沿って進めます。

今回の記事は、
イーサリアムの基本、ビットコインとイーサリアムの違いについてお伝えします。

それでは、本題に入っていきましょう。

イントロ:イーサリアム

まず、ビットコインを特別である理由と、
それを実現する基盤となるアーキテクチャーを見て、
スマートコントラクトプラットフォームを設計する方法を模索する中で、
ビットコインの設計思想がいかに保たれるかを見てきました。

次のセクションでは、
イーサリアムを見ていきます。

これまで知っていることから、
イーサリアムは分散型自律組織から、
デジタル子猫のオンライン市場に至るまで、
無数のアプリケーションを構築してきた技術です。

しかし、今我々は最終的に、
イーサリアムとは何か、
そしてそれはどのように機能するのかを尋ねることができます。

明らかになったように、
ビットコインの内部動作の理解を活用することで、
イーサリアムの理解を深めることができます。

 

大まかな概要

イーサリアムはビットコインのように、
絶えず変化するプラットフォームです。

Ethereum Foundationの公式チームだけでなく、
オープンソースコミュニティーによっても積極的に開発されています。

長年にわたり、一連の出来事と、
そのコミュニティによって形成されてきました。

ビットコインのように、
大規模なユーザーベースの証拠があり、
ソフトウェアの民主主義的性質でもあります。

ますます多くの人々が、
アプリケーションを構築するために、
イーサリアムを使い始めるにつれて、
イーサリアムはますます順応する必要があります。

 

彼らのウェブサイトでは、
イーサリアムはスマートコントラクトを実行するために設計された、
分散型プラットフォームだと言います。

要するに、世界中の多数のノードに分散された、
分散型コンピュータで、
人々がコードを実行するコードを実行します。

このアーキテクチャのおかげで、
止めることのできないアプリケーションを実行することができます。

アプリケーションは、
ダウンタイム、検閲、詐欺、
またはサードパーティの介入の可能性なしに、
プログラムされたとおりに正確に実行されます。

それはブロックチェーンを使用し、
そのブロックチェーンはビットコインのようなUTXOベースではなく、
アカウントベースです。

 

これについてもう少し詳しく説明します。
正式にはイーサリアムは、
分散状態マシンとして実装され、
ネットワーク上のトランザクションは、
システムのグローバル状態を変更します。

イーサリアムのノードは、
誰が何を所有しているかに関するデータを含む、
グローバルなシステム状態を追跡し、
コンセンサスになります。

トランザクションを実行すると、
以前の状態から新しい状態に変化するため、
状態遷移関数になります。

イーサリアムのネイティブ資産は、
イーサリアムの生態系における価値の基礎となるetherであり、
インセンティブの調整にも重要です。

 

前のセクションの要点として、
ビットコインを特別なものにすることは、
トラストレス、不変、無検閲、仮名、中心的な障害点を持たず、
1CPU1投票のポリシーを目指していることでした。

イーサリアムはこれらのすべてを持っていますが、
異なるユースケースを持っています。

イーサリアムの作成に先立ち、
イーサリアムの創始者Vitalik Buterinは、
ビットコインはより汎用的なスクリプティング言語が必要だと主張しましたが、
彼の提案は多く支持を得ませんでした。

そこで彼はイーサリアムを作りました。

最も顕著な機能の1つは、
チューリング完全なスクリプト言語をサポートしていることです。

 

イーサリアム VS ビットコイン

イーサリアムとビットコインは、
世界で最も人気のあるブロックチェーンプラットフォームの2つですが、
2つの異なる目標を持っています。

ビットコインは、
ブロックチェーンの「ゴールドスタンダード」です。

それは最長であり、そのプロトコルは、
過去数年間の膨大な数の取引を成功裏にサポートしてきました。

これは、その固有の資産である、
ビットコインのトランザクションを許可することのみを目的としています。

 

一方、イーサリアムは、
スマートコントラクトブロックチェーンプラットフォームであり、
分散した世界のコンピュータです。

計算に資金を供給し、
インセンティブを調整するために、
ネイティブ資産のetherが存在します。

その主な目的は、
交換価値の媒体として行動することではありません。

 

ビットコインはシンプルで堅牢です。
それはグローバルな支払いシステムです。
それが本当に行うべきことです。

イーサリアムはビジョンがはるかに大きく、
より強力なスクリプト言語など、
より多くの機能をサポートしています。

ビットコインには、
スタックベースのプリミティブスクリプト言語が用意されており、
完全には完成していないため、
ビットコインで作成できるアプリケーションはかなり限られています。

 

一方、イーサリアムは、
チューリング完全なスクリプト言語を持っています。

イーサリアムの創造の最初の動機付け要因の1つです。

したがって、
ビットコインよりもイーサリアム上で、
幅広い種類のアプリケーションを作成できるため、
開発者にとってより使いやすいものになります。

もう一つの大きな違いは、
ビットコインはUTXOベースであるのに対して、
イーサリアムはアカウントベースであるという点です。

 

イーサリアムの特徴

アカウントの根拠

ビットコインでは、
秘密鍵がUTXOの所有権を証明します。

あなたがビットコインを使うとき、
あなたは以前の取引から費やします。

現在の残高を計算するには、
自分が所有しているすべてのUTXOを集計する必要があります。

ビットコインがUTXOを使用する理由は、
取引を行い、二重支出を防止することが容易になるからです。

1週目の豚の貯金箱のアナロジーを考えてみましょう。

 

イーサリアムでは、
秘密鍵は現在の残高を追跡するアカウントの所有権を証明します。

残高を計算するには、
すべてのUTXOを合計するのではなく、
アカウントを参照するだけで済むので、
アカウントはUTXOよりもスペース効率が良いです。

また、究極の目的は、
スマートコントラクトをサポートすることであるため、
UTXOモデルではなくアカウントモデルがある場合、
アカウントの残高を参照してアカウント間を移動する方がずっと安く簡単です。

 

アカウントのタイプ

イーサリアムには、
EOA(Externally Owned Account)と、
コントラクトアカウントの2種類のアカウントがあります。

EOAは、その名前が示すとおり、
イーサリアムネットワークの外部の、
外部エンティティによって所有されています。

これは、人、人のグループ、企業、
または何か他の人である可能性があります。

EOAには、人々がetherと、
etherのバランスを送信するために使用するアドレスが含まれています。

このタイプのアカウントは、
コントラクトアカウントに存在する、
コントラクトコードを発行するために、
トランザクションを送信することができます。

コントラクトアカウントは、
スマートコントラクトによって所有されています。

それらには、アドレス、
関連するコントラクトコード、
および永続ストレージが含まれています。

そのコードは、EOAまたは、
他のコントラクトアカウントが、
トランザクションを行って、
コードの関数呼び出しをトリガするときに実行されます。

 

コントロール

イーサリアムのスマートコントラクトは、
イーサリアムネットワークの内部にある、
自律エージェントと似ていますが、
EOAを管理する通常のユーザーはそうではありません。

スマートコントラクトは、
特定の機能を呼び出すトランザクションによって、
ポークされたときに外部世界に反応します。

スマートコントラクトは、
内部のether残高、内部のコントラクト状態、
および永続的なストレージを直接制御します。

 

イーサリアム上のスマートコントラクト

イーサリアムスマートコントラクトは、
一般に4つの主な目的を果たします。

これらは、
データの保存と保守に使用できます。

データはユーザーまたは、
他の契約に有用な何かを表します。

 

たとえば、新しいトークン通貨、
または特定の組織のメンバーシップを定義する、
スマートコントラクトがあります。

これは、取得するために一定額を支払う必要があります。

スマートコントラクトは、
信頼できないユーザー間の契約や関係を管理するためにも使用できます。

これは、通常の契約を実行しているだけでなく、
分散したイーサリアムネットワーク上で、
スマートコントラクトを最も簡単に理解できる方法です。

 

たとえば、金融契約、エスクロー、
または保険を管理するスマートコントラクトを結ぶことができます。

スマートコントラクトは、
他のコントラクトに追加機能を提供することもできます。

既存のコントラクトの機能を活用して、
おそらくソフトウェアライブラリとして、
他のコントラクトを呼び出すコントラクトを作成することができます。

最後に、スマートコントラクトは、
複雑な認証ユースケースに使用できます。

たとえば、
n個のマルチシグネチャを定義することができます。

これは、ビットコインを勉強したときに見たものです。

 

Quick Check 1

イーサリアムのアカウントの種類はどれですか?

  • Miner Accounts
  • Externally Owned Accounts
  • Voter Accounts
  • Contract Accounts
  • Oracle Accounts

 

あとがき

ということで、
いかがでしたでしょうか?

 

同じ仮想通貨でも、
根本の構造が全く違うのがよくわかりますね。

このブログ記事を、
イーサリアムを知った当初の自分に見せてあげたいです。

 

今回の話はすでに理解してた内容がほとんどなので、
どんどん次に進んで行きたいと思います。

 

ってことで、
今回はこの辺で失礼します。

このブログを書く僕の目的は、
「ファンを作ること・仲間を増やすこと」です。

趣味が合う、気が合う、考え方が合う。
なんかええなーと思ったら、気軽にメッセージください。喜びます。

終わり。

 

次の記事
Ethereum Virtual Machineについて。カリフォルニア大学バークレー校 ビットコインと仮想通貨の無料講義超訳|Week6-3

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ABOUTこの記事をかいた人

物語の引き金を引く男 / 「てめえの人生に火をつける」 / プロ火付け役 / 腐れニートからの再始動 / 見知らぬ人にMacBook Proを買った人 / 32日で100記事達成 / ただの足跡を伝説に変えていく男 / Youtubeで #クレメアラジオ 不定期配信 / サロン「裏世界」オーナー 参加希望者はDMまで