Uniswapが20万以上のユーザーアドレスに資金を分配したとき、おそらく多くの人が「このガス料金は高すぎる」と思ったことでしょう。 その日はイーサリアムの歴史において忘れられない日となり、ガス推奨量は史上最高の1000GWEIに達しました。 歴史的な出来事を目の当たりにし、全員がエアドロップを受け取った日の朝、多くの人がガス料金の問題に遭遇しました。高いガス料金はもう問題ではなくなりました。問題は、ウォレットが推奨する最大のガス料金を支払っても、予定時間内に取引を完了できないことでした。全員の Metamask に「保留中」と表示され、ぐるぐる回り続けるので本当に迷惑です。 デフォルトのガス料金額を使用したのに、なぜ即時取引ができないのですか? 。この記事では、Ethereum の取引手数料の仕組みと、Ethereum で取引を開始するときに発生する問題について詳しく説明します。 ガスロジックこの問題はイーサリアムアカウントから始まります。 Ethereum ネットワークには、外部所有アカウントと契約アカウントの 2 種類のアカウントがあります。 外部アカウントは、ユーザーが使用し、秘密鍵の所有者によって管理されるアカウントです。コントラクト アカウントとは、コントラクト コード (多くの場合、プロジェクト パーティが所有) によって制御されるアプリケーション ロジックを備えたスマート コントラクトを指します。ユーザーが DeFi アプリケーションを使用する場合、自分のアカウントを使用して DeFi プロジェクトのスマート コントラクトとやり取りします。 さまざまなアカウントが自由にやり取りでき、ウォレット間で送金したり、契約を相互に呼び出すことができます。あらゆるオンチェーンのやり取りには、一定量の計算能力が必要です。消費される計算能力の量は計算の難易度によって決まり、Gas は計算能力の測定単位です。たとえば、加算演算は比較的単純で 3 Gas を消費しますが、除算演算は比較的複雑で 5 Gas が必要です。 ガスの各単位には対応する価格、つまりガス価格があり、ガス価格は Wei で表されます。ユーザーはガス料金を支払うために ETH を購入する必要があります。 1 ETH = 1e18 Wei であり、通常表示される単位 GWei は 1e9 Wei です。通常、ウォレット ソフトウェアは、過去のガス価格に基づいて、ユーザーが開始しようとしているトランザクションのコストを見積もります。 フルノードの集中化を回避するために、分散型アーキテクチャを追求するブロックチェーンでは、各ブロックの容量が厳しく制限されます。たとえば、ビットコインのブロックサイズ制限やイーサリアムのブロックガス制限などです。この記事の執筆時点では、各 Ethereum ブロックのブロック ガス制限は約 12,000,000 ガスで、これは各ブロックの合計計算能力の上限です。平均して、15 秒ごとに 1 つのブロックが生成されます。トランザクションの需要がブロック容量を超えると、ユーザーはチェーン上でトランザクションをできるだけ早く確認するために、各ブロック内のリソースを競う必要があります。このとき、ユーザーはガスに対して入札し、マイナーはガス価格の高いトランザクションを優先してブロックに入れます。 通常、ユーザーが送金するときに、ウォレットにガス制限を調整するオプションが表示されます。ブロック ガス制限とは異なり、ガス制限は、ユーザーがトランザクションで受け入れることができるガス使用量の上限を指します。契約に抜け穴がある場合があるため、トランザクションは無限ループで計算されます。ガス制限がない場合、このトランザクションはユーザーのウォレット内のすべての ETH を消費します。通常マイナーに課される手数料は、実際にトランザクションを実行する際に消費される計算量(トランザクションで使用されるガス)に応じて決済され、ガス制限内の残りのETHがユーザーのアカウントに返還されます。 つまり、消費されるETHの量(Ether Cost)= トランザクション手数料(Gas Fee/Transaction Fee)= 各トランザクションで消費されるGasの量(Gas Used By Transaction)* Gasの価格(Gas Price)と結論付けることができます。 イーサリアムの手数料の仕組みとアカウントの種類を理解したところで、取引時にユーザーがよく遭遇する問題を見てみましょう。 保留中の取引/加速された取引?ユーザーがトランザクションを開始するたびに、トランザクションはトランザクション プール (Mempool) に配置されます。前述のように、マイナーはプール内でガス価格が最も高いトランザクションのパッケージ化を優先します (マイナーの利益追求の性質)。したがって、ユーザーが設定したガス価格によって、トランザクションがパッケージ化されて実行される速度が決まります。ネットワークが混雑すると、ガス価格の高騰により、ユーザーのトランザクションが長時間確認保留状態になる場合があります。保留中のトランザクションをできるだけ早く送信するために、ユーザーは、トランザクションを高速化するためにガス価格をさらに支払うことを選択できます (注: これは、順番を切るという目的を達成するためにマイナーにより多くの報酬を与えることを意味します)。 加速取引はどのように機能しますか?高速化されたトランザクションのロジックをより詳細に理解するには、別のパラメータである Nonce を理解する必要があります。アカウントによって送信される各トランザクションには、0 から始まる連続したトランザクション番号 (Nonce) が付与されます。転送が開始されるたびに、アカウントの Nonce 値は 1 ずつ増加します。 ユーザーがトランザクションを高速化したい場合、Ethereum ウォレットで高速トランザクション オプションを選択できます。この場合、ユーザーはより高いガス料金を支払う必要があります。ユーザーが同意すると、新しいトランザクションを開始するのと同じになり、新しいトランザクションには確認されるトランザクションと同じ Nonce 値が設定されます。 Ethereum ネットワークの規制により、Nonce 値は連続的でジャンプできず、同じアドレスの各トランザクションの Nonce 値を繰り返すことはできないため、マイナーは新しく生成されたトランザクションをパッケージ化します。新しいトランザクションがパッケージ化され確認された後、ガス価格が低い以前のトランザクションは破棄されます。 ユーザーがトランザクションを高速化したくない場合は、トランザクションがまだトランザクション プール内にあり、パッケージ化されていない限り、ユーザーはいつでもトランザクションをキャンセルできます。トランザクションをキャンセルするロジックは、トランザクションを加速するロジックと同じです。ユーザーは、確認するトランザクションと同じ Nonce で、より高い Gas Price でトランザクションを開始しますが、トランザクションの金額は 0 になるため、本質的には、トランザクションをキャンセルするコストは、トランザクションを加速するコストと同じです。 保留中のトランザクションが確認されるまで、後続のすべてのトランザクションは順番に待機する必要があることに注意してください。そのため、待ち時間が長いため、ユーザーは複数のトランザクションを繰り返し開始しないでください。 取引が失敗しました(失敗)BlockBeats は、トランザクションが失敗する最も一般的な理由は、トランザクション ガスが使い果たされた (ガス不足) ことであると判明しました。つまり、このトランザクションの計算の複雑さは、ユーザーが設定したガス制限を超えています。通常、この場合、取引ステータスは失敗と表示され、ガスが使い果たされたことが通知され、支払われたガスは返金されません。 これは不公平だと思うユーザーもいるかもしれませんが、本質的にはマイナーはすでに作業計算を行っていますが、途中でガスがなくなるため、マイナーは諦めて作業を続ける必要があります。ただし、以前の作業に対して支払いが必要なので、以前に支払った Gas 料金は返金されないのは当然でしょう。この場合、ユーザーはトランザクションを再開し、このトランザクションのガス制限を増やすことしかできません。 トランザクションが失敗するもう 1 つのケースは、ユーザーがスマート コントラクトへのトランザクション転送を開始したが、何らかのエラーによってコントラクトが実行されず、トランザクションが Bad Instruction を返す場合です。 たとえば、ユーザーがクラウドファンディング キャンペーンに参加すると、次のようなことが起こる可能性があります。 割り当てがいっぱいです。 または、ユーザーがホワイトリストに登録されていません。 または、ユーザーがトークンなどを過剰にサブスクライブします。 この時点で、ユーザーが設定したガス制限が完全に使い果たされ、最終的にトランザクションが失敗します。 しかし、Ethereum Byzantium ハードフォーク後、新しいオペレータ Reverted (EIP-140) が追加されました。契約でエラーが発生し、トランザクションが失敗した場合、トランザクションはガス制限によって設定されたガスをすべて消費しません。契約は実行を停止し、エラーの原因をユーザーに通知しながら、残りのガス料金を返金します。 もちろん、ユーザーのウォレット内のETHの量がガス料金を支払うのに十分でない場合、取引は失敗したと判断されます。 ホットスポットがない場合、Ethereum ネットワークは平和であり、時間や量を含むすべての転送コストは制御可能です。しかし、トレンドが到来すると、誰もがネットワーク内でさまざまな問題に遭遇することになります。ガス料金のロジックは、新規ユーザーがウォレットを使用する上で最大の障害となります。 基本的に、この記事ではガス料金に関して発生する可能性のあるすべての問題を取り上げます。オンチェーントランザクションは複雑ではありません。簡単に言えば、操作に問題がある場合は、お金を追加することで解決できます。 現時点では、イーサリアムの流動性マイニングの熱狂は一時的に終焉を迎えたと言えます。この動きはバブルを生み出しただけでなく、ウォレットの使用に慣れたユーザーも増え、ウォレットはついに高頻度に使用されるツールとなりました。 オンチェーントランザクションで発生する問題は、実際にはウォレットの最適化の余地も生み出しています。新規ユーザー向けの「ワンクリック加速」や「ワンクリックキャンセル」などのサービスは、今後ますます多くのウォレットで見られるようになるかもしれません。 |
<<: 「ポルカドットって何?」誰でも理解できるポルカドットに関する科学記事
>>: DeFi 契約監査の「ルーチン」を振り返ってみると、あなたは罠に陥っていませんか?
音楽業界の「情報の非対称性」をどう解決するか?イモージェン・ヒープのアイデアは、ミュージシャンの作品...
「ビットコインは今いくらですか?」 5月11日、ハオミンはインターネット金融業界関係者が中心のWe...
写真は米国で正式に認められたビットコインです。写真/ロイタークリエイティブとF-Siliconの月間...
12月20日、Lieyun Finance主催の「2019デジタルマイニングサミットフォーラム」が深...
元のタイトル: 「OKLink があなたをタップします | Ethereum 2.0 が近づいていま...
「香港証券先物取引委員会が6月1日に個人投資家による暗号通貨の取引を許可する」という噂が本日正式に...
2021年12月31日、マスク氏はネットユーザーからの質問に答え、「マクロ経済を予測するのは難しい...
2017年7月17日、国内の有名なビットコイン情報サイトであるBitBangは全面的なアップグレード...
ビットコインは分散型であるため、従来の銀行や決済システムから独立しています。この理由から、ウィキリー...
エルサルバドルがビットコインを通貨として採用してから1年が経ちましたが、状況は良くありませんサンサル...
最近、コンピューターや関連製品・サービスの開発、販売、修理、サポートで知られるアメリカのテクノロジー...
現状では、ビットコインは、企業の収益増加とPOS端末に支払う取引手数料の削減を支援する能力を備え、ユ...
Chain Newsによると、テスラの第2四半期の財務報告によると、テスラは第2四半期に新たなビッ...
市場が徐々に回復するにつれて、多くの新規参入者が市場に参入してきました。前回は、K ラインに関する基...
ビットコインは土曜日に5万7000ドル超から5万4000ドルに「暴落」した後、初めて5万8000ドル...