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消費計算方法について探る
最近、あるブロックチェーンプロジェクトがそのGAS計画を発表しました。MOVE言語の以前のバージョンではGASメカニズムが考慮されていなかったため、これはMOVE言語におけるGAS設計の初めての導入であり、「一度の冒険」と呼ばれています。
このプロジェクトのGAS計画は、GASの原則、プロセス、計算方法、後期調整、コミュニティ参加などの側面を明らかにしています。
GAS計量は多くのブロックチェーンの基本概念であり、計算の実行と取引に必要な計算およびストレージリソースの量を抽象化するために使用されます。GASプランは、オンチェーンでのすべての実行のコストを決定し、取引実行中のGAS消費を計算するために使用されます。
実施フロー
有効に実行するために、このブロックチェーンプロジェクトは以下のステップを採用します:
コアプリンシプル
プロジェクトチームは以下の原則を定義しました:
操作コストは、CPU、メモリ、ネットワーク、ストレージI/O、およびスペースの使用など、ネットワークの利用可能なリソースに直接関連するべきです。技術とプロセスの改善後、GASコストはそれに応じて低下するべきです。
GASはオンチェーンガバナンスによって設定され、柔軟に構成できます。
GASはネットワークの固定資源に対するDoS攻撃を防ぎ、ネットワークの状況に応じてガバナンスの提案を通じて迅速に調整できます。
GAS価格は、加速的な成長とブロックチェーンの普及性を維持するビジョンを反映しています。
設計において優れた選択を奨励し、安全性、モジュール化、アサーションなどを優先すること。
GASの計算方法
ユーザーが取引を提出する際に、2つの数量を指定する必要があります:
最大GAS数量:GASの単位で測定され、ユーザーが取引を実行するために支払う最大GAS単位数を示します。
GAS単価:1オクタル=0.00000001 APTで、1単位のGASのオクタルで計算します。
取引実行中に次の料金が発生します:
最終取引手数料 = 消費されたGASの合計量×GAS単価
例えば、取引は670 GASユニットを消費し、ユーザーが指定したGAS単価は100 Octa/ユニットであるため、最終的な費用は670 × 100 = 67000 Octa = 0.00067 APT。
取引の実行中にGASが尽きた場合、送信者は最大GAS量に基づいて料金が請求され、取引所の変更は取り消されます。
GASスケジュールの構築
GASプランには、トランザクションサイズや最大GAS単位など、個々の操作の詳細とは無関係な構成要素が含まれています。
ほとんどの取引サイズはキロバイトレベルです。MOVEモジュールのリリースは数千バイトに達し、フレームは約100 KBです。ユーザーモジュールは通常4KBから40KBの間です。初期取引サイズは32KBに設定され、その後コミュニティのフィードバックに基づいて64KBに調整されました。
大規模な取引はネットワークの帯域幅コストを引き上げ、パフォーマンスに影響を与える可能性があります。プロジェクトは最大規模の取引サイズとアクセス可能性の間でバランスを求めています。
3.最大GAS単位
GASプランにおける最大GAS単位は、取引で実行可能な最大操作量を定義します。設定が高すぎると、パフォーマンスに悪影響を及ぼす可能性があります。経験則では、最大フレームアップグレードを行っても、設定された最大値(1,000,000)の90%には達しません。
チームはベンチマークフレームワークを構築し、Valgrindを使用してMOVE VMを分析し、すべてのMOVE命令とネイティブ関数の相対コストを推定します。システムの堅牢性とセキュリティを考慮した後、最終的に実行される機械命令の数を導き出します。
GASのストレージ計画は、データアクセスの瞬時の希少性と永久的なディスク占有コストを考慮しています。状態項目へのアクセスとストレージは、ブロックチェーンの状態データ構造の検証に関連するコストを生じさせます。
ストレージGAS費 = プロジェクト費 + (バイト費 × バイト数)
読み取り、作成、および書き込み操作
ステータス項目のアクセスは、読み取り、作成、または書き込みの3種類に分かれています。
各取引は、同じリソースの複数回の読み書きに対して、1回の手数料を支払うだけで済みます。
安定したGAS単位コスト
固定のGAS単位コストはGASプランを一定に保ち、トークン市場価値から切り離すのに役立ちます。プロジェクトは約3桁の精度でGAS単位を表示し、送金取引コストは約700のGAS単位となります。
コミュニティ参加
コミュニティプロジェクトとして、メンバーは:
GASコスト調整
GASプランはオンチェーン設定ストレージとして、ガバナンス提案によって変更可能です。設計はスケーラビリティを持ち、ガバナンス提案によるアップグレードを許可します。時間の経過とともに、GASパラメータはユーザーフィードバックに基づいて調整可能です。
複雑なGAS公式の変更にはノードソフトウェアの更新が必要であり、大規模な採用後にガバナンス提案を通じて新しいバージョンの使用が承認されます。
今後の展望
MOVEの初の実用的なGASフレームワークとして、このプロジェクトは将来の作業の基盤を築きます:
実行コストの削減:コンパイラと仮想マシンの効率を改善することによって。
多次元GAS計算:ユーザーが実行とストレージのために個別の予算を指定でき、より細かい最大GAS価格の定義を実現します。
状態膨張の緩和:各プロジェクトのTTL概念を探求し、TTLが期限切れの際に未アクセスの状態項目を削除します。
この革新的なGAS設計はMOVE言語エコシステムに新たな可能性を開き、将来的にはさらに最適化され、洗練されることが期待されています。