@@ -3,8 +3,8 @@ simd: '0110'
3
3
title : Exponential fee for write lock accounts
4
4
authors :
5
5
- Anatoly Yakovenko, Tao Zhu
6
- category : Standard/Meta
7
- type : Core/Networking/Interface/Meta
6
+ category : Standard
7
+ type : Core
8
8
status : Draft
9
9
created : 2024-01-18
10
10
feature : (fill in with feature tracking issues once accepted)
@@ -13,7 +13,7 @@ extends: (optional - fill this in if the SIMD extends the design of a previous
13
13
SIMD)
14
14
---
15
15
16
- ## Summary:
16
+ ## Summary
17
17
18
18
In a permissionless environment with low fees, users often submit transactions
19
19
for opportunistic trades without considering the success probability. Almost
@@ -26,7 +26,7 @@ Exponential Moving Average (EMA) of contentious accounts' CU utilization
26
26
per block and exponentially increasing the cost to write-lock these accounts
27
27
if their utilization remains high.
28
28
29
- ## Motivation:
29
+ ## Motivation
30
30
31
31
The motivation behind this feature is to introduce economic back pressure,
32
32
dissuading DeFi spammers from overwhelming the network. DeFi spam, defined as
@@ -59,7 +59,7 @@ compute-unit at a given condition.
59
59
- * write lock fee* : denominated in ` lamport ` , it is fee dedicated for write
60
60
lock an account, calculated as ` compute-unit-pricer.cost-rate() * transaction.requested_cu() ` .
61
61
62
- ## Design Highlights:
62
+ ## Design Highlights
63
63
64
64
- Account Association with Compute Unit Pricer:
65
65
- Accounts are associated with a * compute unit pricer* , and the * runtime*
@@ -85,7 +85,7 @@ lock an account, calculated as `compute-unit-pricer.cost-rate() * transaction.re
85
85
- Fee required to write-lock an account is calculated by multiplying the
86
86
write-lock * cost rate* by the transaction's requested CU.
87
87
88
- ## Detailed Design:
88
+ ## Detailed Design
89
89
90
90
- Initialization and Inheritance:
91
91
- Bank initializes an empty account_write_lock_fee_cache, an LRU Cache of
@@ -111,7 +111,7 @@ lock an account, calculated as `compute-unit-pricer.cost-rate() * transaction.re
111
111
- Collected priority fees are 100% rewarded.
112
112
- Collected signature fees are 50% burnt, 50% rewarded.
113
113
114
- ## Impact:
114
+ ## Impact
115
115
116
116
- Rate of successful CU inclusion in a block is expected to increase, reducing
117
117
failed transactions.
@@ -121,7 +121,7 @@ particularly during congestion.
121
121
heightened fees.
122
122
123
123
124
- ## Other Considerations:
124
+ ## Other Considerations
125
125
126
126
- Users may need new instruction to set a maximum write-lock fee for transaction
127
127
- Consider tooling for wallets/simulators to query "min/max write lock fee."
0 commit comments