EIP-5081
Expirable Transaction
First Feedback Requested
Zainan Victor Zhou (xinbenlv@github)
2022-05-13 for Ethereum Core Devs Meeting
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)
General Proposal
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)
Problem: Potential Denial of Service Attack
Need to be solved in network level
Attacker
Send a TX called “TXa” w/
soon to expire_by
propagate through network but expired
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)
Question 1: is it really a problem?
| Expire or not? | |
Node received TXa | blocknum > expire_by | Executable, attacker risk costs fees, the further it propagate, the more hashrate the TX is being mined, the higher cost to attacker |
blocknum <= expire_by | Not executable, not propagatable | |
Node not received TXa | blocknum > expire_by | Not aware of TXa, not affected |
blocknum <= expire_by | Expired, will be dropped if received as if there are other invalid TX |
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)
Solution proposals (suggestion but not requirement)
Network layer solutions
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)
Question 2: Are nodes incentivised to adopt a counter-DoS approach?
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)
Question 3: Is TX propagation incentivized?
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)
Question 3: Worst Case:
What happen if we have compromised / adversary node?
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)
Q4: Example of other DoS-able TXs?
TX1: Account0 send 1ETH to Account1�TX2: Account2 send 0.5ETH with gas fee 0.5ETH to Acct0
Before TX1, the TX2 has no chance to execute, nor does TX2 can incur any cost but since TX2 still has a chance to execute when TX1, is a normal node incentivized to maintain the TX2 in its mempool?
If so, an adversary node can launch DoS attack by issuing many TX2 type of transactions from empty accounts?
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)
Q4: (Continued) Example of other DoS-able TXs?
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)
“Unless noted otherwise, implementations must not disconnect peers for sending invalid transactions, and should simply discard them instead. This is because the peer might be operating under slightly different validation rules.”
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)
Q5 Can we leave the DoS to be solved at Network layer?
Miners running mining cluster are naturally incentivized to
So we assume that miner has incentive to adopt DoS implementations
And it should also be up-to-them to find the optimal solutions
EIP-5081 Expirable Transaction, Zainan Victor Zhou (xinbenlv@)