- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1k
 
Open
Labels
DiscussionInitial issue state - proposed but not yet acceptedInitial issue state - proposed but not yet accepted
Description
Summary or problem description
Propose a dynamic charging mechanism for Neo virtual machine when executing transactions, specifically for operations on types such as Buffer, Array, Struct, and Map. The charges should be based on the size (quantity) of data elements within these types, rather than a fixed fee.
Do you have any solution you want to propose?
Implement a dynamic charging mechanism as follows:
- For operations on data types such as Buffer, Array, Struct, and Map, calculate fees based on the number of elements or the size of data they contain.
 - Set a base fee, then increase the fee linearly or in tiers according to the data volume.
 - Different charging standards may need to be established for different types to reflect the computational resources required to process these types.
 
Expected outcomes:
- Users will pay lower fees for operations with small data volumes, improving the economic efficiency of small-scale transactions. (it should be expected that all normal users will pay lower, but attackers will pay his lifesavings.)
 - Fees will increase correspondingly for operations with large data volumes, effectively preventing resource abuse and potential DoS attacks.
 - Enhance network security and stability by increasing the cost of attacks.
 
Where in the software does this update applies to?
- Consensus
 - Ledger
 - VM
 
roman-khimov, edgedlt, AnnaShaleva and dusmart
Metadata
Metadata
Assignees
Labels
DiscussionInitial issue state - proposed but not yet acceptedInitial issue state - proposed but not yet accepted