コンテンツへスキップ
0%

ガス最適化トランザクションとは?

Alchemy team headshot

執筆者 Alchemy

2023年3月7日 公開読了時間 1 分

Gas Optimized Transactionsは、ブロックチェーントランザクションを送信するユーザー、特に単一アドレスから大量のトランザクションを送信するユーザーにとって強力なソリューションです。

こうしたユーザーによくある厄介なワークフローとして、未マイニングのトランザクションが大量に滞留してしまう問題があります。これは決まって、ガス値が低く設定された1つのトランザクションが原因です。未マイニングトランザクションの滞留は、ネットワーク混雑によるガス価格のボラティリティが発生している時に起こりやすくなります。

この記事では、以下の内容を取り上げます。

  • トランザクションのライフサイクル
  • ガス価格のボラティリティという問題
  • Gas Optimized Transactions
  • Gas Optimized Transactionsがガスのボラティリティ問題をどのように解決するか
  • Gas Optimized TransactionsとReinforced Transactionsの連携方法
  • Gas Optimized Transactionsの利用開始方法
  • Gas Optimized Transactionsに対応しているブロックチェーン

トランザクションのライフサイクルとは

トランザクションのライフサイクルは、以下の4つの段階を順に経ます。

  1. Create(作成) - 特定のガス価格でトランザクションを送信することを決める
  2. Simulate(シミュレーション) - トランザクションを送信した場合の挙動を事前に確認する
  3. Send(送信) - オンチェーンで実行させるためにトランザクションを送信する
  4. Monitor(モニタリング) - トランザクションが成功したことを確認するため通知を追跡する

Alchemy Transactは、web3トランザクションのライフサイクル全体を通じて改善を提供する、より速く、より安く、より安全なトランザクションを実現する一連のプロダクト群です。

Alchemyの Gas Optimized Transactions は、web3トランザクションライフサイクルの「Create」フェーズを改善するツールです。ユーザーはこれにより、ガス支出を効果的に最小化しつつ、負の連鎖効果を引き起こすトランザクション失敗のリスクを低減するスマートなガス最適化システムを利用できます。

ブロックチェーントランザクションの送信において、なぜガス価格のボラティリティが問題になるのか

開発者やユーザーは、ブロックチェーントランザクションのリクエストに必要以上のコストをかけています。この原因として、ガス価格の見積もりの誤りやネットワーク混雑が挙げられます。

1. ガス価格の見積もりが不正確または誤っている

EIP-1559では、ベースフィーの変動幅がブロックごとに12.5%までに制限されています。また任意で、トランザクションがマイニングされるために支払う意思のある最大価格(ベースフィー+プライオリティフィー)を示す「max fee」フィールドを設定できます。

ベースフィーの変動には上限がある一方で、プライオリティフィーは任意に設定できます。つまり、本来であれば妥当な価格で送信できたはずのトランザクションでも、必要なブロック手数料が膨らんでしまい、トランザクションがメンプール内で滞留してしまうことがあります。このような場合、ユーザーはトランザクションを再送するか、手数料が下がるまで待つ必要があります(ただし、その頃にはトランザクションがメンプールから削除されている可能性もあります)。

この滞留したトランザクションは連鎖効果を引き起こし、未マイニングのトランザクションが積み重なり、トランザクション処理時間の長い遅延につながります。これは、大量のトランザクションを送信するチームにとって特に問題となります。

2. ネットワークの混雑

トランザクションの実行コストは、その時点のネットワークのガス価格によって決まります。ネットワークの混雑が激しい期間は、ガス価格が急騰し、トランザクションが滞留する原因となります。

Gas Optimized Transactionsとは

Gas Optimized Transactionsは、web3トランザクションがオンチェーンで確実にマイニングされるようにしながら、ガス値を最適化する仕組みを提供する一連のAPIエンドポイントです。

オンチェーンでマイニングされるトランザクションを送信する際の典型的なワークフローは、そのトランザクションがマイニングされるために支払う意思のあるガス量を表す単一のガス値を持つ、単一のトランザクションを送信するというものです。

Gas Optimized Transactionsを使うと、開発者は1つのトランザクションに対して幅広いガス値の範囲を設定できるようになり、単一のガス値を正確に見積もる必要がなくなります。

Gas Optimized Transactionsでは、単一のガス値を送信する代わりに、ユーザーは異なるガス値を持つ同一トランザクションの複数バージョンを、すべて同じnonceで送信します。

その後、システムがその時点のネットワーク状況に適したトランザクションを選択し、必要に応じてより高いガスレベルへと引き上げながら、トランザクションがマイニングされるようにします。

Gas Optimized Transactionsは、以下を実現するのに役立ちます。

  • 最も安いガス価格を保証しつつ、トランザクションが確実にマイニングされること
  • トランザクションの長い滞留を回避すること

滞留は、決まってガス価格が低すぎる1つのトランザクションがメンプール内でスタックしてしまうことが原因で発生します。

Gas Optimized Transactionsはどのようにガス価格のボラティリティを解決するのか

開発者は、単一のトランザクションをノードへ直接送信する代わりに、alchemy_sendGasOptimizedTransactionエンドポイントを通じて、署名済みトランザクションのリストをAlchemyへ送信できるようになります。

その裏側で、Alchemyは複数のガスレベルを持つトランザクションを送信し、デフォルトで可能な限り低いガス値のトランザクションが確実にマイニングされるようにします。結局のところ、Gas Optimized Transactionsによって、開発者は1つのトランザクションに対して幅広いガス値を試すことができるようになります。

The Smurfs' Gameの開発者のように、信頼性の高いトランザクションスループットのスピードを気にかける開発者は、ネットワーク混雑が激しい期間であっても、Gas Optimized Transactionsを利用することでマイニングされるトランザクションの保証を改善できます。

Gas Optimized TransactionsとReinforced Transactionsはどのように連携するのか

Gas Optimized Transactionsを利用するには、アプリでReinforced Transactionsを有効化する必要があります。Reinforced Transactionsはコードの変更を一切必要とせず、トランザクションのオンチェーン反映を7.9倍高速化し、信頼性100%を実現します。

この要件は、Gas Optimized TransactionsがReinforcedであることを暗黙的に保証し、それによってより高い信頼性を確保するための仕組みです。

Gas Optimized Transactionsの利用開始方法

Gas Optimized Transactionsは現在ベータ版です。このプロダクトへの早期アクセスをご希望の場合は、こちらのフォームにご記入ください。トランザクション作成時の最適なガス値をめぐる悩みを解消し、その面倒な作業はAlchemyにお任せください。

Gas Optimized Transactionsに対応しているブロックチェーンは?

Gas Optimized Transactionsは、現在以下のブロックチェーンネットワークで対応しています。

  • Ethereum
  • Polygon
  • Optimism
  • Arbitrum
Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。