Also this is an active area of development!
The most widely used Ethereum client Geth (Go-Ethereum, because its written in Go) has 3 or 4 modes. a pruned+fast synced node absolutely fitting on any consumer drive. while its archival node with all the prior states of the blockchain (not necessary for consensus) takes 9 terabytes, and is nearly impossible to sync up with without specialized drives and computational resources.
Other clients improve on that. Erigon is also go-based but with a different data structure, it only does archival nodes and takes 2 tb. Rust based ones like Akula and Silkworm also only do archival nodes, and they take 2 tb as well. Roughly 400% improvements in performance, and the same gains are seen in how much space they take.
There is probably more room for improvement as well, such that an archival node is a viable thing to do.