イーサリアム入門 (注釈付きバージョン)
編集者注: この記事は以下から引用しましたイーサリアム愛好家編集者注: この記事は以下から引用しましたbitsonblocksイーサリアム愛好家
(ID: ethfans)、著者: Bits on Blocks、出典:

導入
、翻訳:ViolaH & Elisa、許可を得て掲載。
編集者注: この記事はもともと 2016 年に書かれたもので、多くの人がイーサリアムを理解するための入門書です。紹介資料を最新の状態に保つために、この記事を再翻訳し、いくつかの注釈を追加しました。旧訳については「A Basic Introduction to Ethereum」を参照してください。
導入
イーサリアムの概念はブロックチェーンと暗号通貨に基づいていますので、ブロックチェーンやビットコインに詳しくない方は「ビットコイン入門」や「ブロックチェーン技術入門」を読んでみてください。この記事は、読者がビットコインの仕組みについてある程度の知識があることを前提としています。
イーサリアムとは何ですか?
イーサリアムはコンピュータ ネットワーク上で実行されるソフトウェアであり、中央コーディネーターなしでデータとスマート コントラクトと呼ばれる一部のプログラムをネットワーク内でコピーして処理できるようにします。イーサリアムのビジョンは、ダウンタイムがなく、検閲に耐性があり、自立型の分散型世界コンピューターを作成することです。
関連情報については、イーサリアム財団によってイーサリアム用に設立された公開 Web サイトを参照してください: https://www.ethereum.org
ビットコインは、世界中の無数のコンピューター上でトランザクション データの検証、複製、保存を実現します (これが「分散台帳」という名前の由来です)。一方、イーサリアムはビットコインのブロックチェーンの概念を拡張し、さらに一歩進んで、世界中の無数のコンピューターでコンピューターコードを平等かつ公平に実行することを望んでいます。

ビットコインは分散データ ストレージを実装し、イーサリアムは同じ方法で分散データ ストレージとコンピューティングを実装します。 (全体的に) イーサリアムはコンピューターのようなもので、その上で実行されるコンピューター プログラムは「スマート コントラクト」と呼ばれます。 (実際的に言えば) ネットワーク参加者は、「イーサリアム仮想マシン」と呼ばれるオペレーティング システムを使用して、自分のコンピュータ上でこれらのプログラム (「スマート コントラクト」) を実行します。
編集者注: このように言うのは簡単です。何百万もの人々が自分のコンピュータでイーサリアム クライアント ソフトウェアを実行しており、それらのコンピュータは相互に通信してデータを渡します。データが特定のルール (「イーサリアム コンセンサス ルール」) に準拠している限り、クライアント ソフトウェアはいくつかのルールに従ってデータを使用します。具体的には、これらのデータを EVM (「イーサリアム仮想マシン」) (Windows または Android に相当) で使用します。 ) 何らかのプログラム (「スマート コントラクト」) を実行し、結果を取得します。興味深いことに、全員が同じルールに従い、相互に通信している限り、無数のノードが同じ結果 (「コンセンサス」) を取得します (ただし、コンセンサスには通常、瞬時ではなく時間がかかります)。
理解するには、次の図を参照してください。
(最下層は相互に通信し、中間層はこれらのデータについて合意に達し、最上層はこれらのデータを使用してアプリケーションの動作を推進します)
さらに、このプロセスは、コンピューティング プロセスの信頼性を指す「トラステッド コンピューティング」という非常に興味深い概念にも関連しています。興味のある方は「The Dawn of Trusted Computing」をお読みください。
イーサリアムを「実行」するにはどうすればよいですか?
イーサリアムクライアントソフトウェアをダウンロードできます。もちろん、十分な忍耐力があれば、自分で書くこともできます。 BitTorrent や Bitcoin などのソフトウェアと同様に、イーサリアム クライアントは、同じクライアント ソフトウェアを使用する他のユーザーとインターネット上で接続し、そのユーザーからイーサリアム ブロックチェーンをダウンロードできるようにします。また、イーサリアム クライアント ソフトウェアは、受信した各ブロックがイーサリアムのルールに準拠しているかどうかを個別に検証します。
Ethereum クライアント ソフトウェアは次の目的で使用できます。
イーサリアムネットワークに接続する
イーサリアムのブロックチェーンを探索する
新しいトランザクションとスマートコントラクトを作成する
スマートコントラクトを実行する
新しいブロックのマイニング
編集者注:いわゆる「ブロックチェーン」とは、ネットワーク内のすべてのコンピュータが(当時の)ルールに準拠していることを確認して実行される一連の取引データのことです(「トランザクション」とは主に仮想通貨の送金を指します) 。そして、「新しいブロックをマイニングする」とは、他のコンピューターが実行できるようにデータを分散しようとすることを意味します。これが「ブロック」と呼ばれる理由は、この時点で、これらのトランザクションが送信のためにデータ ブロックにパッケージ化されるためです (他の場合、トランザクション データは、独立して伝播することもあります)。
私たちが通常言及する「ブロックチェーン」とは、上記のシステム(すべてのコンピューターが同じトランザクション データを保存および実行する)を可能にする一連のテクノロジー(コンピューター相互作用プロトコル)を指します。
このようにして、コンピュータはネットワーク内のノードとなり、「イーサリアム仮想マシン」を実行し、他のすべてのノードと連携して動作します。ピアツーピア ネットワークにはマスター サーバーは存在せず、どのコンピュータも同等の電力とステータスを持ちます。
編集者注: 2019 年 5 月の時点で、上記の「多数」であるイーサリアム ブロックチェーン全体を保持するノード (「フル ノード」とも呼ばれます) は約 6,000 個あります。ネットワークはオープンであるため、ノードの数は常に変化します。
イーサリアムとビットコインの類似点
イーサリアムを理解する最も簡単な方法は、イーサリアムとビットコイン (より単純なシステム) の類似点と相違点を比較することだと思います。早速、同じことについて話しましょう。
イーサリアムもブロックチェーンを形成する
ビットコインと同様に、イーサリアムもブロックチェーンを形成しており、これにはデータのブロック (トランザクション データとスマート コントラクト コード) が含まれています。一部の参加者がブロックを作成してマイニングした後、検証 (このブロックの合法性) のために他の参加者に配布されます。
イーサリアム ブロックチェーンにどのような情報が記録されているかを理解するには、この「ブロック エクスプローラー」を参照してください: https://etherscan.io
各ブロックは前のブロックのハッシュまたは「デジタル指紋」を参照するため、ブロックは互いにリンクされてチェーンを形成します。ブロックチェーン技術の詳細については、「ブロックチェーン技術の概要」を参照してください。
編集者注: 上で述べたように、参加者は配布するために一部のデータを「ブロック」にまとめることができます。ブロックを受信した後、他のノードはまずブロック シンボルが事前に決められたルールに準拠していないことを確認し、条件を満たす場合にブロックを実行します。ブロック内のトランザクションが一致しない場合、ブロックは拒否されます。ブロック内のトランザクションは実行されず、ブロックは伝播されません。
「ハッシュ値」については、単純に理解すると関数の結果であり、同じデータ入力関数は同じ結果が得られるはずであり、異なるデータ入力関数の結果はほぼ異なると言えます(同じになる確率は非常に低い)ので、ハッシュ値でマークできます。 「ハッシュ関数を数秒で理解できる絵文字表現」をご覧ください。
イーサリアムはパーミッションレスなオープンネットワークです
ビットコインと同様、イーサリアムのメインネットはオープンでパーミッションレスです。独自のソフトウェアをダウンロードしたり作成したりすることで、誰でもネットワークに接続でき、Web サイトにログインしたり誰にも報告したりすることなく、トランザクションやスマート コントラクトの作成、トランザクションの検証、さらにはマイニング (マイニング ブロック) を開始することができます。
一般的にイーサリアムについて語るとき、勝手にこのオープンバージョンのことを指します。ただし、ビットコインと同様に、イーサリアム クライアント ソフトウェアを使用すると、いくつかの設定を追加するだけで、パブリック ネットワークから独立したプライベート ネットワークを作成できます。ただし、プライベート ネットワークのトークンとスマート コントラクトはまだパブリック トークンと互換性がありません。
パーミッションレスオープンネットワークとプライベートパーミッションネットワークの違いについて詳しくは、「さまざまなタイプの「ブロックチェーン」」を参照してください。
Proof of Work (PoW) によるイーサリアム マイニング
ビットコインと同様に、イーサリアムマイナーは有効なブロックを作成する際に数学的問題の解決策を見つける必要がありますが、その解決プロセスは無計画であるため、大量の電力を投資し、コンピュータを使用して継続的に計算する必要があります。
イーサリアムのプルーフ・オブ・ワーク数学パズルは「Ethash」と呼ばれ、ビットコインのPoWアルゴリズムとは少し異なります。人々は共通のハードウェアを使用して Ethash マイニングに参加することもできます。ビットコインのマイニング活動では、専用ハードウェア (ASIC) が非常に一般的ですが、イーサリアムの Ethash は、専用ハードウェアの効率上の利点を減らすように設計されています。
マイニングの詳細については、「ビットコイン マイニングの概要」を参照してください。
編集者注: 具体的には、PoW システムでは、マイナーがトランザクションをパックするときに、構造化データ (「ブロック ヘッダー」) が形成されます (構造化データのこの部分は、トランザクションごとに当然異なります)。また、ブロック ヘッダーには次のものも含まれます。ブロックが作成されたときのタイムスタンプ、親ブロックのハッシュ値などのその他のデータ。ブロックの規則性要件は、ブロック ヘッダーのハッシュ値 (値として) が特定の要件 (「難易度要件」) を満たすことです (たとえば、ビットコイン プロトコルの難易度要件は、ブロックの先頭に「0」があることです)ハッシュ値が一定の数値に達する)。ただし、前述したように、特定のデータのハッシュ値は決定的であり、そのデータだけから要件を満たすハッシュ値を生成できる保証はないため、ブロック作成者は、いずれかのデータを常に変更する必要があります。ブロックヘッダーのハッシュ値が難易度要件を満たさない限り、特別な意味(「ブロックノンス」)はありません(そうでない場合、たとえ伝播されても他のノードはブロックを受け入れません)。
イーサリアムのロードマップには、電力を消費するプルーフ・オブ・ワークをよりエネルギー効率の高いプルーフ・オブ・ステークに変更するキャスパーと呼ばれるプロトコル計画があり、これはイーサリアムの将来の「セレニティ」バージョンに含まれる予定です。リリース。
編集者注: いわゆるプルーフ オブ ステーク (PoS) は、資金プール内の参加者の資金の割合を使用して、TA のブロック生成の確率を決定することです。参加者は、条件を満たすハッシュ値を計算するために互いに競争することはなくなりました。計算に多大な電力を投資する必要はありません。
2014 年以来、イーサリアム コア開発チームはプルーフ オブ ステークのコンセンサス メカニズムに取り組んできました。現時点(2019年5月)の時点で、Casperがイーサリアムメインネットに実装したプルーフ・オブ・ステークスキームは基本的に完成しており、2019年末までに展開される予定で、イーサリアムの新たな章が開かれる予定です。
イーサリアムには暗号通貨が組み込まれています
イーサリアムのトークンはイーサと呼ばれ、英語の略称はETHです。現在の市場は、BTC を受け入れるのと同じように、ETH と他の暗号通貨や主権通貨との交換を受け入れています。 ETHの現在の価値は1ETHあたり約13ドルです(2016年10月)。ビットコインと同様に、イーサリアム トークンの所有権もイーサリアム ブロックチェーンに記録されますが、技術的に言えば、少し異なる方法で記録されます。
編集者注: ここでのポイントは、ブロックがマイニングされるたびに、組み込みの暗号通貨が発行されるということです: ブロックが生成されるたびに、ブロックをマイニングしたマイナーに (所定の) 量の暗号通貨が発行されます。 。
上で何度も言及した「トランザクション」は主にビットコインブロックチェーン上のビットコインの転送トランザクションを指しますが、イーサリアム上では主にETHの転送、ユーザーとスマートコントラクト間の対話、トークンの転送など、より多様です。スマートコントラクトによって発行されます。
元の記事が書かれて以来、ETHの価格は13ドル(約87元)から上昇し、最高値は1,347ドル(約9,000元)(2018年1月)、その後徐々に100ドル(2018年1月)付近まで下落しました。2019年) 、現在は250ドル(2019年5月)まで徐々に回復し始めています。さらに、法定通貨に対する暗号通貨の価格は、ほぼ毎日激しく変動します。
イーサリアムとビットコインの違い
便の準備をしてください。より技術的で複雑なトピックを始めます。
イーサリアムのブロック時間は短い
イーサリアムネットワークでは、各ブロック間の時間間隔が約14秒であるのに対し、ビットコインのブロック間隔は約10分です。この時間差は、ビットコイントランザクションとイーサリアムトランザクションを同時に送信した場合、一般的に、ビットコイントランザクションをビットコインブロックチェーンに記録する速度よりも、イーサリアムトランザクションをイーサリアムブロックチェーンに記録する速度の方が速いことを意味します。 。これは、ビットコイン ネットワークが 10 分ごとにデータベースに書き込むのに対し、イーサリアム ネットワークは 14 秒ごとにデータベースに書き込むことからも理解できます。
編集者注: この点ではビットコインとイーサリアムは異なりますが、この特性の背後にある原理は同じです。つまり、これらは PoW システムです。前述したように、オープン ネットワークには無数のコンピュータが存在し、すべてのコンピュータがいつでも終了または参加できるため、これは深刻な問題を引き起こします。すべてのコンピュータが独立して動作し、受信したデータを処理する場合、これらのコンピュータは「」を形成できません。コンセンサス」が確立されており、システム全体が基本的な機能を実現できません(通貨送金など、それぞれに独自の取引履歴があり、口座にいくらあるのか誰も判断できないためです)。したがって、PoW の意味は、「この台帳に金額を記録したい場合は、まず大量のコンピューティング リソースを費やしたことを証明してください」と言っているのと同じです。 「難易度要件」の変更により、ブロック生成に必要な負荷を調整し、ネットワーク全体のブロック生成間隔を調整することができます。このような安定したブロック間隔を達成する必要がある理由は数多くありますが (ネットワークのセキュリティなどの追加発行の予想数など)、ここでは詳しく説明しません。
イーサリアムのブロックが小さくなった
ビットコインでは、ブロック サイズの上限はバイト単位で測定され、現在は 1MB ですが、イーサリアムでは、スマート コントラクトの計算量を測定する単位を使用してブロックのサイズをマークします。このサイズは「ブロック ガス上限」と呼ばれます。 「.」でブロックガスの上限をブロックごとに変更できます(ビットコインのブロックサイズ上限は決まっています)。
現在、イーサリアムのブロック サイズの上限は約 1,500,000 ガスです。ユーザー間 (つまり、スマート コントラクトと対話しない) では、ETH を介した基本的なトランザクションまたは支払いの複雑さは 21,000 Gas であるため、70 個のトランザクションを 1 つのブロックに入れることができます (1,500,000 割る 21,000)。今日のビットコイン ネットワークでは、1 つのブロックに 1500 ~ 2000 の単一トランザクションを含めることができます。
数字で見ると、現在、ほとんどのイーサリアム ブロックは 2KB 未満です。
編集者注: 2019 年 5 月 17 日の時点で、イーサリアム ブロックのガス制限は 800 万ガスに達しました。 1 つのデータ ブロックのサイズは数百 KB です。
イーサリアムはEVMを使用してスマートコントラクトを実行します
ビットコインの元のスクリプト言語と比較して、イーサリアムにデプロイできるコード (「スマート コントラクト」) はより高度で、開発者にとって使いやすいものです。スマート コントラクト コードはイーサリアム仮想マシン環境で実行され、ネットワーク内のすべてのコンピューターが EVM を実行します。 Microsoft Excel マクロ (Excel によって実行されるコード スニペット) に精通している場合は、スマート コントラクトがイーサリアム仮想マシンによって実行されるコード スニペットであることを簡単に理解できるはずです。
多くの資料では、通常、イーサリアム スマート コントラクトを「チューリング完了」と呼んでいます。これは、スマート コントラクトが完全に機能し、他のプログラミング言語で実行できるすべての計算を実行できることを意味します。
イーサリアムの発行

ETHはどのように生成されるのですか? ETHとBTCの発行の最大の違いは、BTCの発行は約4年ごとに半分になるのに対し、ETHの発行は変わらないことです(おそらくセレニティバージョン以前のみ)。
ETHはどのように生成されるのですか? ETHとBTCの発行の最大の違いは、BTCの発行は約4年ごとに半分になるのに対し、ETHの発行は変わらないことです(おそらくセレニティバージョン以前のみ)。
編集者注:それは同じままではありません。前述したように、ブロックチェーン上ではブロックが生成されるたびにネイティブ仮想通貨が発行されますが、この追加発行額を「ブロック報酬」と呼びます。イーサリアムのブロック報酬も何度か引き下げられており、2017年10月にはブロック報酬が5ETHから3ETHに減額され、2019年2月にはイーサリアムのブロック報酬が2ETHに減額されました。したがって、ここでは著者のオリジナルのグラフを実際のETH供給量の変化グラフに置き換えます。
プレマイニング + ブロック報酬 + おじさん報酬 + 参照おじさん報酬
ブロック報酬
プレマイニング
2014年7月と8月のクラウドセールでは、ETHの発行量は約7,200万でした。クラウドセールで生成されるETHは「プレマイニング」と呼ばれます。クラウドセール後のETHの発行は、年間総クラウドセールの25%以下(つまり1,800万以下)に制限されることが決定されました。
ブロック報酬
現在、ブロックをマイニングすると、新たに 5 ETH を獲得できます。ブロックが 14 秒ごとにマイニングされる場合、1 年は 3,150 万秒 (365x24x60x60) となり、年間 225 万ブロックがマイニングできることになります。 225 万ブロック、1 ブロックあたり 5 ETH = 1,130 万 ETH/年。これは、年間 1,800 万 ETH 未満の収益を生み出すという約束に沿ったものです。
アンクルブロック報酬
実際、ETH の流通量は 1,800 万をわずかに上回ることになります。一部のブロックは後でマイニングされたため、メインチェーンの一部にはなりませんでした。ビットコインネットワークでは、これらの遅れて採掘されたブロックは完全に破棄される「オーファンブロック」と呼ばれますが、イーサリアムでは、これらのブロックは「アンクルブロック」と呼ばれ、後続のブロックは「アンクルブロック」と呼ばれます。誰かが「アンクルブロック」を参照した場合、「アンクルブロック」を掘り出したマイナーには4.375ETH(通常のブロック報酬の8分の7に相当)の「アンクルブロック報酬」が与えられます。現在、イーサリアムは毎日約 500 のアンクルブロックを生成しています。つまり、毎日さらに 2,000 ETH が流通します (このレートでさらに 700 万 ETH が毎年発行されることになります)。
おじさんブロックを参照した場合の報酬
アンクルブロックの後にブロックを生成するマイナーも 0.15ETH を獲得できます (アンクルブロックは最大 2 個)。
上記のモデルは、Ghost プロトコルと呼ばれます (Ghost は、「Greedy Maximum Weight Observation Subtree」の略です)。 Ghost プロトコルでは、有効なブロックが決定され、マイナーに報酬を与えることもできます。
編集者注: アンクルブロックの報酬は多くの友人にとって理解が難しい点であり、多くの背景知識が必要です。簡単に言うと、ネットワーク内ではブロックの伝播に時間がかかるため、あるブロックが掘り出された後、一定時間内に一部のノードのみがそのブロックを受信し、他のノードはその間に別のブロックを受信することになります。それを最新のブロックとして扱うと、PoW システムで使用されるコンセンサス アルゴリズムは、どれがメイン チェーンであるかをすぐに判断できません。イーサリアムのブロック生成速度は比較的速く、このような状況が頻繁に発生する可能性があるため、この状況を緩和するためにコンセンサスアルゴリズムにこのような経済的インセンティブが設けられています。たとえアンクルブロックがあっても、メインチェーンは基本的に決定されています。詳細は「イーサリアムの設計原則」をご覧ください。
今後のイーサリアムの産出量の変化
イーサリアムがプルーフ・オブ・ワーク(アンクル・ブロック報酬ルールを含む)からプルーフ・オブ・ステークメカニズムに変更されたとき、メカニズムの変更が発行に与える影響はまだ不確実です。プルーフ・オブ・ステークのメカニズムでは、Casper と呼ばれるプロトコルが使用されます (そうです、暗号通貨愛好家にはユーモアのセンスがないとあえて言い切ったあのピクシーです?)。 Casperプロトコルに基づくETH発行率は、Ghostプロトコルに基づく発行率よりもはるかに低い可能性があります。
マイニングの報酬
では、マイナーはマイニングで何を得ることができるのでしょうか?
ビットコインでは、新しいブロックが掘られるたびに、マイナーは 12.5 ビットコインを取得します (これが現在の状況です); さらに、ブロックにパッケージ化されたトランザクションの開始者によってマイナーにトランザクション手数料が課せられます。
イーサリアムでは、マイナーは以下を取得できます。
新しいブロックをマイニングすると 5 ETH の報酬が得られます (または、アンクル ブロックの場合は 4.375 ETH の報酬が得られます)。
さらに、最大 2 つのアンクル ブロックを参照すると、別の小さな報酬が得られます (1/32 ブロック報酬、つまり、各アンクル ブロック報酬 1/32×5 ETH = 0.15625 ETH)。
契約運営および送金のために取引開始者が支払うガス料金
現在、ブロックあたりのガスの平均上限は 1,500,000 で、ブロック ネットワーク内の各ガスの平均価格は 0.000000022 ETH です。つまり、マイナーがブロック全体から得られるガス報酬は 0.033 ETH 通貨です。契約上のガスは、新しく作成されたイーサ通貨ではなく、流通しているイーサ通貨で支払われることに注意してください。
編集者注: トランザクションを開始する人は、トランザクションのガス価格 (つまり、ガス単位あたりいくら支払うか) を設定する必要があります。このガス価格は、マイナーが採掘者が取引を開始するかどうかを選択する基準の 1 つになります。トランザクションをパッケージ化します。人々の取引需要は常に同じではないため、チェーン上の取引に対する人々の需要の現在の変化に応じてガス価格も変動します。
イーサリアムの他の部分: Swarm と Whisper
コンピューターは、データを計算し、保存し、対話する必要があります。イーサリアムは、ダウンタイムがなく、検閲に耐性があり、自立型の分散型世界コンピューターというビジョンを実現するために、効率的かつ堅牢な方法を必要としています。イーサリアム仮想マシンは全体の 1 つの要素にすぎません。
Ethereum 仮想マシンは、コントラクト ロジックを実行できるコンピューティング プリミティブです。
このコンピューティングは中央サーバーに依存しません。
BitTorrent と同様、Swarm プロトコルはピアツーピアのファイル共有プロトコルですが、少額のイーサ支払いによるファイルの保存と共有を奨励している点が異なります。ファイルはブロックに分割され、ネットワーク参加者間で分散して保存されます。データブロックを保存および配布するノードは、ストレージおよび取得サービスのリクエストからの報酬として ETH を取得できます。
Whisper は、ノードが情報を直接かつ安全に送信できるようにする暗号化通信プロトコルであり、情報送信者と情報受信者が冗長な第三者をブロックするのにも役立ちます。
スマートコントラクト
ウィスパープロトコル通信は中央サーバーに依存する必要がありません
イーサリアムの概念

スマートコントラクト
スマート コントラクトは、イーサリアム ブロックチェーンに保存された小さなプログラムです。これらのプログラムは、適切な量のイーサリアムでアクティブ化して実行できます (編集者注: アクティブ化には他の特別なトークンも必要になる場合があります)。スマートコントラクトの詳細については、「スマートコントラクトの概要」を参照してください。
スマート コントラクトに関する Wikipedia の例を次に示します。
- 画像出典:https://en.wikipedia.org/wiki/Solidity -
Ethereum では、コードを含む新しいアカウントを作成し、トランザクションでそれを Ethereum ブロックチェーンにアップロードして、スマート コントラクトを作成します。
契約が正常にアップロードされると、契約はジュークボックスのように機能します。契約を実行するには、イーサでの支払いを含むトランザクションを、場合によっては追加情報とともに送信するだけです。
各マイニング コンピューターは、イーサリアム仮想マシンを使用してスマート コントラクトを (マイニング プロセスの一部として) 実行し、最終的な出力値を計算します。理論的には、誰も操作をしなければ、ユーザーはすべて同じ情報を含むスマート コントラクト コードを実行しているため、イーサリアム ネットワーク上のすべてのコンピューターは同じ結果を出力します。
ブロックが掘られた後、勝ったマイナーはそのブロックをネットワークの他のユーザーに公開し、他のマイナーは同じ結果を得た後、ブロックを検証して自分のブロックチェーンに追加します。これがイーサリアムのブロックチェーンの状態が更新される方法です。
アカウント
ビットコインでは、ビットコインが保管されている場所を「アドレス」と呼びますが、ビットコイン内に保管されているという点を除けば、銀行口座のようなものです。イーサリアムでは、イーサリアムを保管するために「アカウント」が使用されます。アカウントには次の 2 種類があります。
ビットコインアドレスに似たイーサのみを保管するアカウント。 「外部アカウント」(EOA) と呼ばれることもあります。この種類のアカウントには対応する秘密キーがあり、秘密キーの所有者はその秘密キーを使用してアカウントのトランザクションに署名できます。
イーサを保存するアカウントの例は次のとおりです: https://etherscan.io/address/0x2d7c76202834a11a99576acf2ca95a7e66928ba0
コード (場合によっては ETH またはその他のトークン) を保持するアカウント。適切な量のイーサが入金されている限り、これらのスマートコントラクトは有効になります。スマート コントラクトがアップロードされると、そのコードはイーサリアム ブロックチェーンに保存され、アクティブ化されて使用されるのを待ちます。
契約アカウントの例は次のとおりです: https://etherscan.io/address/0xcbe1060ee68bc0fed3c00f13d6f110b7eb6434f6#code
アンクルブロックとオーファンブロック:ほぼメインチェーン上にあるブロック
イーサリアムのブロック生成速度はビットコインよりもはるかに高速です (イーサリアムでは 1 時間あたり 250 ブロック、ビットコインでは 1 時間あたり 6 ブロック)。ブロックの生成が速いほど、「ブロック衝突」の確率が高くなります。つまり、多くの有効なブロックがほぼ同時に生成されますが、そのうちの 1 つだけがメインチェーンに配置されます。技術的には、メイン チェーン上にないこれらのブロックに含まれるトランザクションは本物ですが、これらのデータはメイン チェーンの一部と見なすことはできません。
ビットコインプロトコルでは、メインチェーン上にないブロックのことを「オーファンブロック」と呼びますが、オーファンブロックはメインチェーンの一部ではないため、メインチェーン上のブロックから参照されることはありません。
イーサリアムでは、これらのブロックを「アンクルブロック」と呼び、一定距離内にある後続のブロックはアンクルブロックを参照できます(詳細は上記「イーサリアムの発行」セクションを参照)。アンクルブロック内のデータは最終的に役に立たなくなりますが(つまり、アンクルブロック上のトランザクションは実行されません)、アンクルブロックを掘り出したマイナーは、それでもわずかに少ないブロック報酬を得ることができます。
これにより、次の 2 つの重要な結果が得られました。
これにより、たとえマイニングされたブロックをメインチェーンにアップロードできない場合でも、マイナーがマイニングのモチベーションを維持するようになります(ブロック生成率が高いと、より多くの孤立ブロックとアンクルブロックが生成されるため)
アンクルブロックの作成に費やされるエネルギーを認識することで、ブロックチェーンのセキュリティも向上します
編集者注: 全体として、Ghost は急速なブロック生成の過程における保護手段であり、メイン チェーン ブロックを掘り出していないマイナーが多大な損失を被らず、メイン チェーンを維持する動機を与えることができます。
ガスとガス価格
スマート コントラクトをアクティブ化すると、ネットワーク全体のすべてのマイナーにコントラクト内の計算作業の実行を要求するのと同じになります。これにはマイナーの時間とエネルギーがかかり、当然ユーザーはその対価を支払う必要があります。ガスはサービス料金を支払う仕組みです。
手数料は通常少額のイーサであり、契約を実行するにはマイナーに作業を許可するために料金を支払う必要があります。これはジュークボックスにコインを入れるのと似ています。
支払項目(単位:エーテル)=実際のガス使用量(単位:ガス)×ガス価格(単位:エーテル/ガス)
ガス量
スマート コントラクトが複雑になるほど (計算ステップの数と種類、ストレージのサイズなど)、コントラクトの操作を完了するために必要なガスが増加します。コイン式のジュークボックスに例えると、長く曲を注文するほど、より大きな声で歌え、より多くの料金を支払う必要があるようなものです。
ガソリン価格
契約の複雑さはさまざまですが、特定の契約を実行するために必要なガスの量は固定されており (手数料の違いは主にガス価格によるものです)、ガス価格は契約を実行したい人によって決定されます。指定されたコントラクトの実行を要求します (ビットコインの取引手数料のようなもの)。マイナーはガスの価格を見て、契約を実行するかどうかを決定します。マイナーに契約を実行してもらいたいなら、高い料金を請求すればいいだけです。ガス市場は競争の激しいオークション分野であると言え、それはユーザーがスマートコントラクトの実行にどれだけ支払う意思があるかにかかっています。
なぜガス機構が必要なのでしょうか?
スマート コントラクトの実行にはガス/イーサ通貨/お金がかかり、人々が自由にコントラクトをアクティブ化することが事実上阻止されるため、無料で実行するとネットワークが混雑する可能性があるスパム取引などの問題が回避されます。
編集者注: ここで述べられていないのは、Gas の取引量と Gas 価格はユーザーが自由に調整できるということです。契約の計算を完了するのに十分なガス量が与えられていない場合、システムはあたかも取引がなかったかのように完全にロールバックしますが、ガス料金は引き続きマイナーに全額引き渡されます。与えられたガスの量が多すぎる場合、完了 関連する計算の後、残りのガス料金は取引を開始したアカウントに自動的に返金されます。
エーテルの単位

たとえば、1 ドルは 100 セントに分割でき、1 ビットコインは 100,000,000 サタオシに分割できます。イーサリアムには独自の単位命名規則もあります。
エーテルの最小単位はウェイであり、各エーテルは 1000,000,000,000,000,000 ウェイに相当します。また、フィニー、ザボ、シャノン、バベッジ、エイダなどの他の単位もあります。これらの名前は、暗号通貨とインターネットに顕著な貢献をした科学者に由来しています。
Wei と Ether は、最も一般的な 2 つの通貨単位です。
スマートコントラクト言語:Solidity / Serpent、LLL
スマート コントラクトには 3 つの共通言語があり、そのすべてをスマート コントラクトにコンパイルしてイーサリアム仮想マシン上で実行できます。 3つの言語は次のとおりです。
Solidity - JavaScript に似た言語は、現在、強力なスマート コントラクト用の最も人気のあるスクリプト言語です。
Serpent — イーサリアムの初期に一般的に使用されていた Python に似た言語。
LLL - Lisp に似ていますが、以前の言語でのみ使用されます。 LLL はおそらく、記述するのが最も難しい言語です。
編集者注: 今日 (2019 年 5 月 17 日) の時点で、Solidity はイーサリアム エコシステムで最も一般的に使用されるコントラクト プログラミング言語になりました。残りの 2 つの言語はめったに使用されないか、廃止されることさえあります。さらに、イーサリアムはイーサリアム仮想マシン EVM を eWASM にアップグレードする研究を行っており、WebAssembly は多くの高度なコンピューター言語の開発をサポートしており、イーサリアム契約書の作成の使いやすさとセキュリティがさらに強化されることが期待されています。
さらに、Solidity と Javascript がよく似ているという先入観を持たないほうがよい。学習過程で多くの誤解に陥る可能性があると指摘する人もいます。
イーサリアム ソフトウェア: geth、eth、pyethapp
公式の Ethereum クライアントはすべてオープンソースであるため、その背後にあるコードを確認し、それを調整して独自のクライアントを作成することができます。最も人気のあるクライアントは次のとおりです。
geth (Go で書かれています) https://github.com/ethereum/go-ethereum
eth (C++ で記述) https://github.com/ethereum/cpp-ethereum
pyethapp (Python で書かれています) https://github.com/ethereum/pyethapp
上記はすべてコマンド ライン ベースのプログラム (黒い背景に緑色のテキストがあるプログラム) であるため、グラフィカル インターフェイスを使用するには、他のソフトウェアを使用する必要があります。現在、最も人気のある公式 GUI ソフトウェアは Mist (https://github.com/ethereum/mist) です。 Mist は geth と eth をコアとして使用します。
言い換えれば、geth と eth は内部にある醜いコードであり、Mist はその上で実行される美しいインターフェイスです。
編集者注: 2019 年 3 月に、Mist プロジェクトは運営を停止し、チームは分裂して別のエリアに移動しました。イーサリアム エコシステムで最も一般的な 2 つのクライアントである Geth と Parity·Ethereum も非常によく開発されており、どちらも完全なグラフィカル インターフェイスを備えています。
足跡: イーサリアムにおける出来事の年表
2013年末、Vitalik Buterin氏はホワイトペーパーで「イーサリアム」の概念について議論しました。 2014 年 4 月、ギャビン ウッド博士はイエロー ペーパーでこの概念をさらに発展させました。それ以来、イーサリアムの開発は開発者のコミュニティによって管理されてきました。
同年の 7 月と 8 月に、イーサリアムは開発のためにクラウドファンディングを行い、そのオープン メインネットは 2015 年 7 月 30 日に稼働を開始しました。
イーサリアムでのクラウドファンディング
2014 年 7 月から 8 月にかけて、開発チームは ETH トークンのオンライン販売を通じて資金を調達しました。人々は当時、2000 ETH : 1 BTC のレートでビットコインで ETH を購入できました (2016 年 1 月現在、公開市場では 1 BTC が可能です) 50 ETHと交換できます)。
クラウドファンディングに参加する人はビットコインアカウントで支払うと、対応する量のイーサが入ったウォレットを受け取ることができる。技術的な詳細については、イーサリアムのブログを参照してください: https://blog.ethereum.org/2014/07/22/launching-the-ether-sale/
この期間中、イーサリアムチームは 6,000 万以上のイーサを販売し、31,500 ビットコイン以上(当時約 1,800 万ドル相当)を受け取りました。チームは開発とイーサリアム財団をサポートするためにさらに 20% (1,200 万 ETH) をマイニングしました。
ソフトウェアリリースコード名: Frontier / Homestead / Metropolis / Serenity
イーサリアム ソフトウェアのネーミングは非常に興味深いです。
オリンピック (テスト ネットワーク): 2015 年 2 月に開始されましたが、テストがリリースされた時点では、トークンは実際にはイーサではありませんでした。現在、テストネットは、開発者がコードをテストするためにメインのライブ ネットワークと並行したままになっています。
Frontier: 2015 年 7 月 30 日にリリースされた Frontier は、コントラクトのマイニング、開発、および実行ができる最初のオンライン バージョンです。
Serenity: 未リリース - Proof of Work から Proof of Stake (Casper) にアップグレードします。
要約する
編集者注: 上記のコード名は、イーサリアムのロードマップと開発のさまざまな段階とも考えられます。この記事の執筆時点 (2016 年 10 月) では、メトロポリス (「メトロポリス」) ステージはまだリリースされていませんでした。 2017 年 10 月に、Metropolis, Byzantine (「Byzantium」) の第 1 フェーズがリリースされ、2019 年 2 月に、Metropolis, Constantinople (「Constantinople」) の第 2 フェーズがリリースされ、2019 年に Serenity の第 1 フェーズに入る予定です。 2019年後半の段階。
副題
要約する
イーサリアム開発チームは、計算を実行し、データを保存し、対話を可能にする、ダウンタイムがなく、検閲に耐性のある、分散型の世界コンピューターの構築に取り組んでいます。
イーサリアムには、パブリックで許可のないオープンソース バージョンがあり、そのコード コピーがプライベート ネットワークに採用され、適応されています。パブリック バージョンとプライベート ネットワークでは、さまざまな問題が解決されます。
現在の技術はまだ成熟していませんが、より多くの人がイーサリアム上でソフトウェアを使用し、テストし、開発し、開発することで、イーサリアムはますます着実に発展すると信じています。
イーサリアムはブロックチェーンの世界で最もエキサイティングなテクノロジーの一つであり、今後の発展が期待されています。


