ポピュラーサイエンス: イーサリアムイエローペーパーの解釈 (3/7)
編集者注: この記事は以下から引用しましたイーサリアム愛好家 (ID: Ethfans)イーサリアム愛好家 (ID: Ethfans)
、著者: Lucas Saldanha、翻訳者および校正者: IAN LIU & A Jian、Odaily が許可を得て転載。
再びエキサイティングな時期が来ました。イーサリアム イエロー ペーパーに関する別のブログ投稿に戻ってきました!この記事では、イーサリアムのガスと支払いについて詳しく学び、イーサリアムの背後にある経済学を理解し、イーサリアムのエコシステムにおいて手数料が非常に重要である理由を説明します。
このブログ投稿を読むと、トランザクション コストが Gas と呼ばれる理由がわかり、gasPrice と GasLimit の違いを理解し、パッケージ化するトランザクションを選択するマイナー ノードの戦略を理解できるようになります。 (このブログ投稿はイーサリアム イエロー ペーパーの第 5 章に言及しています)
副題
導入
導入
私が初めてイーサリアムについて学び始めたとき、最初に遭遇した混乱は取引手数料に関連したものでした。私の疑問は、「Dapp と同じサービスを無料で利用できるのに、なぜ Dapp にお金を払う必要があるのか?」ということでした。私はすぐに、自分がいかに愚かで世間知らずだったかに気づきました。
ここで、イーサリアム ネットワークを、計算を実行し、データの読み書きができる巨大なコンピューターとして考えてみましょう。これは自宅のコンピュータとは異なり、この巨大なコンピュータ(イーサリアム)は全員で共有されており、イーサリアムのアカウントさえあれば、誰でもイーサリアムの譲渡やスマートコントラクトの展開など、プラットフォーム全体を操作することができます。ただし、分散システムには固有の制限があるため、「これらのサービスの料金を誰が支払うのか」という質問に答えるのはさらに困難です。
Gas
副題
Gas はイーサリアムにおけるすべての計算の価格単位であり、イーサリアムは「サービスの料金を誰が支払うか」という問題を解決するために Gas を使用します。別のイーサリアムアカウントに送金したいですか?電話連絡先を保存するためにスマート コントラクトを展開したいですか?問題ありません。先にガソリン代をお支払いください。
車と燃料の関係は簡単に考えることができます。A から B まで車で移動したい場合は、ある程度の燃料を消費する必要があります。同様に、イーサリアム EVM で特定の操作を実行したい場合も、ある程度の燃料を消費する必要があります。ガソリン代を支払います。車が遠くまで走りたいほど、より多くの燃料が必要となり、イーサリアム上でより多くの計算を実行したいほど、より多くのガスを支払う必要があります。
別の観点から見ると、イーサリアムはリソースの乱用を回避できるユーザー支払いモデルを採用しています。各操作の料金を支払う必要がある場合は、コードをできるだけ簡潔かつ効率的に記述することになります。Gas の存在により、攻撃者が無効な操作を通じてイーサリアム ネットワークにフラッディングすることを防ぐこともできます。 (攻撃者が無効な操作を実行するために多額のお金を支払うつもりがない限り)
副題
ガス価格とガス制限
ガスについて理解したところで、次はガスの価格をどのように設定するかについて話します。まず車と燃料の例に戻りましょう。
あなたの車の燃料タンクの容量が 50 リットルだとしたら、満タンにするのにいくらかかりますか?ガソリンスタンドの1リットルあたりの値段次第ですよね?イーサリアムのガスの価格は同じです! 10 ガスの費用がかかる取引を実行する場合、支払う手数料はガスの単位あたりの価格によって異なります。
では、ガスの単位あたりの価格はどのようにして知ることができるのでしょうか? 「好きなだけ注文できる」という誤解を招きやすい言葉があります。技術的な観点からは何も問題はありませんが、ガスの価格を知るためには、より多くの知識が必要です。
イーサリアム分析シリーズの前の記事を読んだ場合は、イーサリアムのトランザクション構造には特に、gasPrice と GasLimit が含まれていることを覚えておいてください。
GasPrice は、トランザクション送信者が支払うガスの単位あたりの価格 (Wei で測定) を示します。これは、トランザクション送信者が支払うガスの単位あたりの価格をカスタマイズできることを意味します。トランザクションのコストが 10 ガスで、3 ウェイ/ガスを支払うと仮定すると、このトランザクションの送信にかかる合計コストは 30 ウェイになります (計算方法を誰もが理解できるようにするため、実際の値ではありません)。
GasLimit は、トランザクション送信者がトランザクションを実行するために受け入れることができる Gas の量を示します。場合によっては、トランザクションの実行に必要な Gas の量を正確に知ることができない場合や、スマート コントラクトに無限ループのバグがあるため、gasLimit がない場合、送信者のアカウント残高が間違って不足する原因となります。 GasLimit は、計算ミスやバグによって誰かがアカウント内のすべてのイーサを消費するのを防ぐセキュリティ メカニズムです。
副題
鉱夫
鉱夫
ブロックはトランザクションのコレクションを含むデータ構造であり、イーサリアムのマイナー ノードはチェーン上にブロックを作成する役割を果たします。ブロックを作成するとき、マイナーはトランザクション キャッシュ プール (パッケージ化を待っているトランザクションの山) からトランザクションを選択し、ブロックの生成を開始します。
ここではイーサリアムのマイニング アルゴリズムの詳細には立ち入りません (おそらく次の記事で説明するでしょう)。マイニングは高価なプロセスであることを誰もが覚えておく必要があります。したがって、マイニングに報酬がない場合は、やる気のある鉱夫はいない!
イーサリアムでは、マイナーがブロックの作成に成功するたびに、一定量のブロック報酬とアンクルブロックの参照に対する報酬(ここでは拡張されていません)を得ることができ、同時にこのブロックに含まれるすべての取引手数料を得ることができます。トランザクションでガス価格が設定されるほど、マイナーはより多くのトランザクション手数料を受け取ることができます。マイナーの報酬について詳しく知りたい場合は、こちらを参照してください。
簡単なシナリオを想定してみましょう。ボブの口座には 200 ウェイ、ジョンの口座には 100 ウェイがあり、二人とも 90 ガスのトランザクションを送信したいと考えています。
ブロックに詰め込むトランザクションを選択するリンクに入るとき、マイナーはより高い手数料のトランザクションを選択する傾向があります。この例では、ボブのガス価格はジョンの 2 倍であり、両方のトランザクションに 90 ガスが必要なため、ボブのトランザクションを選択したマイナーは 2 倍のガス価格報酬を得ることができます。

画像の説明
-マイナーは最も高いガス価格の取引を選択します-
トランザクション送信者に支払いを行うことでマイナーに報酬を与えるメカニズムは、イーサリアムの自己規制経済システムを形成します。トランザクションの送信者はトランザクションコストを削減するためにあらゆる手を尽くしますが、マイナーは常に利益を最大化することを望み、この 2 つはバランスを形成します。トランザクション送信者として、gasPrice を高く設定すると、マイナーがトランザクションをパッケージ化する意欲が高まり、トランザクションをより早くブロックに含めることができます。
副題
結論は
結論は
この記事から、車が燃料を消費するのと同じように、イーサリアムトランザクションの実行にはガスが消費されることがわかりました。この記事で、コンピューティングのコストと、イーサリアム サービスを利用するためになぜ料金を支払う必要があるのかについて理解していただければ幸いです。
また、gasPrice と GasLimit の重要性についても説明しました。スマート コントラクトにバグや計算ミスがある場合、gasPrice によってユーザーが無駄にイーサを失うことを防ぐことができます。
さらに、取引手数料の背後にある経済メカニズムや、マイナーが収益を最大化するために取引を選択する方法についても研究しています。これで、送信するトランザクションをマイナーにとってより魅力的なものにし、トランザクションをより早くパッケージ化できるように、gasPrice を調整する方法がわかりました。


