Replies: 1 comment
-
This is a great improvement for gas price predictability. No more wasted CSPR due to providing excess gas values to avoid failure. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Background
The Casper protocol performs execution after consensus. This is a very different approach from other L1's in the space. As with all design decisions - it comes with trade offs. One of the benefits is that it makes it difficult for honest validators to choose which deploys to propose in a block - because there is no workflow where a deploy’s effects are included in a block (no pre-execution of deploys prior to inclusion in a block).
In Casper, only the hashes of deploys are included in the block.
The flip side is that it is also impossible to know how much a transaction actually costs before including it in a block. The speculative execution endpoint released as part of 1.5.2 strives to remediate this problem as well.
The payment amount in a deploy represents what the sender is willing to pay to complete the transaction. The protocol will take 100% of these funds and, once the deploy is included in a finalized block, give these funds to the block proposer.
The reason the protocol did not refund gas was to prevent block stuffing attacks.
Recently, developers of projects on Casper have requested that unspent gas be refunded. The team at Casper Labs embarked on some research and analysis to determine if a reasonable percentage was possible.
Full refunds will make a block stuffing attack very feasible, but withholding 1% of the payment amount significantly increases the security - making block stuffing expensive enough to deter attacks.
Proposed Change
With the Casper Peregrine upgrade, the protocol will refund 99% of unspent gas fees.
Beta Was this translation helpful? Give feedback.
All reactions