Per terminare l'analisi tecnica di questo thread, mi sono chiesto come riempire al meglio i blocchi
con un loop di questo genere e mi sono reso conto che visto che il blocco ha un limite di 15.000.000 di gas
(variabile dopo London ma non e' un problema)
se facciamo 15.000.000 * costo gas supponiamo 50 gwei = 0.75 ethereum.
se aggiungo una percentuale diciamo del 10% viene 0.85 eth.
In pratica cosa sucede ? ad un costo di poco meno di un eth creo una transazione che
1) viene scelta dai miner perche' pago piu' di tutti in termine di gas.
2) riempie tutto il blocco perche' cosuma tutti i 15.000.000 gas che un blocco puo' al massimo contenere,
quindi non c'e' spazio per altre transazioni.
Alla fine, basta uno qualsiasi dei miei loop deathstar (senza neppure impazzire tanto sulle performance del loop)
con questo limite di gas da spendere. ad un prezzo leggermente piu' alto del mercato della fee in gwei.
Detto ancora piu' semplicisticamente:
A poco meno di un ETH mi compro un blocco. e quindi circa 15
secondi del tempo di ethereum.
Molto meglio di quanto avevo inizialmente pensato!!! con 1.000 ethereum mi compro 15.000 secondi, ossia 250 minuti, ossia piu' di 4 ore.
Ad oggi non esistono rimedi contro questo attacco.
E questa e' anche la dimostrazione con prove che NON c'e' nessuno che vuol fare questo tipo di attacco,
altrimenti l'avrebbero gia' fatto, visto che e' ben documentato.
Viene solo usato sporadicamente come trucco, ad esempio per vincere a qualche gioco, se la posta in gioco ne vale la pena,
o magari per imbrogliare o ritardare qualche speculazione... ma
mai sistematicamente per affossare la rete.
https://medium.com/hackernoon/the-anatomy-of-a-block-stuffing-attack-a488698732aehttps://dl.acm.org/doi/fullHtml/10.1145/33911953.3.3 DoS with Block Stuffing (V31
). This vulnerability was first observed from the Fomo3D contract [23].
The vulnerability entails only the attacker's transactions being included in the newly mined blocks
while others are abandoned by miners for a period of time. This can happen when the attacker offers a higher
gasPrice to incentivize the miners to select the attacker's transactions. This vulnerability is caused by the greedy
mining incentive mechanism. At the moment of writing, there is no solution to prevent this vulnerability.