長年のPolygonトランザクションの価格設定問題

2022/11/21

要点: Polygonブロックチェーンノードを運用している場合は、gpo.ignorepricetxpool.pricelimit を同じ値に設定すべきです。Polygonでは30 Gweiを推奨しています。先週、多くの人気ノードプロバイダーがこれらのパラメータを一致させていないことが分かりました。

MultiBaasブロックチェーンミドルウェアの顧客から、一部のPolygonトランザクションが 取引が低価格すぎる エラーで拒否されているとの報告を受けて、デフォルトのPolygonノード構成ファイルから重要な設定値が欠落していることが判明し、多くの人気ブロックチェーンノードプロバイダーに伝播していました。

2021年10月、Polygonは トランザクション検証のための最低ガスチップを30 Gweiに引き上げることを推奨しました。バリデーターやノードプロバイダーは、miner.gasprice (トランザクションのマイニングのための最低ガス価格) と txpool.pricelimit (保留トランザクションプールにトランザクションを許可するための最低ガス価格制限) ノード設定を30 Gweiに設定することを奨励されていましたが、必須ではありませんでした。

しかし、gpo.ignoreprice 構成パラメータも同様に重要です。これはブロックチェーンノード内のガス価格オラクルのための最低トランザクション価格を指定します。ブロックチェーンクライアント(web3ウォレット、DAppsなど)がトランザクションを作成する際、ガス価格が指定されていない場合、ブロックチェーンノードは最近のネットワーク条件に基づいて最も適切なガス価格を自らの内部ガス価格オラクルに照会し、それを未署名のトランザクションに挿入します。

ガス価格オラクルのロジックはここにあります。デフォルト設定では、オラクルは過去20ブロックの内、価格が最も低いトランザクションの60パーセンタイルを返します。言い換えれば、最後の20ブロック内で60トランザクションを考慮します。

最低ガスチップ設定はあくまで推奨であり、必須ではないため、一部のバリデーターは最低推奨価格を下回る価格でブロックにトランザクションを含めています。gpo.ignorepricetxpool.pricelimitと一致しない場合、ガス価格オラクルはノードが提出されたトランザクションに受け入れる価格を下回る価格を返すことがあります。

例えば、ブロック 356124990x1efecb61a2f80aa34d3b9218b564a64d05946290 (Figment) によってマイニングされ、30 Gweiの閾値を下回る効果的なガスチップ価格のトランザクションがいくつか含まれています。以下はそのうちの3つです。

トランザクションハッシュ

TXタイプ

ガスあたりの最大手数料またはガス価格

ガスあたりの最大優先手数料

基本手数料

効果的ガスチップ価格

0x43cd...

レガシー

105 Gwei

-

103 Gwei

2 Gwei

0xc615...

レガシー

106 Gwei

-

103 Gwei

3 Gwei

0x229f...

EIP-1559

107 Gwei

107 Gwei

103 Gwei

4 Gwei

私たちは、4つの人気のPolygonブロックチェーンノードプロバイダーを使用してトランザクションを作成するプログラムを作成し、数時間の間に次のようなケースを観察しました。

これらの結果をまとめると、見つけた5番目のノードプロバイダーとともに以下のようになります。

ブロックチェーンノードプロバイダー

30 Gwei未満のTXを受け入れる

30 Gwei未満の価格を提案する

A

いいえ

はい

B

いいえ

はい

C

いいえ

はい

D

いいえ

はい

E

いいえ

いいえ

F

いいえ

はい

修正は簡単です。Polygonブロックチェーンノードを運用している場合は、gpo.ignorepricetxpool.pricelimit を同じ値に設定すべきです。Polygonは30 Gweiを推奨しています。

影響を受けたPolygonノードプロバイダーには直ちに知らせており、迅速な解決を期待しています。また、Polygonチームにもコンタクトを取り、問題をオープンしました (#62) とプルリクエスト (#63, #586) を開いて、上流のPolygonノード構成ファイルで修正を行いました。

2022年11月24日の更新: 2つのノードプロバイダーが私たちの推奨修正を実施し、2つはまだリクエストを確認中です。

2022年11月26日の更新: Polygonチームは上流のノード構成ファイルで私たちの推奨修正を承認しました。

2022年12月2日の更新: 追加のノードプロバイダーが私たちの推奨修正を実施し、別のノードプロバイダーが来る数日中にリリースを計画しています。