364
When you forget to set a boundary conditions in your logic
(programming.dev)
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.
From scams to just cyber attacks with no safe guards would make everything impossible to handle. There is no bank covering you or insurance. People dying, losing keys etc drive deflation. BTC/Mining coins are destined to die. Maybe there is something there, but it certainly isn't finance.
Inflation is necessary for multiple reasons, but you can read on that yourself. Such as; what would happen if everyone considered holding to money an investment? IMO these facts make Fiat sound so much better...
That's the point.jpg
You're free to hold your crypto on an exchange, you're free to buy a hardware wallet and do your due diligence when confirming transactions, you're free to create a multisig for your coins and tokens to introduce multiple factors for signing.
But it's your choice.
That's on them, it's like stuffing money into a mattress and not telling your family.
Mining's not great for sure, but "destined to die" makes no sense.
That's kinda funny, because in the case of Ethereum, the deflation comes from people using and spending Eth on gas.
I'm also not saying that Ethereum is the perfect currency to replace fiat, the utility there comes from everything that's built on top of it.
Widen your horizon, crypto isn't just a medium for payments.
That is the problem. 1 Fuck up and your money is gone. Whether that is someone else, you, CVE, it's gone and everyone elses in that network.
By death I was wrong; Difficulty wont kill a coin. Though that then has other issues.
I doubt you understand how bad deflation is for a currency, or you are in this for the money?
Hardware wallets are safe, multisigs are safe. You can be safe if you put in the effort. If you don't want to do it, that's your call, doesn't mean the system sucks.
Yeah difficulty is adjusted depending on how many "devices" (simply put) are mining, the target is a specific blocktime.
What's gonna kill bitcoin is the ever decreasing issuance, but that's not the problem of crypto nor mining for that matter, just bitcoin.
Have you skimmed over the point that I think that Ethereum (one of the few sustainably deflating cryptos) isn't just a currency but also a base for other things that may also serve as a currency?
Also, it's not bad for the currency itself, just for the economy around it. And again, I'm not saying Ethereum should replace the dollar.
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.