Gas と リソース
ガスとは
ガスは、ブロックチェーン上でトランザクションを実行する際に使われるリソースの概念的な目安となります。ガスコストは、ネットワーク上でのトランザクションの実行プロセスにて消費されるガスの合計値のことです。トランザクションを実行する際にバリデータが提供する計算処理の合計量と、直接相関しています。
ガスの手数料は、トランザクションが成功したかどうかに関係なく、ネットワーク上にて消費されます。トランザクションが失敗したとしても、デプロイがリソースを消費しバリデータがあなたの代わりに実行を試みたブロック上のスペースに対して手数料を支払うことになります。ネットワークの構築次第でトランザクション手数料の返金が可能であったり出来なかったりします。
ガスコストはどの様に決まるのか?
トランザクションに必要なガスの合計は、ブロックチェーン上でどれだけのコードが実行されたかによって決定されます。現行では、ガスの価格は、1ガス単位が1モーツ(mote)で固定となっています。1モーツは、1×10^9 CSPRトークンと定義されています。
コストはネットワークの current_gas_price を乗算となり、動的かつ現時点でのネットワークの仕様に基づいています。ブロックの高利用率は,、スウィッチブロックにて current_gas_price の乗算を増やし、低い利用率は乗算を減らします。最小と最大両方の乗算値が設けられており、Casperネットワークのchainspec に設定されている動的ガス価格に関係しています。
ガスコストは何故必要なのか?
Casperは、ネットワークを活発な状態に保つための計算処理リソースを供給する、個々のバリデータによって支えられている分散型ネットワークです。この様に、計算処理にはレート制限が設けられ、下記理由によって価格がつけられています。
- レート制限は、ネットワークの活発性と安定性の為に適用されています。
- DoS(サービス不能攻撃)の抑止となります。コンピューターネットワークでは、Dos攻撃を防ぐ為に、ネットワークに送受信されたリクエストのレートをレート制限にてコントロールします。ガスはこれに似た働きをするのですが、それは、eraに追加されるのは、トランザクション(ガス)の合計が固定されたものだけが、各ブロックに許可されるからです。
- システムへの負荷を明示的に数値化します。ガスコストは、計算処理リソースの使用量の評価と、各トランザクションに対してバリデータが行う計算処理の合計値の計測に役立ちます。この知識を持って、バリデータに必要となる最低限のシステムを把握できるのです。
- 価格設定は、トランザクションをより意味のあるものにします。
- トランザクションの発行者とスマートコントラクトの作成者の方が、ネットワークリソースの制限に気が付くのではないでしょうか。なぜなら、トランザクション毎のコストが存在するからです。価格設定によって、ユーザーが空のトランザクションを任意の合計額でスパムしてしまわないように防げます。それは、デプロイ毎に支払い額が設定されるからです。.