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