This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
MOVE言語初のGASメカニズム:オンチェーンリソース課金プランの全解析
MOVE言語の最初のGAS設計:オンチェーンGASコストの計算方法の解析
MOVE言語の初期バージョンは、GASのない環境で動作することを計画していたため、GASメカニズムに対する準備がされていませんでした。最近、ある公链チームがそのブロックチェーンのためにMOVE言語の最初のGASソリューションを設計しました。これは"冒険"の試みと呼ばれています。
このGASプランでは、策定チームが設計原則、実施プロセス、GAS計算方法、今後の調整メカニズムを説明し、コミュニティからの提案を歓迎すると述べています。
GAS計量は多くのブロックチェーンの基本概念であり、抽象的にチェーン上の取引を実行し、保存するために必要な計算および保存リソースの量を定義します。GASスキームは、チェーン上のすべての実行操作のコストを決定し、取引実行中のGAS消費を計算するために使用されます。
実施プロセス
効果的に実行するために、オンチェーンのプロセスには次のものが含まれます:
デザイン原則
操作コストは、ネットワークの利用可能なリソース(CPU、メモリ、ネットワーク、ストレージI/O、スペース使用など)と直接関連しているべきです。技術とプロセスの改善に伴い、GASコストはそれに応じて低下するべきです。
GASはオンチェーンガバナンスによって設定され、シームレスに構成可能です。
GASはネットワークの固定リソースに対するDoS攻撃を防ぎ、ネットワークの状況に応じて迅速にガバナンスを通じて調整できます。
GAS価格は、加速成長とブロックチェーンの普及を維持するビジョンを反映すべきである。
デザインにおいて優れた選択を促進すること、例えば安全性、モジュール化、アサーションなどを優先的に考慮すること。
GASの計算方法
ユーザーが取引を提出する際には、2つの数値を指定する必要があります:
取引実行中に次の料金が発生します:
最終取引手数料 = 消費されたGASの合計量×GAS単価
例えば、1回の取引で670 GASユニットが消費され、ユーザーが指定したGAS単価が100 Octa/ユニットの場合、最終的な費用は670 × 100 = 67000 Octa = 0.00067ネイティブトークンです。
取引実行中にGASが尽きた場合、送信者は最大GAS量に従って料金が請求され、すべての変更が取り消されます。
GASプランの詳細
GAS方案には、取引サイズや最大GASユニットなど、単一の操作に関係しないいくつかの構成要素が含まれています。
ほとんどの取引規模はキロバイトレベルです。Moveモジュールのリリースは数キロバイトに達する可能性があり、あるフレームワークは約100KBです。ユーザーモジュールは通常4KBから40KBの間です。初期取引規模は32KBに設定され、その後コミュニティのフィードバックに基づいて64KBに調整され、アプリケーション開発を簡素化しました。
過大な取引はネットワーク帯域幅コストを増加させ、パフォーマンスに影響を及ぼす可能性があります。スケールとアクセシビリティのバランスを取るために、メモリプールは過大な取引を無視することがあります。
3.最大GAS単位
GASプランにおける最大GAS単位は、単一の取引で実行できる最大操作数を定義します。これはユーザーが指定する最大GAS量とは異なります。過剰に設定すると、無限ループなどのパフォーマンスの問題が発生する可能性があります。現在、最大規模のフレームワークアップグレードを行っても、最大GAS単位(1,000,000に設定)を使用しているのは90%未満です。
チームはベンチマークフレームワークとValgrind分析ツールを使用して実行コストを評価し、MOVE命令とネイティブ関数の相対コストを導き出しました。システムの堅牢性と安全性を高めるコーディングの例を考慮することで、最終的な実行の機械命令の数を特定しました。
ストレージGASプランは、データアクセスの帯域幅、IOPS容量、および永続ストレージコストを考慮しています。任意の状態項目へのアクセスには、ブロックチェーンの状態に関連するコストが伴います。ストレージGAS料金の計算式は次のとおりです:
GAS費の保存 = プロジェクト費 + (バイト費 × バイト数)
ストレージ関連コストは、各トランザクションの評価に基づいており、同じリソースを複数回読み書きしても、料金は一度だけ請求されます。
コミュニティ参加
コミュニティプロジェクトとして、メンバーは:
GASコスト調整
GAS方案はオンチェーンの構成ストレージとして、ガバナンス提案を通じて変更可能です。これは拡張可能として設計されており、ガバナンスによるアップグレードを許可します。技術の進歩とユーザーのフィードバックに伴い、GASパラメータは時間とともに調整可能です。
複雑なGASの公式変更には、ノードソフトウェアの更新が必要であり、新しいGASの特徴フラグによって区別される可能性があります。これには、ノードオペレーターが新しいバージョンを広く採用し、ガバナンス提案を通じて使用を承認することが必要です。
働き方の未来
MOVE言語の最初のGASフレームワークとして、この設計は将来の作業の基盤を築きました:
実行コストの削減:コンパイラと仮想マシンの効率を改善することによって。
多次元GAS計算:ユーザーが実行とストレージのために個別の予算を指定できるようにし、より細かい最大GAS価格の定義を実現します。
ステート膨張の緩和:各プロジェクトのTTL概念を探求し、TTLが期限切れの際に未アクセスのステートアイテムを自動的に削除して、開発者にオンチェーンデータのクリーンアップを促す。