# MOVE言語の最初のGAS設計:Aptosチェーン上のGAS料金計算の解析MOVE言語の前のバージョンは無GASの前提で動作する予定でしたので、GASの設計は行われていませんでした。Aptosがそのブロックチェーンのために設立したGASプランは「冒険」と呼ばれ、これはMOVE言語の最初のGAS設計です。GASの計量はAptosや多くのブロックチェーンの基本概念であり、実行およびオンチェーン取引の保存に必要な計算および保存リソースの量を定義する抽象的な計算です。GASプランは、オンチェーンでのすべての実行の消費コストを定め、取引実行中に使用されるGAS料金を計算するために使用されます。## プロセスAptosオンチェーンのGAS設計プロセスには:1. 原則を定義する2. 評価フレームワークを準備し、各実行の価格を決定します。3. MOVEのためのGAS計測システムと安全なGAS代数を構築する4. アップストリームGASフレームワークをAptosにインポートする5. GASフレームワークにストレージ意識を持たせる6. GASプランをさらに詳細化する## 原則AptosのGAS設計原則には次のものが含まれます:1. 操作コストはネットワークの利用可能なリソースに直接関連しており、技術が改善されるとGASコストはそれに伴って低下するはずです。2. GASはオンチェーンガバナンスによって設定され、シームレスに構成できます3. GASはネットワークの固定リソースに対するDoS攻撃を防止し、ネットワークの状況に応じて迅速に調整する必要があります。4. GAS価格はブロックチェーンを誰もが利用できるようにするというビジョンを反映しています5. 設計において良い選択を奨励する、例えば安全性やモジュール化を優先することなど。## GAS計算ユーザーが取引を提出する際には、2つの数量を指定する必要があります:- GASの最大数:ユーザーがトランザクションを実行するために費やす意思のあるGASユニットの最大数- GAS単価:1オクタル=0.00000001 APTで、GASの1単位のオクタルで計算されます。取引実行中に手数料がかかります:1. 固定コスト: 固定ベースに大口取引の追加費用を加えたもの2. 実行コスト: MOVE命令の実行に使用される3. 読み取りコスト:永続ストレージからデータを読み取る4. 書き込みコスト: データを永続ストレージに書き込む最終取引手数料 = GAS消費量の合計 × GAS単価取引実行中にGASが尽きた場合、送信者は最大GAS量に対して請求され、取引で行われたすべての変更は元に戻されます。## GASプラン表### 基本設定GASプランには、トランザクションのサイズや最大GASユニットなど、単一の操作に関係しないいくつかの構成要素が含まれています。### トランザクション サイズ 最初32KBに設定され、その後コミュニティの要望に応じて64KBに調整されました。非常に大規模な取引はネットワークの帯域幅コストを増加させ、性能に影響を及ぼす可能性があります。最大### GASユニット単一の取引で実行できる操作の最大数を定義し、1,000,000に設定されています。これは取引の実行時間に直接影響し、設定が高すぎるとブロックチェーンのパフォーマンスに悪影響を及ぼす可能性があります。###実行ベンチマークフレームワークとValgrindを使用してMOVE VMを分析し、すべてのMOVE命令とネイティブ関数の相対コストを推定します。システムの堅牢性と安全性を考慮し、最終的に実行されるマシン命令の数を導き出します。### ストレージストレージデバイスの帯域幅、IOPS容量、ディスク占有コストを考慮して、ストレージGASプランを設計します。任意の状態項目へのアクセスとストレージは、ブロックチェーン全体の状態を検証することに関連するコストを生じます。GAS費用の保存 = プロジェクト費用 + (バイト費用 * バイト数)### 読む、作成する、書く- 読み取り操作:最も一般的で、ディスクのIOPSと帯域幅の容量に基づいて料金を調整します- 操作の作成:ステートストレージに新しい項目を追加し、コストが最も高い- 書き込み操作:既存の項目を更新し、更新された項目のバイトに作成と同じ料金を請求します各トランザクションは、同じリソースの複数回の読み取り/書き込みに対して1回の料金のみを支払う必要があります。## 安定したGAS単位コスト各操作や取引自体は、ストレージおよび実行コストに対して固定の単位コストを必要とし、GASプログラムの安定性を保つのに役立ちます。Aptosは約3桁の精度でGAS単位を表し、例えば、送金取引のコストは約700 GAS単位です。## コミュニティ参加Aptosはコミュニティメンバーを奨励します:1. GAS計画の不合理な点を見つける2. コミュニティの議論に参加し、懸念を提起する3. GASに関連するガバナンス提案に投票する## GASコスト調整GASプランはオンチェーンの構成ストレージとして機能し、ガバナンス提案を通じて変更可能です。拡張可能に設計されており、提案によるアップグレードを許可します。特定の複雑な変更には、ノードソフトウェアの更新と大規模な採用が必要になる場合があります。## 今後の取り組みMOVEの最初の実用的なGASフレームワークとして、今後の作業の方向性には以下が含まれます:1. 実行コストを削減する2. 多次元GAS計算を実現し、ユーザーが実行とストレージのために別々の予算を指定できるようにします。3. 膨張状態の問題を緩和し、各プロジェクトのTTLコンセプトを探る
Aptos Chain GAS設計解析:最初のMOVE言語GASプランの詳細な説明
MOVE言語の最初のGAS設計:Aptosチェーン上のGAS料金計算の解析
MOVE言語の前のバージョンは無GASの前提で動作する予定でしたので、GASの設計は行われていませんでした。Aptosがそのブロックチェーンのために設立したGASプランは「冒険」と呼ばれ、これはMOVE言語の最初のGAS設計です。
GASの計量はAptosや多くのブロックチェーンの基本概念であり、実行およびオンチェーン取引の保存に必要な計算および保存リソースの量を定義する抽象的な計算です。GASプランは、オンチェーンでのすべての実行の消費コストを定め、取引実行中に使用されるGAS料金を計算するために使用されます。
プロセス
AptosオンチェーンのGAS設計プロセスには:
原則
AptosのGAS設計原則には次のものが含まれます:
GAS計算
ユーザーが取引を提出する際には、2つの数量を指定する必要があります:
取引実行中に手数料がかかります:
最終取引手数料 = GAS消費量の合計 × GAS単価
取引実行中にGASが尽きた場合、送信者は最大GAS量に対して請求され、取引で行われたすべての変更は元に戻されます。
GASプラン表
基本設定
GASプランには、トランザクションのサイズや最大GASユニットなど、単一の操作に関係しないいくつかの構成要素が含まれています。
トランザクション サイズ
最初32KBに設定され、その後コミュニティの要望に応じて64KBに調整されました。非常に大規模な取引はネットワークの帯域幅コストを増加させ、性能に影響を及ぼす可能性があります。
最大### GASユニット
単一の取引で実行できる操作の最大数を定義し、1,000,000に設定されています。これは取引の実行時間に直接影響し、設定が高すぎるとブロックチェーンのパフォーマンスに悪影響を及ぼす可能性があります。
###実行
ベンチマークフレームワークとValgrindを使用してMOVE VMを分析し、すべてのMOVE命令とネイティブ関数の相対コストを推定します。システムの堅牢性と安全性を考慮し、最終的に実行されるマシン命令の数を導き出します。
ストレージ
ストレージデバイスの帯域幅、IOPS容量、ディスク占有コストを考慮して、ストレージGASプランを設計します。任意の状態項目へのアクセスとストレージは、ブロックチェーン全体の状態を検証することに関連するコストを生じます。
GAS費用の保存 = プロジェクト費用 + (バイト費用 * バイト数)
読む、作成する、書く
各トランザクションは、同じリソースの複数回の読み取り/書き込みに対して1回の料金のみを支払う必要があります。
安定したGAS単位コスト
各操作や取引自体は、ストレージおよび実行コストに対して固定の単位コストを必要とし、GASプログラムの安定性を保つのに役立ちます。Aptosは約3桁の精度でGAS単位を表し、例えば、送金取引のコストは約700 GAS単位です。
コミュニティ参加
Aptosはコミュニティメンバーを奨励します:
GASコスト調整
GASプランはオンチェーンの構成ストレージとして機能し、ガバナンス提案を通じて変更可能です。拡張可能に設計されており、提案によるアップグレードを許可します。特定の複雑な変更には、ノードソフトウェアの更新と大規模な採用が必要になる場合があります。
今後の取り組み
MOVEの最初の実用的なGASフレームワークとして、今後の作業の方向性には以下が含まれます: