(Another big problem with Bitcoin at scale is that you can't count it without access to the keys that let you spend it. This makes outside auditing very difficult and helped to enable the Mt. Gox scam. Etherium doesn't address that. Some multi-signature scheme where external parties could determine that an account has funds without the key needed to take them would be useful for a cryptocurrency. But, as Etherium shows, adding complexity adds exploitable bugs.)
That's not remotely true, I'm not sure what gave you that idea. Bitcoin at its core is based around asymmetric encryption, which allows only 1 party to send money but everyone to verify it. By sharing a public key (a bitcoin address) you can see the funds, but can not spend it. In fact, right from the start bitcoin client even included the ability to sign and verify messages from addresses to prove ownership. Right now I could give you the bip44 (public key) of my wallet and you could see every transaction I have received, sent (and all future ones, from that wallet). But you'll have no ability to spend my money. Although I'm not going to do that for the same reason most people won't: privacy.
Anyway, there's been proof of solvency schemes for a long times, it's just most exchanges and services (with a few notable exceptions) haven't seen a business case in implementing it.
So yeah, an exchange like Mt Gox can not prove they own the USD they should own, but can prove they own the bitcoin they claim to own. How is this a problem or limitation of bitcoin again?
I'm not an expert, but I'm pretty sure one could use the private key, without revealing it, to sign a message, for example "%date I, %owner, own the bitcoin in $account".
Then anyone else could check the signature against the public key on the blockchain.
Would that not be enough?
Correct me if I misunderstand, but checking that an account has funds is trivial. It's in the blockchain. Multi-signature transactions are also standard.
Considered by who? The bugs are in the smart contract, not Ethereum itself.
The EVM may be reliable, but the humans that use it are completely unreliable, and it's the humans that form the foundation of any distributed system.
Like a certain programming language's features, it may happen to be easier than not.
You can in addition implement these safety checks to be executed during runtime, but that costs money.
The door lock company is the funniest part of the whole thing. It makes this meltdown so much less surprising tbh.
Somewhat related: the lock in my apartment is actually based on cryptography too. It uses SHA-1, which is somewhat scary, because it's not considered "safe" anymore. The algorithm was probably chosen because it uses less energy compared to safer ones, as the lock gets the energy from the turning of the key.
With Bitcoin, most issues were a result of private organizations misappropriating money or security. But the entire foundation of Ethereum is now considered completely unreliable.