To τελευταίο attack και το update που "λύνει" το πρόβλημα του ethereum με τα spam attack των τελευταίων ημερών έχουν αποκαλύψει ένα άλλο μεγαλύτερο πρόβλημα που έχει το ethereum blockchain.
Το πρόβλημα είναι ότι αν κάποιος μπορεί να διαθέσει αρκετό χρήμα πολύ περισσότερο από τα 6.000$ την μέρα του σημερινού attack θα μπορέσει να τανκάρει όλο το δίκτυο δλδ θα μπορεί να στρεσάρει τα node του πανεύκολα ώστε να χρειάζονται τεράστια ποσά μνήμης για να μπορούν να συνεχίζουν να πραγματοποιούν τις συναλλαγές τους.
Δείτε εδώ τι είχε γράψει ο author του reddit post το 2014 και πως είχε προβλέψει την σημερινή κατάσταση με το δίκτυο του ethereum
https://www.reddit.com/r/Bitcoin/comments/54k3z3/glad_to_see_my_intuition_being_right_on_ethereum/#ooBut there might be a problem with resource usage... Let's say I own a lot of bitcoins and I do not want Ethereum to exist.
So I'll run multiple high-performance, clustered nodes and use them to process transactions which will consume as much resources as possible. Soon running Ethereum nodes requires 1 TB of RAM.
People say: "What the fuck? Clearly making scripts Turing-complete was a bad idea". And Ethereum is abandoned as a broken project... (Few people can afford to run full nodes, so it is as good as centralized.)
This attack might costs many millions USD, but if that helps to protect my Bitcoin investment, it makes sense.
δύο χρόνια μετά σε μια σχετικά μικρή κλίμακα επίθεσης με όσα είχε προβλέψει ο author έχουμε τα ακόλουθα γεγονότα.
1. September 18, 2016: All geth nodes crash due to an out of memory bug. A specially crafted block makes geth, the most popular Ethereum node software, to request huge amounts of RAM, and thus crash. According to some reports, 85% of all Ethereum nodes are running Geth at the time. All of them were crashing, services (and wallets) which relied on them couldn't function.. "
2. September 22: "Today the network was attacked by a transaction spam attack that repeatedly called the EXTCODESIZE opcode (see trace sample here), thereby creating blocks that take up to ~20-60 seconds to validate due to the ~50,000 disk fetches needed to process the transaction. The result of this was a ~2-3x reduction in the rate of block creation while the attack was taking place; there was NO consensus failure". Ethereum blocks should normally appear each ~15 seconds, but they take ~20-60 seconds to validate. Thus a normal node just couldn't keep up with blocks. Thankfully, miners got slowed down too, so there was "NO consensus failure" this time.
3.September 25: "attacker has changed strategy ... Basically, it's now a quadratic memory complexity attack but using CALL instead of EXTCODESIZE. However because the gas limit is only 1.5m, the effect is lower, so geth nodes are just running more slowly and not crashing outright. "
Αν παρατηρήσατε το μοτίβο των attack τρέχει ανά δύο μέρες. Να δούμε τι αποθέματα έχει ο attacker και τι άλλο θα δοκιμάσει πάνω στο δίκτυο. Το μόνο σίγουρο είναι ότι αυτή την περίοδο και νομίζω για αρκετό καιρό πλέον το ethereum είναι στο μάτι κακόβουλων επιθέσεων.
Στον wild west κόσμο του διαδικτύου αν υπάρχει κάτι που έχει ενδείξεις και προοπτικές για πετυχημένα attack είναι 1000% σίγουρο ότι θα δεινοπαθήσει...