this post was submitted on 06 Jan 2024
359 points (95.4% liked)
Programmer Humor
19623 readers
5 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I think I just fundamentally disagree with the system then. I don't think that the user should be completely responsible for being hacked. The 2FA wallets like metamask still seem to be "hosted" on the computer, so after the user types in the 2FA the private key is exposed. Basically too much complication.
Also the cost for using that tech is also a problem, otherwise the blockchain? size will become too large. But beyond that my knowledge is limited. I guess we just disagree on the fundamentals.
Metamask isn't really a 2FA wallet, it's what's called a hot wallet (yes, something where the private key is exposed). It's really dumb to keep a lot of funds on there, since anything goes wrong and everything is gone.
That's what: a) hardware wallets are for - the private key is stored on a dedicated device (in a secure element), which it never leaves. The only thing going in are "messages" and the only thing going out are said messages signed with the private key. So a super small attack surface.
They're sometimes still vulnerable but you usually have to have insane tooling and physical access to the device, the ones that most people use though (Ledger) are not.
b) multisigs - a virtual wallet which requires X out of Y signers to execute a transaction. It's a very safe solution for long term storage. You could have, for example, 2 hardware wallets set up as signers, while keeping at least one of the wallets in a bank safe (or another safe location). The surface for attacking the multisig is near non-existent at that point.
Sure, it's inconvenient, but it's a trade-off.
Very much depends on what you're using. There are "layers 2s" running on top of Ethereum, which "work" the same as Ethereum does (from the point of the user) but cost cents or tens of cents to use per transaction (compared to dollars to tens of dollars for transactions on Eth).
So don't agree with cost being a problem.
Btc is growing at the rate of ~2mb/10 minutes (very roughly), the chain uses up around 550GBs after 15 years, which is honestly nothing, especially at the rate that storage costs are going down.
Ethereum is quite a bit bigger, at over a terabyte (when you use geth, but think other clients have brought it down a bit), but that's still very easily manageable.
The devs are also working on size-reduction stuff like state expiry and others, but I'm not too well informed on that.
Hope that addresses your concerns.
Btw thanks for having a conversation and trying to learn, I don't care if you agree or disagree, I just don't want people to blindly hate something I care about without understanding it.
No problem, I see that the systems have developed and thanks for the explanations. Mainly my issue is user incompetency, which is a problem that has to be fixed. Less of a technical limitation, but more "software political". You shouldn't need to know anything about security practices to be safe IMO. The exact issue is also with Linux desktop.
In terms of the chain sizes, I doubt the growth would be that small if it had actual use. When also talking about integrating cryptos into a proper currency, the loss of coins, deaths of users, corrupted disks need to be taken into account. There needs to be some inflation on a coin for it to work in an economy, but I'm not too familiar with economics. Scalability is always an issue that pops up too, but I don't know much about it.
I get you responded to these already. Just more of a summary!
For sure, it's an uphill battle against never ending stupidity, but that's not exclusive to crypto haha. I'm sure we'll get there sooner or later though
You'd be surprised.
Bitcoin's chain size is "only" 500GB because it's pretty much enforced by the block size limit (which is 2MB). The amount of use does not affect the growth (unless it's below the 2MB, which it hasn't been for a whiiile).
For Ethereum, the "fullnode" only requires a bit over a terabyte because only the latest state is stored (combined with all historical transactions). If you wanted to query old state, you'd need an archive node which holds the state of each block that's ever happened. Archive nodes are up to 10TB afaik at this point, which is a good chunk of data if you ask me ;)
The nice thing is though that you can build an archive node out of a fullnode, by replaying all the transactions that make the history of the whole chain.
You also have to keep in mind that every storage operation is very expensive to do (precisely to prevent huge increases in chain size), which means that people will spend a huuge amount of time optimizing their applications to use the least amount of space possible (thus reducing cost for their users). So that's probably why the chain size might seem "small" to you.
There are chains though which do not enforce such strict limits on space usage, like Solana, which is apparently at over 100TB now.