You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
But it doesn't mean we found all potential places that should influence min_fee.
The purpose of this issue is to create a more accurate transaction costing model by identifying and addressing areas where costs are not adequately captured, thus minimizing risks such as liveness failures, unsynchronizable nodes, and unanticipated DA expenses.
Implementation details
The idea is to create a fuzzing test/util that fills random fields of the transaction and produces a valid Checked<Tx>.
The min_fee represents our expectation regarding how long it takes to validate the transaction. We can translate gas into execution time, and if the creation of Checked<Tx> takes more than expected time, then it means we undercharge for some fields.
Note
The creation of the fuzzing tool was started at #1156. So it can be used as a good base.
Creating the fuzzing tool and identifying problematic fields are two different tasks. But because the correctness of the tool can be verified only during its usage this issue describes both tasks. But if we are confident enough in the tool, we can split this issue into two and start work on the usage of the fuzzing tool as a separate step/PR.
The text was updated successfully, but these errors were encountered:
xgreenx
changed the title
Create a benchmark for Checked<Tx> verification costing
Create a fuzzing tool for Checked<Tx> verification costing
Oct 12, 2023
Overview
After an analytic analysis of the codebase, we figured out the heaviest operation during transaction verification.
But it doesn't mean we found all potential places that should influence
min_fee
.The purpose of this issue is to create a more accurate transaction costing model by identifying and addressing areas where costs are not adequately captured, thus minimizing risks such as liveness failures, unsynchronizable nodes, and unanticipated DA expenses.
Implementation details
The idea is to create a fuzzing test/util that fills random fields of the transaction and produces a valid
Checked<Tx>
.The
min_fee
represents our expectation regarding how long it takes to validate the transaction. We can translate gas into execution time, and if the creation ofChecked<Tx>
takes more than expected time, then it means we undercharge for some fields.Note
The creation of the fuzzing tool was started at #1156. So it can be used as a good base.
Creating the fuzzing tool and identifying problematic fields are two different tasks. But because the correctness of the tool can be verified only during its usage this issue describes both tasks. But if we are confident enough in the tool, we can split this issue into two and start work on the usage of the fuzzing tool as a separate step/PR.
The text was updated successfully, but these errors were encountered: